aboutsummaryrefslogtreecommitdiffstats
path: root/bot (follow)
Commit message (Collapse)AuthorAgeLines
* Add WTF Python Command (#859)Gravatar brad90four2021-10-22-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]>
* Use display_avatar instead of avatar in send_pride_imageGravatar Karlis Suvi2021-10-20-1/+1
| | | Discord.py 2.0 returns None for avatar if a user has default avatar. `display_avatar` returns always `Asset`.
* Merge branch 'main' into fix-issue-898Gravatar ChrisJL2021-10-17-16/+473
|\
| * Fix bugs in `.issue` command & add aliasesGravatar TizzySaurus2021-10-17-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`)
| * Merge branch 'main' into fix-pascal-triangle-imageGravatar TizzySaurus2021-10-14-116/+18446
| |\
| | * Add support to query AoC results in respect of days and stars (#857)Gravatar D0rs4n2021-10-14-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
| | * Fix GH-907Gravatar aru2021-10-13-1/+2
| | | | | | | | | Issues can have empty bodies, in this case GitHub doesn't include the key in the API response
| | * Challenges (#860)Gravatar Shom7702021-10-13-0/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
| | * update advent of code channel IDsGravatar Chris Lovering2021-10-13-2/+2
| | | | | | | | | | | | We deleted and re-made the channels so new IDs are needed.
| * | Change pascal's triangle imageGravatar TizzySaurus2021-10-02-1/+1
| | |
* | | Address review & make `AI.get_move` a staticmethodGravatar Izan2021-10-17-5/+7
| | |
* | | Add missing `Game.channel` attributeGravatar Izan2021-10-11-0/+1
| | |
* | | Set `AI.user` to @Sir LancebotGravatar Izan2021-10-11-4/+5
| |/ |/|
* | Replace usage of bot.command_prefix with constants.Client.prefixGravatar wookie1842021-10-09-5/+5
| |
* | Merge branch 'main' into duckduckduckgooseGravatar ChrisJL2021-10-08-89/+18036
|\ \
| * \ Merge branch 'main' into topic-improvementsGravatar Xithrius2021-10-08-1/+1
| |\ \
| | * | Candy collection: fix positional arg being passed as kwordGravatar Matteo Bertucci2021-10-08-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.
| * | | Remove unnecessary `else`Gravatar Izan2021-10-08-7/+7
| | | |
| * | | Add handling for `discord.NotFound` when re-rolling / removing reactionGravatar Izan2021-10-08-2/+7
| | | |
| * | | `.topic` command improvements.Gravatar Izan2021-10-08-18/+27
| |/ / | | | | | | | | | | | | | | | - Fix bug where command author couldn't re-roll - Now removes user's reaction up re-roll - Added a missing `break` statement
| * | Allow topics to be refreshedGravatar Chris Lovering2021-10-07-3/+62
| | | | | | | | | | | | | | | | | | This is done via an emoji as buttons are too big Co-authored-by: Bluenix <[email protected]>
| * | Add a 2 minute cooldown to the topic commandGravatar Chris Lovering2021-10-07-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.
| * | Added Anagrams command (#874)Gravatar Mayur Odedara2021-10-07-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]>
| * | Monkey patch http.send_typing to catch 403sGravatar Chris Lovering2021-10-04-55/+85
| | | | | | | | | | | | Sometimes discord turns off typing events by throwing 403's, so we should catch those
| * | Merge branch 'main' into better-bookmark-error-messageGravatar wookie1842021-10-03-5/+6
| |\ \
| | * \ Merge branch 'main' into mainGravatar wookie1842021-10-03-15/+90
| | |\ \
| | | * | Ignore bot messages for spooky reactGravatar Gustav Odinger2021-10-03-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Previously only ignored its own messages, but now ignores messages from all bots.
| | * | | Remove trailing whitespaceGravatar PythonTryHard2021-09-24-1/+1
| | | | |
| | * | | Bisect only on love percent thresholdsGravatar PythonTryHard2021-09-24-1/+2
| | | | |
| * | | | Give the bookmark command a better error messageGravatar Chris Lovering2021-10-03-1/+7
| | |/ / | |/| |
| * | | Merge branch 'main' into bug/875/emoji-offet-naiveGravatar wookie1842021-10-03-5/+80
| |\ \ \ | | | |/ | | |/|
| | * | `.quack` (#849)Gravatar Kronifer2021-10-01-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Added quack command * added log.error call for request fails * spacing change Co-authored-by: Bluenix <[email protected]> * another spacing change Co-authored-by: Bluenix <[email protected]> * Moved description to footer Co-authored-by: Bluenix <[email protected]> * whitespace fix * chore: Removed the link from the footer and set it as the url param * chore: moved footer to description Co-authored-by: Bluenix <[email protected]> Co-authored-by: Xithrius <[email protected]>
| | * | Allow everyone to use the `.bm` command everywhere (#885)Gravatar Objectivitix2021-09-26-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow everyone to use the bm command * Add everyone role in Roles constants * Use envvars and re-order Roles section to be more organized * Fix trailing whitespace We might need to squash merge, four commits for a single small fix is too much
| * | | Hackto issue finder: make d.py timestamp naiveGravatar Matteo Bertucci2021-10-01-2/+2
| | | |
| * | | Hacktoberfest: make datetimes offset-naiveGravatar Matteo Bertucci2021-09-21-2/+2
| | | |
| * | | Emoji: make the datetimes offset-naiveGravatar Matteo Bertucci2021-09-20-2/+2
| | |/ | |/| | | | | | | | | | You know the drill, due to discord.py 2.0a0 datetimes are now offset-aware, breaking some code. Closes python-discord/sir-lancebot#875
* | | Make setting the old embed description cleanerGravatar camcaswell2021-10-02-3/+1
| | |
* | | Change docstring to be more help with the help commandGravatar Cam Caswell2021-09-24-1/+1
| | |
* | | Don't change board embed colorGravatar Cam Caswell2021-09-24-7/+0
| | | | | | | | | | | | Can't edit that embed
* | | Remove display_claimed_answerGravatar Cam Caswell2021-09-24-7/+0
| | | | | | | | | | | | Replaced with append_to_found_embed which is more general
* | | Change board embed colorGravatar Cam Caswell2021-09-24-2/+2
| | | | | | | | | | | | Can't update color when the game is over anymore
* | | Bring end_game up to dateGravatar Cam Caswell2021-09-24-2/+8
| | |
* | | Add function for appending to claimed answers embedGravatar Cam Caswell2021-09-24-1/+11
| | |
* | | Split initial embed in twoGravatar Cam Caswell2021-09-24-8/+18
| |/ |/| | | | | | | Board and claimed answers discord.py doesn't let you cleanly edit an embed with an image in it
* | properly blacklist the extensions cogGravatar aru2021-09-21-1/+1
|/ | | since the restructure of lancebot, this code was incorrect, and is no longer blacklisting itself.
* Remove false commentGravatar Bluenix2021-09-19-1/+0
|
* Remove multiplayer mode and correctly check current channelGravatar Bluenix2021-09-19-12/+1
| | | | | | Closes #871 With multiplayer and a missing check for the right channel the bot would respond to each message as one directed to the game. Multiplayer mode is planned to be reintroduced later on using threads.
* Hangman (#843)Gravatar Shom7702021-09-18-0/+1071
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 * 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. * more specific docstring * more specific docstring * Removing more words The words removed shouldn't really belong here * 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]> * fixing too many blank lines * Hardcode dictionary Co-authored-by: Bluenix <[email protected]> * remove 3 letter words * add the word python * remove all 3 letter words - forgot to remove some * case insensitivity * changes to improve gameplay * setting check outside of every iteration * checking if a letter has already been guessed * changing to transparent images without the shadows * consistency with timeout * capitalization / edits to the hangman_words.txt * changing `singleplayer` to a boolean * sending then deleting, along with encouraging to try again * Grammar Co-authored-by: Bluenix <[email protected]> * Grammatical error Co-authored-by: Bluenix <[email protected]> * Simplification Co-authored-by: ChrisJL <[email protected]> * changing from pathlib to open * python-related words * two more python-related words * making error embeds more clear * Update hangman_words.txt deleted a possibly inappropriate word and added 3 new python related words * Update hangman.py Added some more comments and made some line spacing changes before and after the docstring * adding a new word * Adding newline * updating comments * when the game has won, it will display the word * add helper function to abstract some code, and edit the message at the end when won with the original word * editing message for win screen for consistency * prettifying the user guess * sending win and losing embed separately * Clarify 'tries remaining' Co-authored-by: ChrisJL <[email protected]> * changing to `delete_after` * not editing `message.content` variable * fixing error; changing to len(normalized_content) * Update hangman.py Reworded the comment about the timeout a little * last nitpicks for grammatical errors in comments * adding suggestions from ToxicKidz * Improving comments/removing unnecessary ones Co-authored-by: Bluenix <[email protected]> * Renaming parameter from `singleplayer` to `mode` Co-authored-by: Bluenix <[email protected]> Co-authored-by: ChrisJL <[email protected]> Co-authored-by: Bluenix <[email protected]> Co-authored-by: DMFriends <[email protected]>
* Added Hanukka command in November month.Gravatar NIRDERIi2021-09-08-1/+1
| | | This is a solution for the #862 issue, which says the Hanukka holiday can also be in November and not only in December.
* Wikiguess Game (#618)Gravatar Shivansh-0072021-09-07-217/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * (trivia-quiz): Add Wikipedia Guess Game This commit also moves all the 'dynamic' question generator to a separate class. Closes: #446 * (trivia quiz): Use tuples for command aliases * (trivia quiz): Edit congratulations message * (trivia quiz): Use default dict for storing player scores * (trivia quiz): 'done_question' to 'done_questions' * Add space after 'Congratulations' word * Use classmethods for dynamically generating questions * Don't add wiki category if max error fetches hit If the task hit max error fetches, which is 3 currently, it would remove wikipedia from listed categories and not add it to loaded questions. If it doesn't hit max fetches, then it adds them. * Don't hardcode the number of questions in RULES * Add information field only if it exists * Add "cs" and "python" categories to the `.quiz` command * add 30 questions each under the categories "cs" and "python" add the two categories into the code and modify the starting phase Co-authored-by: Xithrius <[email protected]> Co-authored-by: ToxicKidz <[email protected]> * refactor: Use yesterday's most read to make trivia questions Since random wikipedia article guess questions weren't really "knowledgeable", no one could really guess it or gain any "good" knowledge from them, so after asking wookie (this commits mentions his review comments above also), I decided to use these. * refactor: Logic to remove pronounciations from question Co-authored-by: wookie184 <[email protected]> * fix: Set to correct question limit If the number of questions are less then the default limit which can happen in the case of wikipedia guess game as it is dependent on the most read articiles on wikipedia, it would create a infinite loop sending us into infinite amount of errors, so let's prevent that, thanks wookie * chore: Add comment for d5f8205 change * refactor: Remove double mention of dataclass in quizentry * chore: Use r"" over noqa We can use r"", a raw string, here to make it clear that \* and \s aren't supposed to be handled as escape sequences and just use the "raw string". * fix: Correct off by one bug Originally, before this commit, we checked the number of questions left by comparing `len(done_questions) > self.question_limit`, so question limit had to be 1 since if it wasn't we would compare 7 > 7, which would be false and then it would send another question. To correct this bug, we now use == comparision on the two, so if the number of done questions is same as the question limit it means that the round is over. I have changed the relevant parts of the code to reflect this change i.e. where-ever we did +-1 due to the off by one bug. * refactor: Noramlize the title to remove all punctuations Since the title can sometimes contain punctuations making it very difficult to get the matching answer to the question, we originally removed all such questions. This took the question count down :( and wasn't an effective way. Therefore now we keep them but as normalized, yay! I have also updated the code documentation to make the process much clearer to anyone reading the "normalizing" code section of the wiki questions generator. * refactor: Keep answers as a list & not ",".join() Wasn't fitting in character limit so shorterned it ^^ lol. Okay, getting to the point, this mentions fix error's comment of making quiz entry except the answers as a list and not as a string which could a comma joined list. The same structure was in the json resource, where multiple answers where joined with commas. This didn't allow you to use commas in answers. So I went ahead and did a bit more than requested to change the json structure and make `answers` a list. Also now all questions are in the form of the quiz entry to keep it same through out the code and var tolerance has become a valid param in QuizEntry, this is done because it was differing between questions, if not needed this would make the process to add `var_tol` as a argument to the json easier. And that's it! Co-authored-by: Objectivitix <[email protected]> Co-authored-by: Xithrius <[email protected]> Co-authored-by: ToxicKidz <[email protected]> Co-authored-by: wookie184 <[email protected]>