aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/fun (follow)
Commit message (Collapse)AuthorAgeLines
* Add a Madlibs game (#901)Gravatar DMFriends2022-01-02-0/+148
| | | | | | Co-authored-by: Bluenix <[email protected]> Co-authored-by: Shom770 <[email protected]> Co-authored-by: aru <[email protected]> Co-authored-by: ChrisJL <[email protected]>
* Merge branch 'main' into dm-checkGravatar ChrisJL2022-01-01-14/+47
|\
| * add missing enumsGravatar Sn4u2022-01-01-0/+32
| |
| * Merge branch 'main' into update-role-constantsGravatar TizzySaurus2021-11-29-6/+10
| |\
| * | Check role id in MODERATION_ROLES instead of comparing to moderation_team ↵Gravatar Izan2021-10-11-14/+15
| | | | | | | | | | | | and safeguard `.roles` attribute
| * | Rename `Roles.moderator` to `Roles.moderation_team`Gravatar Izan2021-10-11-2/+2
| | |
* | | Add Better Support For Whitelisting DM CommandsGravatar Hassan Abouelela2021-11-21-7/+1
| |/ |/| | | | | | | | | | | | | | | Adds a toggle to the whitelist override, to allow explicit enabling of a command in DMs, and sets the default to False. Removes redundant `guild_only` decorators. Signed-off-by: Hassan Abouelela <[email protected]>
* | 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-2/+2
|
* Merge branch 'main' into duckduckduckgooseGravatar ChrisJL2021-10-08-0/+185
|\
| * Added Anagrams command (#874)Gravatar Mayur Odedara2021-10-07-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
| * `.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]>
* | 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
* 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/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
* Wikiguess Game (#618)Gravatar Shivansh-0072021-09-07-170/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * (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]>
* Move game and fun commands to Fun folder, fix ddgGravatar Janine vN2021-09-05-0/+4140
| | | | | | | | | | | This moves all the fun commands and games into the fun folder. This commit also makes changes to the duck_game. It was setting a footer during an embed init, which is no longer possible with the version of d.py we use. Additionally, an issue with editing an embed that had a local image loaded. The workaround for the time being is to update the message, not the embed.
* Move snakes commands into fun folderGravatar Janine vN2021-09-05-0/+1965