diff options
| author | 2019-05-30 19:10:19 +0100 | |
|---|---|---|
| committer | 2019-05-30 19:10:19 +0100 | |
| commit | e37fa43952167ebc52b31ed6db96abe413a46231 (patch) | |
| tree | c11ed554a01f2d4a2ef08fcc2d134192d8c8dc87 | |
| parent | Add a missing await to coroutine (diff) | |
| parent | Merge pull request #211 from RohanRadia/master (diff) | |
Merge remote-tracking branch 'python-discord/master' into pride-avatar
| -rw-r--r-- | Pipfile | 2 | ||||
| -rw-r--r-- | Pipfile.lock | 176 | ||||
| -rw-r--r-- | bot/constants.py | 2 | ||||
| -rw-r--r-- | bot/resources/halloween/responses.json | 14 | ||||
| -rw-r--r-- | bot/seasons/christmas/adventofcode.py | 2 | ||||
| -rw-r--r-- | bot/seasons/easter/avatar_easterifier.py | 3 | ||||
| -rw-r--r-- | bot/seasons/evergreen/showprojects.py | 35 | ||||
| -rw-r--r-- | bot/seasons/evergreen/snakes/snakes_cog.py | 9 | ||||
| -rw-r--r-- | bot/seasons/evergreen/snakes/utils.py | 11 | ||||
| -rw-r--r-- | bot/seasons/halloween/8ball.py | 35 | ||||
| -rw-r--r-- | bot/seasons/halloween/spookyavatar.py | 5 | ||||
| -rw-r--r-- | bot/seasons/season.py | 2 | ||||
| -rw-r--r-- | bot/seasons/valentines/be_my_valentine.py | 2 | 
13 files changed, 186 insertions, 112 deletions
| @@ -4,13 +4,13 @@ verify_ssl = true  name = "pypi"  [packages] -discord-py = {ref = "43b4475",git = "https://github.com/Rapptz/discord.py",editable = true}  arrow = "*"  beautifulsoup4 = "*"  aiodns = "*"  pillow = "*"  pytz = "*"  fuzzywuzzy = "*" +discord-py = "~=1.1"  [dev-packages]  "flake8" = "*" diff --git a/Pipfile.lock b/Pipfile.lock index d4a2183c..1cf9e44a 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@  {      "_meta": {          "hash": { -            "sha256": "d3f50052000b1e8bda6997dbdace86d5218aa19d240983f2586d990b6d18f36c" +            "sha256": "0e7e34beb8c746a91b7e2209586e5c93663bae113b2989af8a0df849cf0d7dc7"          },          "pipfile-spec": 6,          "requires": { @@ -84,36 +84,36 @@          },          "cffi": {              "hashes": [ -                "sha256:00b97afa72c233495560a0793cdc86c2571721b4271c0667addc83c417f3d90f", -                "sha256:0ba1b0c90f2124459f6966a10c03794082a2f3985cd699d7d63c4a8dae113e11", -                "sha256:0bffb69da295a4fc3349f2ec7cbe16b8ba057b0a593a92cbe8396e535244ee9d", -                "sha256:21469a2b1082088d11ccd79dd84157ba42d940064abbfa59cf5f024c19cf4891", -                "sha256:2e4812f7fa984bf1ab253a40f1f4391b604f7fc424a3e21f7de542a7f8f7aedf", -                "sha256:2eac2cdd07b9049dd4e68449b90d3ef1adc7c759463af5beb53a84f1db62e36c", -                "sha256:2f9089979d7456c74d21303c7851f158833d48fb265876923edcb2d0194104ed", -                "sha256:3dd13feff00bddb0bd2d650cdb7338f815c1789a91a6f68fdc00e5c5ed40329b", -                "sha256:4065c32b52f4b142f417af6f33a5024edc1336aa845b9d5a8d86071f6fcaac5a", -                "sha256:51a4ba1256e9003a3acf508e3b4f4661bebd015b8180cc31849da222426ef585", -                "sha256:59888faac06403767c0cf8cfb3f4a777b2939b1fbd9f729299b5384f097f05ea", -                "sha256:59c87886640574d8b14910840327f5cd15954e26ed0bbd4e7cef95fa5aef218f", -                "sha256:610fc7d6db6c56a244c2701575f6851461753c60f73f2de89c79bbf1cc807f33", -                "sha256:70aeadeecb281ea901bf4230c6222af0248c41044d6f57401a614ea59d96d145", -                "sha256:71e1296d5e66c59cd2c0f2d72dc476d42afe02aeddc833d8e05630a0551dad7a", -                "sha256:8fc7a49b440ea752cfdf1d51a586fd08d395ff7a5d555dc69e84b1939f7ddee3", -                "sha256:9b5c2afd2d6e3771d516045a6cfa11a8da9a60e3d128746a7fe9ab36dfe7221f", -                "sha256:9c759051ebcb244d9d55ee791259ddd158188d15adee3c152502d3b69005e6bd", -                "sha256:b4d1011fec5ec12aa7cc10c05a2f2f12dfa0adfe958e56ae38dc140614035804", -                "sha256:b4f1d6332339ecc61275bebd1f7b674098a66fea11a00c84d1c58851e618dc0d", -                "sha256:c030cda3dc8e62b814831faa4eb93dd9a46498af8cd1d5c178c2de856972fd92", -                "sha256:c2e1f2012e56d61390c0e668c20c4fb0ae667c44d6f6a2eeea5d7148dcd3df9f", -                "sha256:c37c77d6562074452120fc6c02ad86ec928f5710fbc435a181d69334b4de1d84", -                "sha256:c8149780c60f8fd02752d0429246088c6c04e234b895c4a42e1ea9b4de8d27fb", -                "sha256:cbeeef1dc3c4299bd746b774f019de9e4672f7cc666c777cd5b409f0b746dac7", -                "sha256:e113878a446c6228669144ae8a56e268c91b7f1fafae927adc4879d9849e0ea7", -                "sha256:e21162bf941b85c0cda08224dade5def9360f53b09f9f259adb85fc7dd0e7b35", -                "sha256:fb6934ef4744becbda3143d30c6604718871495a5e36c408431bf33d9c146889" -            ], -            "version": "==1.12.2" +                "sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774", +                "sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d", +                "sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90", +                "sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b", +                "sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63", +                "sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45", +                "sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25", +                "sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3", +                "sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b", +                "sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647", +                "sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016", +                "sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4", +                "sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb", +                "sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753", +                "sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7", +                "sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9", +                "sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f", +                "sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8", +                "sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f", +                "sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc", +                "sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42", +                "sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3", +                "sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909", +                "sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45", +                "sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d", +                "sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512", +                "sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff", +                "sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201" +            ], +            "version": "==1.12.3"          },          "chardet": {              "hashes": [ @@ -123,9 +123,11 @@              "version": "==3.0.4"          },          "discord-py": { -            "editable": true, -            "git": "https://github.com/Rapptz/discord.py", -            "ref": "43b44751af647ecfcfb17868962972d543eb69a9" +            "hashes": [ +                "sha256:d0ab22f1fee1fcc02ac50a67ff49a5d1f6d7bc7eba77e34e35bd160b3ad3d7e8" +            ], +            "index": "pypi", +            "version": "==1.1.1"          },          "fuzzywuzzy": {              "hashes": [ @@ -178,39 +180,35 @@          },          "pillow": {              "hashes": [ -                "sha256:051de330a06c99d6f84bcf582960487835bcae3fc99365185dc2d4f65a390c0e", -                "sha256:0ae5289948c5e0a16574750021bd8be921c27d4e3527800dc9c2c1d2abc81bf7", -                "sha256:0b1efce03619cdbf8bcc61cfae81fcda59249a469f31c6735ea59badd4a6f58a", -                "sha256:163136e09bd1d6c6c6026b0a662976e86c58b932b964f255ff384ecc8c3cefa3", -                "sha256:18e912a6ccddf28defa196bd2021fe33600cbe5da1aa2f2e2c6df15f720b73d1", -                "sha256:24ec3dea52339a610d34401d2d53d0fb3c7fd08e34b20c95d2ad3973193591f1", -                "sha256:267f8e4c0a1d7e36e97c6a604f5b03ef58e2b81c1becb4fccecddcb37e063cc7", -                "sha256:3273a28734175feebbe4d0a4cde04d4ed20f620b9b506d26f44379d3c72304e1", -                "sha256:4c678e23006798fc8b6f4cef2eaad267d53ff4c1779bd1af8725cc11b72a63f3", -                "sha256:4d4bc2e6bb6861103ea4655d6b6f67af8e5336e7216e20fff3e18ffa95d7a055", -                "sha256:505738076350a337c1740a31646e1de09a164c62c07db3b996abdc0f9d2e50cf", -                "sha256:5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f", -                "sha256:5d95cb9f6cced2628f3e4de7e795e98b2659dfcc7176ab4a01a8b48c2c2f488f", -                "sha256:7eda4c737637af74bac4b23aa82ea6fbb19002552be85f0b89bc27e3a762d239", -                "sha256:801ddaa69659b36abf4694fed5aa9f61d1ecf2daaa6c92541bbbbb775d97b9fe", -                "sha256:825aa6d222ce2c2b90d34a0ea31914e141a85edefc07e17342f1d2fdf121c07c", -                "sha256:9c215442ff8249d41ff58700e91ef61d74f47dfd431a50253e1a1ca9436b0697", -                "sha256:a3d90022f2202bbb14da991f26ca7a30b7e4c62bf0f8bf9825603b22d7e87494", -                "sha256:a631fd36a9823638fe700d9225f9698fb59d049c942d322d4c09544dc2115356", -                "sha256:a6523a23a205be0fe664b6b8747a5c86d55da960d9586db039eec9f5c269c0e6", -                "sha256:a756ecf9f4b9b3ed49a680a649af45a8767ad038de39e6c030919c2f443eb000", -                "sha256:b117287a5bdc81f1bac891187275ec7e829e961b8032c9e5ff38b70fd036c78f", -                "sha256:ba04f57d1715ca5ff74bb7f8a818bf929a204b3b3c2c2826d1e1cc3b1c13398c", -                "sha256:cd878195166723f30865e05d87cbaf9421614501a4bd48792c5ed28f90fd36ca", -                "sha256:cee815cc62d136e96cf76771b9d3eb58e0777ec18ea50de5cfcede8a7c429aa8", -                "sha256:d1722b7aa4b40cf93ac3c80d3edd48bf93b9208241d166a14ad8e7a20ee1d4f3", -                "sha256:d7c1c06246b05529f9984435fc4fa5a545ea26606e7f450bdbe00c153f5aeaad", -                "sha256:e9c8066249c040efdda84793a2a669076f92a301ceabe69202446abb4c5c5ef9", -                "sha256:f227d7e574d050ff3996049e086e1f18c7bd2d067ef24131e50a1d3fe5831fbc", -                "sha256:fc9a12aad714af36cf3ad0275a96a733526571e52710319855628f476dcb144e" +                "sha256:15c056bfa284c30a7f265a41ac4cbbc93bdbfc0dfe0613b9cb8a8581b51a9e55", +                "sha256:1a4e06ba4f74494ea0c58c24de2bb752818e9d504474ec95b0aa94f6b0a7e479", +                "sha256:1c3c707c76be43c9e99cb7e3d5f1bee1c8e5be8b8a2a5eeee665efbf8ddde91a", +                "sha256:1fd0b290203e3b0882d9605d807b03c0f47e3440f97824586c173eca0aadd99d", +                "sha256:24114e4a6e1870c5a24b1da8f60d0ba77a0b4027907860188ea82bd3508c80eb", +                "sha256:258d886a49b6b058cd7abb0ab4b2b85ce78669a857398e83e8b8e28b317b5abb", +                "sha256:33c79b6dd6bc7f65079ab9ca5bebffb5f5d1141c689c9c6a7855776d1b09b7e8", +                "sha256:367385fc797b2c31564c427430c7a8630db1a00bd040555dfc1d5c52e39fcd72", +                "sha256:3c1884ff078fb8bf5f63d7d86921838b82ed4a7d0c027add773c2f38b3168754", +                "sha256:44e5240e8f4f8861d748f2a58b3f04daadab5e22bfec896bf5434745f788f33f", +                "sha256:46aa988e15f3ea72dddd81afe3839437b755fffddb5e173886f11460be909dce", +                "sha256:74d90d499c9c736d52dd6d9b7221af5665b9c04f1767e35f5dd8694324bd4601", +                "sha256:809c0a2ce9032cbcd7b5313f71af4bdc5c8c771cb86eb7559afd954cab82ebb5", +                "sha256:85d1ef2cdafd5507c4221d201aaf62fc9276f8b0f71bd3933363e62a33abc734", +                "sha256:8c3889c7681af77ecfa4431cd42a2885d093ecb811e81fbe5e203abc07e0995b", +                "sha256:9218d81b9fca98d2c47d35d688a0cea0c42fd473159dfd5612dcb0483c63e40b", +                "sha256:9aa4f3827992288edd37c9df345783a69ef58bd20cc02e64b36e44bcd157bbf1", +                "sha256:9d80f44137a70b6f84c750d11019a3419f409c944526a95219bea0ac31f4dd91", +                "sha256:b7ebd36128a2fe93991293f997e44be9286503c7530ace6a55b938b20be288d8", +                "sha256:c4c78e2c71c257c136cdd43869fd3d5e34fc2162dc22e4a5406b0ebe86958239", +                "sha256:c6a842537f887be1fe115d8abb5daa9bc8cc124e455ff995830cc785624a97af", +                "sha256:cf0a2e040fdf5a6d95f4c286c6ef1df6b36c218b528c8a9158ec2452a804b9b8", +                "sha256:cfd28aad6fc61f7a5d4ee556a997dc6e5555d9381d1390c00ecaf984d57e4232", +                "sha256:dca5660e25932771460d4688ccbb515677caaf8595f3f3240ec16c117deff89a", +                "sha256:de7aedc85918c2f887886442e50f52c1b93545606317956d65f342bd81cb4fc3", +                "sha256:e6c0bbf8e277b74196e3140c35f9a1ae3eafd818f7f2d3a15819c49135d6c062"              ],              "index": "pypi", -            "version": "==5.4.1" +            "version": "==6.0.0"          },          "pycares": {              "hashes": [ @@ -245,11 +243,11 @@          },          "pytz": {              "hashes": [ -                "sha256:32b0891edff07e28efe91284ed9c31e123d84bea3fd98e1f72be2508f43ef8d9", -                "sha256:d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c" +                "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", +                "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"              ],              "index": "pypi", -            "version": "==2018.9" +            "version": "==2019.1"          },          "six": {              "hashes": [ @@ -260,10 +258,10 @@          },          "soupsieve": {              "hashes": [ -                "sha256:3aef141566afd07201b525c17bfaadd07580a8066f82b57f7c9417f26adbd0a3", -                "sha256:e41a65e99bd125972d84221022beb1e4b5cfc68fa12c170c39834ce32d1b294c" +                "sha256:6898e82ecb03772a0d82bd0d0a10c0d6dcc342f77e0701d0ec4a8271be465ece", +                "sha256:b20eff5e564529711544066d7dc0f7661df41232ae263619dede5059799cdfca"              ], -            "version": "==1.9" +            "version": "==1.9.1"          },          "websockets": {              "hashes": [ @@ -325,10 +323,10 @@          },          "cfgv": {              "hashes": [ -                "sha256:39f8475d8eca48639f900daffa3f8bd2f60a31d989df41a9f81c5ad1779a66eb", -                "sha256:a6a4366d32799a6bfb6f577ebe113b27ba8d1bae43cb57133b1472c1c3dae227" +                "sha256:6e9f2feea5e84bc71e56abd703140d7a2c250fc5ba38b8702fd6a68ed4e3b2ef", +                "sha256:e7f186d4a36c099a9e20b04ac3108bd8bb9b9257e692ce18c8c3764d5cb12172"              ], -            "version": "==1.5.0" +            "version": "==1.6.0"          },          "entrypoints": {              "hashes": [ @@ -401,17 +399,17 @@          },          "identify": {              "hashes": [ -                "sha256:244e7864ef59f0c7c50c6db73f58564151d91345cd9b76ed793458953578cadd", -                "sha256:8ff062f90ad4b09cfe79b5dfb7a12e40f19d2e68a5c9598a49be45f16aba7171" +                "sha256:432c548d6138cb57a3d8f62f079a025a29b8ae34a50dd3b496bbf661818f2bc0", +                "sha256:d4401d60bf1938aa3074a352a5cc9044107edf11a6fedd3a1db172c141619b81"              ], -            "version": "==1.4.1" +            "version": "==1.4.3"          },          "importlib-metadata": {              "hashes": [ -                "sha256:a17ce1a8c7bff1e8674cb12c992375d8d0800c9190177ecf0ad93e0097224095", -                "sha256:b50191ead8c70adfa12495fba19ce6d75f2e0275c14c5a7beb653d6799b512bd" +                "sha256:6a0080fdc87c8225e004b00b55bd1eab153a32ef5a11e17c14de81edbb8ed1a7", +                "sha256:c0bdce522d5b215c710f237cfc1f58ace432affd3052176bbb719f53e2465256"              ], -            "version": "==0.8" +            "version": "==0.11"          },          "mccabe": {              "hashes": [ @@ -428,11 +426,11 @@          },          "pre-commit": {              "hashes": [ -                "sha256:d3d69c63ae7b7584c4b51446b0b583d454548f9df92575b2fe93a68ec800c4d3", -                "sha256:fc512f129b9526e35e80d656a16a31c198f584c4fce3a5c739045b5140584917" +                "sha256:6ca409d1f22d444af427fb023a33ca8b69625d508a50e1b7eaabd59247c93043", +                "sha256:94dd519597f5bff06a4b0df194a79c524b78f4b1534c1ce63241a9d4fb23b926"              ],              "index": "pypi", -            "version": "==1.14.4" +            "version": "==1.16.1"          },          "pycodestyle": {              "hashes": [ @@ -495,17 +493,17 @@          },          "virtualenv": {              "hashes": [ -                "sha256:6aebaf4dd2568a0094225ebbca987859e369e3e5c22dc7d52e5406d504890417", -                "sha256:984d7e607b0a5d1329425dd8845bd971b957424b5ba664729fab51ab8c11bc39" +                "sha256:15ee248d13e4001a691d9583948ad3947bcb8a289775102e4c4aa98a8b7a6d73", +                "sha256:bfc98bb9b42a3029ee41b96dc00a34c2f254cbf7716bec824477b2c82741a5c4"              ], -            "version": "==16.4.3" +            "version": "==16.5.0"          },          "zipp": {              "hashes": [ -                "sha256:55ca87266c38af6658b84db8cfb7343cdb0bf275f93c7afaea0d8e7a209c7478", -                "sha256:682b3e1c62b7026afe24eadf6be579fb45fec54c07ea218bded8092af07a68c4" +                "sha256:46dfd547d9ccbf8bdc26ecea52818046bb28509f12bb6a0de1cd66ab06e9a9be", +                "sha256:d7ac25f895fb65bff937b381353c14eb1fa23d35f40abd72a5342cd57eb57fd1"              ], -            "version": "==0.3.3" +            "version": "==0.5.0"          }      }  } diff --git a/bot/constants.py b/bot/constants.py index bf542daf..67dd9328 100644 --- a/bot/constants.py +++ b/bot/constants.py @@ -49,6 +49,8 @@ class Channels(NamedTuple):      staff_lounge = 464905259261755392      verification = 352442727016693763      python_discussion = 267624335836053506 +    show_your_projects = 303934982764625920 +    show_your_projects_discussion = 360148304664723466  class Client(NamedTuple): diff --git a/bot/resources/halloween/responses.json b/bot/resources/halloween/responses.json new file mode 100644 index 00000000..c0f24c1a --- /dev/null +++ b/bot/resources/halloween/responses.json @@ -0,0 +1,14 @@ +{ +  "responses": [ +    ["No."], +    ["Yes."], +    ["I will seek and answer from the devil...", "...after requesting the devils knowledge the answer is far more complicated than a simple yes or no."], +    ["This knowledge is not available to me, I will seek the answers from someone far more powerful...", "...there is no answer to this question, not even the Grim Reaper could find an answer."], +    ["The ghosts I summoned have confirmed that is is certain."], +    ["Double, double, toil and trouble,\nFire burn and cauldron bubble.\nCool it with a baboon's blood,\nand tell me the answer to his question...", "...the great cauldron can only confirm your beliefs."], +    ["Double, double, toil and trouble,\nFire burn and cauldron bubble.\nCool it with a baboon's blood,\nand tell me the answer to his question...", "...the great cauldron can only confirm that the answer to your question is no."], +    ["If I tell you I will have to kill you..."], +    ["I swear on my spider that you are correct."], +    ["With great certainty, under the watch of the Pumpkin King, I can confirm your suspicions."], +    ["The undead have sworn me to secrecy. I can not answer your question."] +]} diff --git a/bot/seasons/christmas/adventofcode.py b/bot/seasons/christmas/adventofcode.py index 32858673..440484b4 100644 --- a/bot/seasons/christmas/adventofcode.py +++ b/bot/seasons/christmas/adventofcode.py @@ -132,7 +132,7 @@ class AdventOfCode(commands.Cog):      async def adventofcode_group(self, ctx: commands.Context):          """All of the Advent of Code commands.""" -        await ctx.invoke(self.bot.get_command("help"), "adventofcode") +        await ctx.send_help(ctx.command)      @adventofcode_group.command(          name="subscribe", diff --git a/bot/seasons/easter/avatar_easterifier.py b/bot/seasons/easter/avatar_easterifier.py index 9f7ea271..a84e5eb4 100644 --- a/bot/seasons/easter/avatar_easterifier.py +++ b/bot/seasons/easter/avatar_easterifier.py @@ -71,8 +71,7 @@ class AvatarEasterifier(commands.Cog):          async with ctx.typing():              # Grabs image of avatar -            async with self.bot.http_session.get(ctx.author.avatar_url_as(size=256)) as resp: -                image_bytes = await resp.read() +            image_bytes = await ctx.author.avatar_url_as(size=256).read()              old = Image.open(BytesIO(image_bytes))              old = old.convert("RGBA") diff --git a/bot/seasons/evergreen/showprojects.py b/bot/seasons/evergreen/showprojects.py new file mode 100644 index 00000000..d6223690 --- /dev/null +++ b/bot/seasons/evergreen/showprojects.py @@ -0,0 +1,35 @@ +import logging + +from discord.ext import commands + +from bot.constants import Channels + +log = logging.getLogger(__name__) + + +class ShowProjects(commands.Cog): +    """Cog that reacts to posts in the #show-your-projects""" + +    def __init__(self, bot): +        self.bot = bot +        self.lastPoster = 0  # Given 0 as the default last poster ID as no user can actually have 0 assigned to them + +    @commands.Cog.listener() +    async def on_message(self, message): +        """Adds reactions to posts in #show-your-projects""" + +        reactions = ["\U0001f44d", "\U00002764", "\U0001f440", "\U0001f389", "\U0001f680", "\U00002b50", "\U0001f6a9"] +        if (message.channel.id == Channels.show_your_projects +                and message.author.bot is False +                and message.author.id != self.lastPoster): +            for reaction in reactions: +                await message.add_reaction(reaction) + +        self.lastPoster = message.author.id + + +def setup(bot): +    """Show Projects Reaction Cog""" + +    bot.add_cog(ShowProjects(bot)) +    log.info("ShowProjects cog loaded") diff --git a/bot/seasons/evergreen/snakes/snakes_cog.py b/bot/seasons/evergreen/snakes/snakes_cog.py index 3ffdf1bf..b5fb2881 100644 --- a/bot/seasons/evergreen/snakes/snakes_cog.py +++ b/bot/seasons/evergreen/snakes/snakes_cog.py @@ -458,7 +458,7 @@ class Snakes(Cog):      async def snakes_group(self, ctx: Context):          """Commands from our first code jam.""" -        await ctx.invoke(self.bot.get_command("help"), "snake") +        await ctx.send_help(ctx.command)      @bot_has_permissions(manage_messages=True)      @snakes_group.command(name='antidote') @@ -1055,13 +1055,6 @@ class Snakes(Cog):          )          await ctx.channel.send(embed=embed) -    @snakes_group.command(name='help') -    async def help_command(self, ctx: Context): -        """Invokes the help command for the Snakes Cog.""" - -        log.debug(f"{ctx.author} requested info about the snakes cog") -        return await ctx.invoke(self.bot.get_command("help"), "Snakes") -      @snakes_group.command(name='snakify')      async def snakify_command(self, ctx: Context, *, message: str = None):          """ diff --git a/bot/seasons/evergreen/snakes/utils.py b/bot/seasons/evergreen/snakes/utils.py index e2ed60bd..a7cb70a7 100644 --- a/bot/seasons/evergreen/snakes/utils.py +++ b/bot/seasons/evergreen/snakes/utils.py @@ -8,7 +8,6 @@ from itertools import product  from pathlib import Path  from typing import List, Tuple -import aiohttp  from PIL import Image  from PIL.ImageDraw import ImageDraw  from discord import File, Member, Reaction @@ -480,12 +479,10 @@ class SnakeAndLaddersGame:      async def _add_player(self, user: Member):          self.players.append(user)          self.player_tiles[user.id] = 1 -        avatar_url = user.avatar_url_as(format='jpeg', size=PLAYER_ICON_IMAGE_SIZE) -        async with aiohttp.ClientSession() as session: -            async with session.get(avatar_url) as res: -                avatar_bytes = await res.read() -                im = Image.open(io.BytesIO(avatar_bytes)).resize((BOARD_PLAYER_SIZE, BOARD_PLAYER_SIZE)) -                self.avatar_images[user.id] = im + +        avatar_bytes = await user.avatar_url_as(format='jpeg', size=PLAYER_ICON_IMAGE_SIZE).read() +        im = Image.open(io.BytesIO(avatar_bytes)).resize((BOARD_PLAYER_SIZE, BOARD_PLAYER_SIZE)) +        self.avatar_images[user.id] = im      async def player_join(self, user: Member):          """ diff --git a/bot/seasons/halloween/8ball.py b/bot/seasons/halloween/8ball.py new file mode 100644 index 00000000..af037e53 --- /dev/null +++ b/bot/seasons/halloween/8ball.py @@ -0,0 +1,35 @@ +import asyncio +import json +import logging +import random +from pathlib import Path + +from discord.ext import commands + +log = logging.getLogger(__name__) + +with open(Path('bot', 'resources', 'halloween', 'responses.json'), 'r', encoding="utf8") as f: +    responses = json.load(f) + + +class SpookyEightBall(commands.Cog): +    """Spooky Eightball answers.""" + +    def __init__(self, bot): +        self.bot = bot + +    @commands.command(aliases=('spooky8ball',)) +    async def spookyeightball(self, ctx, *, question: str): +        """Responds with a random response to a question.""" +        choice = random.choice(responses['responses']) +        msg = await ctx.send(choice[0]) +        if len(choice) > 1: +            await asyncio.sleep(random.randint(2, 5)) +            await msg.edit(content=f"{choice[0]} \n{choice[1]}") + + +def setup(bot): +    """Spooky Eight Ball Cog Load.""" + +    bot.add_cog(SpookyEightBall(bot)) +    log.info("SpookyEightBall cog loaded") diff --git a/bot/seasons/halloween/spookyavatar.py b/bot/seasons/halloween/spookyavatar.py index 15c7c431..2cc81da8 100644 --- a/bot/seasons/halloween/spookyavatar.py +++ b/bot/seasons/halloween/spookyavatar.py @@ -37,8 +37,9 @@ class SpookyAvatar(commands.Cog):              embed = discord.Embed(colour=0xFF0000)              embed.title = "Is this you or am I just really paranoid?"              embed.set_author(name=str(user.name), icon_url=user.avatar_url) -            resp = await self.get(user.avatar_url) -            im = Image.open(BytesIO(resp)) + +            image_bytes = await ctx.author.avatar_url.read() +            im = Image.open(BytesIO(image_bytes))              modified_im = spookifications.get_random_effect(im)              modified_im.save(str(ctx.message.id)+'.png')              f = discord.File(str(ctx.message.id)+'.png') diff --git a/bot/seasons/season.py b/bot/seasons/season.py index 6d992276..6d99b77f 100644 --- a/bot/seasons/season.py +++ b/bot/seasons/season.py @@ -442,7 +442,7 @@ class SeasonManager(commands.Cog):      async def refresh(self, ctx):          """Refreshes certain seasonal elements without reloading seasons."""          if not ctx.invoked_subcommand: -            await ctx.invoke(bot.get_command("help"), "refresh") +            await ctx.send_help(ctx.command)      @refresh.command(name="avatar")      async def refresh_avatar(self, ctx): diff --git a/bot/seasons/valentines/be_my_valentine.py b/bot/seasons/valentines/be_my_valentine.py index 19788577..8340d7fa 100644 --- a/bot/seasons/valentines/be_my_valentine.py +++ b/bot/seasons/valentines/be_my_valentine.py @@ -42,7 +42,7 @@ class BeMyValentine(commands.Cog):          2) use the command \".lovefest unsub\" to get rid of the lovefest role.          """ -        await ctx.invoke(self.bot.get_command("help"), "lovefest") +        await ctx.send_help(ctx.command)      @lovefest_role.command(name="sub")      async def add_role(self, ctx): | 
