aboutsummaryrefslogtreecommitdiffstats
path: root/bot/constants.py (unfollow)
Commit message (Collapse)AuthorLines
2021-11-09use pseudo-tty for sir-lancebot serviceGravatar Numerlor-0/+1
This allows the coloredlogs module to automatically detect colour support when running in docker
2021-11-07Fix line after function docstringGravatar Shom770-1/+0
2021-11-07Handle `.wtf` command without query (#939)Gravatar brad90four-1/+13
Co-authored-by: Hedy Li <[email protected]> Co-authored-by: Xithrius <[email protected]>
2021-11-06Change language to language.lower()Gravatar Shom770-2/+4
2021-11-06lowering challenges for compatibility with uppercase languagesGravatar Shom770-1/+1
2021-11-05Limit user reactions on embed paginationGravatar NipaDev-3/+1
* Limit user reactions on embed pagination Limit user reactions to prevent non-author from removing message by adding user restriction to paginator. * Fixed the format of code to single line. Co-authored-by: ChrisJL <[email protected]>
2021-11-05Add option to get specific amount of realpython articlesGravatar NipaDev-3/+13
Add a feature to choice in between 1-5 (inclusive) articles. If value not specified, the default, 5 will be used. Co-authored-by: ChrisJL <[email protected]>
2021-11-01Remove the "what's your skill level topic"Gravatar SavagePastaMan-1/+0
2021-10-29Candy Game: Ignore reactions to bot messages when adding candiesGravatar Hedy Li-0/+5
Check whether a reaction is for a bot message when adding candies upon reactions. Previously you could use bot's reaction buttons which would trigger `on_reaction_add` and have a high chance of getting candies (or skulls). It can easily be abused to spam reactions, which apparently doesn't trigger an auto-mute like spamming messages do, AFAIK. In any case, I don't really feel good about reactions triggering candies. Despite this fix, the game *can* still be abused (but I won't tell you how). Though this occuring by accident is less likely than before. Either figure it out yourself or don't try to cheat :P This patch can be tested using the `.snake antidote` game when you react to the recipe buttons. Using `.help` works too but it produces a lot of noise in the logs. Tic tac toe may be helpful as well. Anyway, you could just react to bot messages yourself.
2021-10-26Migrate to `og_blurple` (#924)Gravatar TizzySaurus-12/+12
2021-10-22CI: only check licenses of dev depsGravatar Matteo Bertucci-2/+4
2021-10-22Precommit: add an isort hookGravatar Matteo Bertucci-0/+5
2021-10-22Isort: give the codebase a sortGravatar Matteo Bertucci-28/+8
2021-10-22Add ISort to our toolchainGravatar Matteo Bertucci-68/+118
2021-10-22Add WTF Python Command (#859)Gravatar brad90four-0/+126
* Add WTF Python Command * Fix grammar in docstrings, remove redundant variable, remove the use of a wrapper * Fix indentation issues and make use of triple quotes * Update docstrings and remove redundant list() * Change minimum certainty to 75. * Make 'make_embed' function a non async function * Try to unload WTFPython Extension if max fetch requests hit i.e. 3 else try to load the extension. * Correct log messages. * Make flake8 happy :D * Remove redundant class attributes and async functions. * Apply requested grammar and style changes. * Fix unload and load extension logic. * Fix typo in `WTF_PYTHON_RAW_URL` * Changed fuzzy_wuzzy to rapidfuzz Since rapidfuzz also has an extractOne method, this should be a straight replacement with the import statement. * Move wtf_python.py to bot/exts/utilities, flake8 Moved the file to the correct location after merge with main, made changes from the last open suggestions from the previous PR, had to make WTF lowercase to pass flake8 on lines 54 and 118. * Fix trailing commas and long lines * # This is a combination of 3 commits. # This is the 1st commit message: Squashing small commits Small changes and fixes -Added "the" to setup docstring -Fixed typo for mis-matched WTF and wtf in get_wtf_python_readme -Fixed ext location -Added more information to fuzzy_match_header docstring regarding the MINIMUM_CERTAINTY and what the score / value represents. Add wildcard to capture unused return Updated MINIMUM_CERTAINTY to 75 Change MINIMUM_CERTAINTY to 50 Squash commits from Bluenix suggestions Fix docstring for fuzzy_match_header Swap if / else for match Fix functools import Rename get_wtf_python_readme to fetch_readme Collapse self.headers into one line Fix docstring for fuzzy_match_header Swap if / else for match # This is the commit message #2: Fix functools import # This is the commit message #3: Rename get_wtf_python_readme to fetch_readme * Squashing commits Squashing small commits Small changes and fixes -Added "the" to setup docstring -Fixed typo for mis-matched WTF and wtf in get_wtf_python_readme -Fixed ext location -Added more information to fuzzy_match_header docstring regarding the MINIMUM_CERTAINTY and what the score / value represents. Add wildcard to capture unused return Updated MINIMUM_CERTAINTY to 75 Change MINIMUM_CERTAINTY to 50 Squash commits from Bluenix suggestions Fix docstring for fuzzy_match_header Swap if / else for match Fix functools import Rename get_wtf_python_readme to fetch_readme Collapse self.headers into one line Fix docstring for fuzzy_match_header Swap if / else for match Fix functools import Rename get_wtf_python_readme to fetch_readme Collapse self.headers into one line Fix type hints with dict Add match comment for clarity * Add debug logs, and send embed * Add markdown file creation Big change here is to create a .md file based on the matched header. I save the raw text as a class attribute, then slice it based on the index returned by the .find() method for the header, and the separator "/n---/n". * Move the list(map(str.strip , ...) to for loop * Remove line * Use StringIO for file creation * Update file creation with StringIO * Remove embed file preview * chore: update wtf_python docstring * chore: change regex to search, remove file preview * feat: update caching as recommended Minor fixes to import statements as well. Co-authored-by: Bluenix2 <[email protected]> * chore: remove logging statements * feat: scheduled task for fetch_readme * chore: fix hyperlink, remove dead code * fix: capitalization clean up * chore: remove unused code * chore: remove more unused code * feat: add light grey logo image in embed * feat: add light grey image * chore: remove debug log message * feat: add found search result header * feat: limit user query to 50 characters * cleanup: remove debug logging * fix: restructure if not match statement Co-authored-by: Bluenix <[email protected]> Co-authored-by: Shivansh-007 <[email protected]> Co-authored-by: Shivansh-007 <[email protected]> Co-authored-by: Bluenix2 <[email protected]> Co-authored-by: Xithrius <[email protected]>
2021-10-21Bump pip licensesGravatar Chris Lovering-325/+405
pip licenses used to use an internal method of pip, which got removed and caused errors in any runs. The newer version, which this commit bumps it too, now uses another method.
2021-10-20Use display_avatar instead of avatar in send_pride_imageGravatar Karlis Suvi-1/+1
Discord.py 2.0 returns None for avatar if a user has default avatar. `display_avatar` returns always `Asset`.
2021-10-17Add a border around the scary batGravatar Chris Lovering-0/+0
When users with dark avatars would use the spookify command, they wouldn't be able to see the bat that was added. By adding a white border around the bat, it is now more visable.
2021-10-17Address review & make `AI.get_move` a staticmethodGravatar Izan-5/+7
2021-10-17Fix bugs in `.issue` command & add aliasesGravatar TizzySaurus-5/+14
- Now requires at least one issue/PR - No longer continues to send issues/PRs when there's too many listed in the invocation - Added plural aliases (`.issues` and `.prs`)
2021-10-14Add support to query AoC results in respect of days and stars (#857)Gravatar D0rs4n-7/+119
* Add support to query AoC results in respect of days and stars From now on the AoC leaderboard command accepts a total of 2 optional arguments a day and star string (eg.: 1-2, for the second star of the first day) and a number of results they would like to see, with a total maximum of 15. This commit also introduces a few minor fixes in the AoC helper. * Improve overall code consitency in the AoC event Cog and helpers * Improve indenting and code consistency in the AoC cog * Improve code transparency in the AoC helpers * Patch various inconsistencies in the AoC cog and helpers * Migrate AoC Day and Star statistics filtering to Dropdowns From now on when the AoC leadearboard command is used with the DayAndStar argument(bool) the bot will send a View with two dropdowns and a button to Fetch the data based on the value of the Dropdowns. * Improve code and comment consistency in the AoC views and helpers * Patch logic errors, improve consistency in the AoC cog and view. * Add support to delete view from the message after timeout in the AoC cog * Move the day_and_star logic out of the typing context manager in the AoC cog * Revert season-locker in the AoC cog * Improve overall code transparency and indenting in the AoC cog and views * Remove unnecessary returns in the AoC cog and view
2021-10-14removed repeating query is NoneGravatar Shom770-15/+16
2021-10-14requested changes from TizzySaurus implementedGravatar Shom770-7/+6
2021-10-13Fix GH-907Gravatar aru-1/+2
Issues can have empty bodies, in this case GitHub doesn't include the key in the API response
2021-10-13fixing errorsGravatar Shom770-3/+8
2021-10-13Challenges (#860)Gravatar Shom770-1/+434
* beginning commit creating the base of the hangman, code needs to be linted in the future * updated words list * adding images to show the hangman person * added images, though it is a bit laggy * replacing images with discord attachment urls * adding error if filters aren't found * fixing typo in ``filter_not_found_embed`` * final lints + removing `mode` parameter as it renders useless * linting flake8 errors * adding newline at the end of `top_1000_used_words.txt` * minor change to filter message * beginning commit -- trying to add bs4 to pyproject.toml, though it is currently failing * kata information section done, ready for issue * fixing bugs with the query not being fully picked up, also allowing query only with no kyu * fixing bug where user cannot leave all arguments blank * typo - forgot unary before the level within the `language and not query` if statement * changing to random kata chosen * ensuring that if the user provides a query that won't work, that it won't error out * limiting choice to smaller numbers if a query was provided, so the user gets what they want * improving hangman docstring * removing `bot/resources/evergreen/hangman` directory as file attachments are used * replacing single quotes with double quotes, to adhere to the style guide. * fixing style inconsistencies and other problems with how the code looks - as per requested by Objectivix * fixing `IMAGES` style inconsistency * adding trailing commas and switching to `Colours` for consistency * adding trailing commas and switching to `Colours` for consistency * fixing the remnants of non-trailing commas and allowing specification for single player vs mulitplayer * removing all 2 letter words from the hangman word choosing and removing words that @Objectivix found that shouldn't be in the list of words * removing some inappropriate words from the txt file * Adding space for grammatical errors Co-authored-by: ChrisJL <[email protected]> * changing two periods to a full stop & wrapping try and except block to only the part that can raise it * using negative replies instead along with fixing grammatical errors in the sentence * removing words that could be considered inappropirate * removing `TOP_WORDS_FILE_PATH` and making `ALL_WORDS` a global variable. * error handling * fixing the overcomplication of the bs4 portion * adding button and dropdowns to the challenges command * more specific docstring * more specific docstring * finishing dropdowns/buttons * putting the dropdown on top of the link button * replacing ' with a double quote for some strings * Removing more words The words removed shouldn't really belong here * Update bot/exts/utilities/challenges.py Co-authored-by: Bluenix <[email protected]> * replacing mapping_of_images with IMAGES and other fixes * Dedenting Co-authored-by: Bluenix <[email protected]> * Improving tries logic Co-authored-by: Bluenix <[email protected]> * Updating `positions` list to set Co-authored-by: Bluenix <[email protected]> * Updating setup docstring Co-authored-by: Bluenix <[email protected]> * Updating comment in callback function of the dropdown Co-authored-by: Bluenix <[email protected]> * fixing too many blank lines * Hardcode dictionary Co-authored-by: Bluenix <[email protected]> * restructuring * fixing errors * Remove unnecessary comments Co-authored-by: Bluenix <[email protected]> * Remove unnecessary comments Co-authored-by: Bluenix <[email protected]> * Improve comment explanation Co-authored-by: Bluenix <[email protected]> * Remove redundant extra membership test Co-authored-by: Bluenix <[email protected]> * Removing verbose variable definition Co-authored-by: Bluenix <[email protected]> * Redundant list Co-authored-by: Bluenix <[email protected]> * Shorten 'social distancing' (too many separations) between related lines Co-authored-by: Bluenix <[email protected]> * improving docstring in `kata_id` * sending embed if error occurs with api or bs4, also hardcoding params dictionary * Better comments Co-authored-by: Bluenix <[email protected]> * better docstring Co-authored-by: Bluenix <[email protected]> * Removing f-string inception and replacing it with more readable code Co-authored-by: Bluenix <[email protected]> * More specific docstring Co-authored-by: Bluenix <[email protected]> * Removing redundant comments Co-authored-by: Bluenix <[email protected]> * Fixing linting errors * mapping of kyu -> constant * adding trailing comma * specific comment regarding where colors are from for `MAPPING_OF_KYU` * changing name to link too along with link button * adding ellipsis to make it more clear for `Read more` * removing redundant sentences from all docstrings of embed creator functions * fixing unboundlocalerror due to kata_url only being defined under a certain condition * only allowing supported languages on codewars.com * fixing url glitch with embed * Delete hangman.py * Delete top_1000_used_words.txt * hangman dependencies leaked into this PR, removing them * add bs4 and lxml back to lock file * Capitalize comments Co-authored-by: Bluenix <[email protected]> * Improving comments (capitalization) Co-authored-by: Bluenix <[email protected]> * polishing * explaining that self.original_message will be set later in the callback function of the dropdown * fixing nitpicks * cast to integer from hex * removing unnecessary trailing commas * Simplifying L274-L276 Co-authored-by: Bluenix <[email protected]> * Add ellipsis to end of description if it's too long Co-authored-by: Bluenix <[email protected]> * Changing to hex Co-authored-by: Bluenix <[email protected]> * Running blocking function (BeautifulSoup.find_all) to thread Co-authored-by: Bluenix <[email protected]> * logger.error errors * Fixing error with to_thread * Fixing errors with MAPPING_OF_KYU Co-authored-by: Bluenix <[email protected]> * changing `query` to `-query` if the query is a kata level * changing embed names to add the kata name * Mimicking mailing list's behavior Co-authored-by: Bluenix <[email protected]> * url attribute for all embeds & title for all embeds * remove view after a certain amount of tikme * disabling view after waiting instead of just editing it out * styling * remove view to avoid spamming errors * changing `logger` to `log` Co-authored-by: Xithrius <[email protected]> * Change `logger` to `log` for logging errors Co-authored-by: ChrisJL <[email protected]> Co-authored-by: Bluenix <[email protected]> Co-authored-by: Xithrius <[email protected]>
2021-10-13update advent of code channel IDsGravatar Chris Lovering-2/+2
We deleted and re-made the channels so new IDs are needed.
2021-10-11Add missing `Game.channel` attributeGravatar Izan-0/+1
2021-10-11Set `AI.user` to @Sir LancebotGravatar Izan-4/+5
2021-10-09Replace usage of bot.command_prefix with constants.Client.prefixGravatar wookie184-5/+5
2021-10-08Remove unnecessary `else`Gravatar Izan-7/+7
2021-10-08Add handling for `discord.NotFound` when re-rolling / removing reactionGravatar Izan-2/+7
2021-10-08`.topic` command improvements.Gravatar Izan-18/+27
- Fix bug where command author couldn't re-roll - Now removes user's reaction up re-roll - Added a missing `break` statement
2021-10-08Candy collection: fix positional arg being passed as kwordGravatar Matteo Bertucci-1/+1
This caused a `TypeError` to be raised, as the `id` argument could only be used as a positional argument and not by keyword.
2021-10-07Allow topics to be refreshedGravatar Chris Lovering-3/+62
This is done via an emoji as buttons are too big Co-authored-by: Bluenix <[email protected]>
2021-10-07Add a 2 minute cooldown to the topic commandGravatar Chris Lovering-20/+4
Using the command while it's on cooldown will hit the error handler, which sends an error message showing how long is left on the cooldown, which is deleted after 7.5 seconds.
2021-10-07Added Anagrams command (#874)Gravatar Mayur Odedara-0/+17778
* Added Anagrams command Added 2 files anagram.py - Has the code for anagram command anagram.json - Contains all the words for anagram command * Update bot/exts/fun/anagram.py Using "with" for resource file instead of getting data directly Co-authored-by: brad90four <[email protected]> * Update bot/exts/fun/anagram.py Updated title text for answer embed Co-authored-by: Bluenix <[email protected]> * Update bot/exts/fun/anagram.py Comma separated text for winners list Co-authored-by: Bluenix <[email protected]> * Updated anagram.py as per review comments -Removed redundant variables -Updated embed text to avoid 'all' -Updated stale comments * Some minor formatting fixes -Added trailing commas to embed -Updated all embeds to have consistent format * Polish anagram command for multiple channels * Updated docstrings * Allowed command to be used in multiple channels * Create a class for anagram game instances * Lay groundwork for threads Co-Authored-By: Bluenix <[email protected]> * Updated resource file for anagram command * Anagrams are now cross referenced with list of common words which should be easy for users to guess * It should not have any slur words * Update bot/exts/fun/anagram.py Co-authored-by: brad90four <[email protected]> * Update bot/exts/fun/anagram.py Co-authored-by: brad90four <[email protected]> * Update bot/exts/fun/anagram.py Co-authored-by: brad90four <[email protected]> * Update bot/exts/fun/anagram.py Co-authored-by: brad90four <[email protected]> * Linting error fix Linting error fix * Error fix Removed the "seconds" causing issue for anagram command * Revert "Error fix" This reverts commit 8c00d70f9faf62c536eac1fa61877dfab328a83f. * Error fix for seconds Fixed the error by removing "seconds" Co-authored-by: brad90four <[email protected]> Co-authored-by: Bluenix <[email protected]> Co-authored-by: Xithrius <[email protected]>
2021-10-04Monkey patch http.send_typing to catch 403sGravatar Chris Lovering-55/+85
Sometimes discord turns off typing events by throwing 403's, so we should catch those
2021-10-03Ignore bot messages for spooky reactGravatar Gustav Odinger-4/+4
Previously only ignored its own messages, but now ignores messages from all bots.
2021-10-03Give the bookmark command a better error messageGravatar Chris Lovering-1/+7
2021-10-02Change pascal's triangle imageGravatar TizzySaurus-1/+1
2021-10-02Make setting the old embed description cleanerGravatar camcaswell-3/+1
2021-10-01Hackto issue finder: make d.py timestamp naiveGravatar Matteo Bertucci-2/+2