diff options
| -rw-r--r-- | Dockerfile | 6 | ||||
| -rw-r--r-- | Pipfile | 10 | ||||
| -rw-r--r-- | Pipfile.lock | 199 | ||||
| -rw-r--r-- | bot/bot.py | 6 | ||||
| -rw-r--r-- | bot/exts/christmas/adventofcode.py | 2 | ||||
| -rw-r--r-- | bot/exts/evergreen/snakes/snakes_cog.py | 4 | ||||
| -rw-r--r-- | bot/exts/halloween/candy_collection.py | 6 | ||||
| -rw-r--r-- | bot/utils/decorators.py | 2 | ||||
| -rw-r--r-- | bot/utils/pagination.py | 4 | 
9 files changed, 129 insertions, 110 deletions
| @@ -6,6 +6,12 @@ ENV PIP_NO_CACHE_DIR=false \      PIPENV_IGNORE_VIRTUALENVS=1 \      PIPENV_NOSPIN=1 +# Install git to be able to dowload git dependencies in the Pipfile +RUN apt-get -y update \ +    && apt-get install -y \ +        git \ +    && rm -rf /var/lib/apt/lists/* +  # Install pipenv  RUN pip install -U pipenv @@ -7,22 +7,22 @@ name = "pypi"  aiodns = "~=2.0"  arrow = "~=0.14"  beautifulsoup4 = "~=4.8" -discord-py = "~=1.3.2" +discord-py = {git = "https://github.com/Rapptz/discord.py.git",ref = "0bc15fa130b8f01fe2d67446a2184d474b0d0ba7"}  fuzzywuzzy = "~=0.17"  pillow = "~=6.2"  pytz = "~=2019.2"  sentry-sdk = "~=0.14.2"  [dev-packages] -flake8 = "~=3.7" -flake8-annotations = "~=2.0" +flake8 = "~=3.8" +flake8-annotations = "~=2.3"  flake8-bugbear = "~=20.1"  flake8-docstrings = "~=1.5"  flake8-import-order = "~=0.18"  flake8-string-format = "~=0.3" -flake8-tidy-imports = "~=4.0" +flake8-tidy-imports = "~=4.1"  flake8-todo = "~=0.7" -pep8-naming = "~=0.9" +pep8-naming = "~=0.11"  pre-commit = "~=2.1"  [requires] diff --git a/Pipfile.lock b/Pipfile.lock index ad92fcf1..c9ee97a1 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@  {      "_meta": {          "hash": { -            "sha256": "d1c0feb610f6742095c50eb3049fdd308603c17e1a785c03d9bf703eda0af985" +            "sha256": "608dbc82dfdab7596c3e1eb18e05f90d596230b29af25c7e7a2c351196a6d045"          },          "pipfile-spec": 6,          "requires": { @@ -39,21 +39,23 @@                  "sha256:ae55bac364c405caa23a4f2d6cfecc6a0daada500274ffca4a9230e7129eac59",                  "sha256:b778ce0c909a2653741cb4b1ac7015b5c130ab9c897611df43ae6a58523cb965"              ], +            "markers": "python_full_version >= '3.5.3'",              "version": "==3.6.2"          },          "arrow": {              "hashes": [ -                "sha256:5390e464e2c5f76971b60ffa7ee29c598c7501a294bc9f5e6dadcb251a5d027b", -                "sha256:70729bcc831da496ca3cb4b7e89472c8e2d27d398908155e0796179f6d2d41ee" +                "sha256:3f1a92b25bbee5f80cc8f6bdecfeade9028219229137c559c37335b4f574a292", +                "sha256:61a1af3a31f731e7993509124839ac28b91b6743bd6692a949600737900cf43b"              ],              "index": "pypi", -            "version": "==0.15.5" +            "version": "==0.15.7"          },          "async-timeout": {              "hashes": [                  "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f",                  "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"              ], +            "markers": "python_full_version >= '3.5.3'",              "version": "==3.0.1"          },          "attrs": { @@ -61,23 +63,24 @@                  "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c",                  "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"              ], +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",              "version": "==19.3.0"          },          "beautifulsoup4": {              "hashes": [ -                "sha256:05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a", -                "sha256:9fbb4d6e48ecd30bcacc5b63b94088192dcda178513b2ae3c394229f8911b887", -                "sha256:e1505eeed31b0f4ce2dbb3bc8eb256c04cc2b3b72af7d551a4ab6efd5cbe5dae" +                "sha256:73cc4d115b96f79c7d77c1c7f7a0a8d4c57860d1041df407dd1aae7f07a77fd7", +                "sha256:a6237df3c32ccfaee4fd201c8f5f9d9df619b93121d01353a64a73ce8c6ef9a8", +                "sha256:e718f2342e2e099b640a34ab782407b7b676f47ee272d6739e60b8ea23829f2c"              ],              "index": "pypi", -            "version": "==4.8.2" +            "version": "==4.9.1"          },          "certifi": {              "hashes": [ -                "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", -                "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" +                "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3", +                "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"              ], -            "version": "==2019.11.28" +            "version": "==2020.6.20"          },          "cffi": {              "hashes": [ @@ -120,11 +123,8 @@              "version": "==3.0.4"          },          "discord-py": { -            "hashes": [ -                "sha256:7424be26b07b37ecad4404d9383d685995a0e0b3df3f9c645bdd3a4d977b83b4" -            ], -            "index": "pypi", -            "version": "==1.3.2" +            "git": "https://github.com/Rapptz/discord.py.git", +            "ref": "0bc15fa130b8f01fe2d67446a2184d474b0d0ba7"          },          "fuzzywuzzy": {              "hashes": [ @@ -136,32 +136,34 @@          },          "idna": {              "hashes": [ -                "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", -                "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" +                "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", +                "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"              ], -            "version": "==2.9" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==2.10"          },          "multidict": {              "hashes": [ -                "sha256:317f96bc0950d249e96d8d29ab556d01dd38888fbe68324f46fd834b430169f1", -                "sha256:42f56542166040b4474c0c608ed051732033cd821126493cf25b6c276df7dd35", -                "sha256:4b7df040fb5fe826d689204f9b544af469593fb3ff3a069a6ad3409f742f5928", -                "sha256:544fae9261232a97102e27a926019100a9db75bec7b37feedd74b3aa82f29969", -                "sha256:620b37c3fea181dab09267cd5a84b0f23fa043beb8bc50d8474dd9694de1fa6e", -                "sha256:6e6fef114741c4d7ca46da8449038ec8b1e880bbe68674c01ceeb1ac8a648e78", -                "sha256:7774e9f6c9af3f12f296131453f7b81dabb7ebdb948483362f5afcaac8a826f1", -                "sha256:85cb26c38c96f76b7ff38b86c9d560dea10cf3459bb5f4caf72fc1bb932c7136", -                "sha256:a326f4240123a2ac66bb163eeba99578e9d63a8654a59f4688a79198f9aa10f8", -                "sha256:ae402f43604e3b2bc41e8ea8b8526c7fa7139ed76b0d64fc48e28125925275b2", -                "sha256:aee283c49601fa4c13adc64c09c978838a7e812f85377ae130a24d7198c0331e", -                "sha256:b51249fdd2923739cd3efc95a3d6c363b67bbf779208e9f37fd5e68540d1a4d4", -                "sha256:bb519becc46275c594410c6c28a8a0adc66fe24fef154a9addea54c1adb006f5", -                "sha256:c2c37185fb0af79d5c117b8d2764f4321eeb12ba8c141a95d0aa8c2c1d0a11dd", -                "sha256:dc561313279f9d05a3d0ffa89cd15ae477528ea37aa9795c4654588a3287a9ab", -                "sha256:e439c9a10a95cb32abd708bb8be83b2134fa93790a4fb0535ca36db3dda94d20", -                "sha256:fc3b4adc2ee8474cb3cd2a155305d5f8eda0a9c91320f83e55748e1fcb68f8e3" -            ], -            "version": "==4.7.5" +                "sha256:1ece5a3369835c20ed57adadc663400b5525904e53bae59ec854a5d36b39b21a", +                "sha256:275ca32383bc5d1894b6975bb4ca6a7ff16ab76fa622967625baeebcf8079000", +                "sha256:3750f2205b800aac4bb03b5ae48025a64e474d2c6cc79547988ba1d4122a09e2", +                "sha256:4538273208e7294b2659b1602490f4ed3ab1c8cf9dbdd817e0e9db8e64be2507", +                "sha256:5141c13374e6b25fe6bf092052ab55c0c03d21bd66c94a0e3ae371d3e4d865a5", +                "sha256:51a4d210404ac61d32dada00a50ea7ba412e6ea945bbe992e4d7a595276d2ec7", +                "sha256:5cf311a0f5ef80fe73e4f4c0f0998ec08f954a6ec72b746f3c179e37de1d210d", +                "sha256:6513728873f4326999429a8b00fc7ceddb2509b01d5fd3f3be7881a257b8d463", +                "sha256:7388d2ef3c55a8ba80da62ecfafa06a1c097c18032a501ffd4cabbc52d7f2b19", +                "sha256:9456e90649005ad40558f4cf51dbb842e32807df75146c6d940b6f5abb4a78f3", +                "sha256:c026fe9a05130e44157b98fea3ab12969e5b60691a276150db9eda71710cd10b", +                "sha256:d14842362ed4cf63751648e7672f7174c9818459d169231d03c56e84daf90b7c", +                "sha256:e0d072ae0f2a179c375f67e3da300b47e1a83293c554450b29c900e50afaae87", +                "sha256:f07acae137b71af3bb548bd8da720956a3bc9f9a0b87733e0899226a2317aeb7", +                "sha256:fbb77a75e529021e7c4a8d4e823d88ef4d23674a202be4f5addffc72cbb91430", +                "sha256:fcfbb44c59af3f8ea984de67ec7c306f618a3ec771c2843804069917a8f2e255", +                "sha256:feed85993dbdb1dbc29102f50bca65bdc68f2c0c8d352468c25b54874f23c39d" +            ], +            "markers": "python_version >= '3.5'", +            "version": "==4.7.6"          },          "pillow": {              "hashes": [ @@ -238,6 +240,7 @@                  "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0",                  "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"              ], +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",              "version": "==2.20"          },          "python-dateutil": { @@ -245,6 +248,7 @@                  "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c",                  "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"              ], +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",              "version": "==2.8.1"          },          "pytz": { @@ -257,32 +261,35 @@          },          "sentry-sdk": {              "hashes": [ -                "sha256:23808d571d2461a4ce3784ec12bbee5bdb8c026c143fe79d36cef8a6d653e71f", -                "sha256:bb90a4e19c7233a580715fc986cc44be2c48fc10b31e71580a2037e1c94b6950" +                "sha256:0e5e947d0f7a969314aa23669a94a9712be5a688ff069ff7b9fc36c66adc160c", +                "sha256:799a8bf76b012e3030a881be00e97bc0b922ce35dde699c6537122b751d80e2c"              ],              "index": "pypi", -            "version": "==0.14.3" +            "version": "==0.14.4"          },          "six": {              "hashes": [ -                "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", -                "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" +                "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", +                "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"              ], -            "version": "==1.14.0" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==1.15.0"          },          "soupsieve": {              "hashes": [ -                "sha256:e914534802d7ffd233242b785229d5ba0766a7f487385e3f714446a07bf540ae", -                "sha256:fcd71e08c0aee99aca1b73f45478549ee7e7fc006d51b37bec9e9def7dc22b69" +                "sha256:1634eea42ab371d3d346309b93df7870a88610f0725d47528be902a0d95ecc55", +                "sha256:a59dc181727e95d25f781f0eb4fd1825ff45590ec8ff49eadfd7f1a537cc0232"              ], -            "version": "==2.0" +            "markers": "python_version >= '3.5'", +            "version": "==2.0.1"          },          "urllib3": {              "hashes": [ -                "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", -                "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc" +                "sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527", +                "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"              ], -            "version": "==1.25.8" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", +            "version": "==1.25.9"          },          "websockets": {              "hashes": [ @@ -309,6 +316,7 @@                  "sha256:e898a0863421650f0bebac8ba40840fc02258ef4714cb7e1fd76b6a6354bda36",                  "sha256:f8a7bff6e8664afc4e6c28b983845c5bc14965030e3fb98789734d416af77c4b"              ], +            "markers": "python_full_version >= '3.6.1'",              "version": "==8.1"          },          "yarl": { @@ -331,22 +339,24 @@                  "sha256:d8cdee92bc930d8b09d8bd2043cedd544d9c8bd7436a77678dd602467a993080",                  "sha256:e15199cdb423316e15f108f51249e44eb156ae5dba232cb73be555324a1d49c2"              ], +            "markers": "python_version >= '3.5'",              "version": "==1.4.2"          }      },      "develop": {          "appdirs": {              "hashes": [ -                "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92", -                "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e" +                "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", +                "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"              ], -            "version": "==1.4.3" +            "version": "==1.4.4"          },          "attrs": {              "hashes": [                  "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c",                  "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"              ], +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",              "version": "==19.3.0"          },          "cfgv": { @@ -354,20 +364,15 @@                  "sha256:1ccf53320421aeeb915275a196e23b3b8ae87dea8ac6698b1638001d4a486d53",                  "sha256:c8e8f552ffcc6194f4e18dd4f68d9aef0c0d58ae7e7be8c82bee3c5e9edfa513"              ], +            "markers": "python_full_version >= '3.6.1'",              "version": "==3.1.0"          },          "distlib": {              "hashes": [ -                "sha256:2e166e231a26b36d6dfe35a48c4464346620f8645ed0ace01ee31822b288de21" +                "sha256:8c09de2c67b3e7deef7184574fc060ab8a793e7adbb183d942c389c8b13c52fb", +                "sha256:edf6116872c863e1aa9d5bb7cb5e05a022c519a4594dc703843343a9ddd9bff1"              ], -            "version": "==0.3.0" -        }, -        "entrypoints": { -            "hashes": [ -                "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", -                "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" -            ], -            "version": "==0.3" +            "version": "==0.3.1"          },          "filelock": {              "hashes": [ @@ -378,19 +383,19 @@          },          "flake8": {              "hashes": [ -                "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb", -                "sha256:49356e766643ad15072a789a20915d3c91dc89fd313ccd71802303fd67e4deca" +                "sha256:15e351d19611c887e482fb960eae4d44845013cc142d42896e9862f775d8cf5c", +                "sha256:f04b9fcbac03b0a3e58c0ab3a0ecc462e023a9faf046d57794184028123aa208"              ],              "index": "pypi", -            "version": "==3.7.9" +            "version": "==3.8.3"          },          "flake8-annotations": {              "hashes": [ -                "sha256:a38b44d01abd480586a92a02a2b0a36231ec42dcc5e114de78fa5db016d8d3f9", -                "sha256:d5b0e8704e4e7728b352fa1464e23539ff2341ba11cc153b536fa2cf921ee659" +                "sha256:7816a5d8f65ffdf37b8e21e5b17e0fd1e492aa92638573276de066e889a22b26", +                "sha256:8d18db74a750dd97f40b483cc3ef80d07d03f687525bad8fd83365dcd3bfd414"              ],              "index": "pypi", -            "version": "==2.0.1" +            "version": "==2.3.0"          },          "flake8-bugbear": {              "hashes": [ @@ -448,10 +453,11 @@          },          "identify": {              "hashes": [ -                "sha256:a7577a1f55cee1d21953a5cf11a3c839ab87f5ef909a4cba6cf52ed72b4c6059", -                "sha256:ab246293e6585a1c6361a505b68d5b501a0409310932b7de2c2ead667b564d89" +                "sha256:882c4b08b4569517b5f2257ecca180e01f38400a17f429f5d0edff55530c41c7", +                "sha256:f89add935982d5bc62913ceee16c9297d8ff14b226e9d3072383a4e38136b656"              ], -            "version": "==1.4.13" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==1.4.23"          },          "mccabe": {              "hashes": [ @@ -462,46 +468,49 @@          },          "nodeenv": {              "hashes": [ -                "sha256:5b2438f2e42af54ca968dd1b374d14a1194848955187b0e5e4be1f73813a5212" +                "sha256:4b0b77afa3ba9b54f4b6396e60b0c83f59eaeb2d63dc3cc7a70f7f4af96c82bc"              ], -            "version": "==1.3.5" +            "version": "==1.4.0"          },          "pep8-naming": {              "hashes": [ -                "sha256:5d9f1056cb9427ce344e98d1a7f5665710e2f20f748438e308995852cfa24164", -                "sha256:f3b4a5f9dd72b991bf7d8e2a341d2e1aa3a884a769b5aaac4f56825c1763bf3a" +                "sha256:a1dd47dd243adfe8a83616e27cf03164960b507530f155db94e10b36a6cd6724", +                "sha256:f43bfe3eea7e0d73e8b5d07d6407ab47f2476ccaeff6937c84275cd30b016738"              ],              "index": "pypi", -            "version": "==0.10.0" +            "version": "==0.11.1"          },          "pre-commit": {              "hashes": [ -                "sha256:487c675916e6f99d355ec5595ad77b325689d423ef4839db1ed2f02f639c9522", -                "sha256:c0aa11bce04a7b46c5544723aedf4e81a4d5f64ad1205a30a9ea12d5e81969e1" +                "sha256:1657663fdd63a321a4a739915d7d03baedd555b25054449090f97bb0cb30a915", +                "sha256:e8b1315c585052e729ab7e99dcca5698266bedce9067d21dc909c23e3ceed626"              ],              "index": "pypi", -            "version": "==2.2.0" +            "version": "==2.6.0"          },          "pycodestyle": {              "hashes": [ -                "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", -                "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" +                "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367", +                "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"              ], -            "version": "==2.5.0" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==2.6.0"          },          "pydocstyle": {              "hashes": [                  "sha256:da7831660b7355307b32778c4a0dbfb137d89254ef31a2b2978f50fc0b4d7586",                  "sha256:f4f5d210610c2d153fae39093d44224c17429e2ad7da12a8b419aba5c2f614b5"              ], +            "markers": "python_version >= '3.5'",              "version": "==5.0.2"          },          "pyflakes": {              "hashes": [ -                "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", -                "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2" +                "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92", +                "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"              ], -            "version": "==2.1.1" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==2.2.0"          },          "pyyaml": {              "hashes": [ @@ -521,10 +530,11 @@          },          "six": {              "hashes": [ -                "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", -                "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" +                "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", +                "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"              ], -            "version": "==1.14.0" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==1.15.0"          },          "snowballstemmer": {              "hashes": [ @@ -535,17 +545,18 @@          },          "toml": {              "hashes": [ -                "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", -                "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" +                "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f", +                "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"              ], -            "version": "==0.10.0" +            "version": "==0.10.1"          },          "virtualenv": {              "hashes": [ -                "sha256:6f4c2882a943d20714076679f8dcc5675e953d6c29bfea3bc5d08bb6cdea5d36", -                "sha256:cb1dab893f9e39b3e68d9118c555dcd86526d531c128c3f72e1551939723b72f" +                "sha256:c11a475400e98450403c0364eb3a2d25d42f71cf1493da64390487b666de4324", +                "sha256:e10cc66f40cbda459720dfe1d334c4dc15add0d80f09108224f171006a97a172"              ], -            "version": "==20.0.14" +            "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", +            "version": "==20.0.26"          }      }  } @@ -10,7 +10,7 @@ from aiohttp import AsyncResolver, ClientSession, TCPConnector  from discord import DiscordException, Embed, Guild, User  from discord.ext import commands -from bot.constants import Channels, Client +from bot.constants import Channels, Client, MODERATION_ROLES  from bot.utils.decorators import mock_in_debug  log = logging.getLogger(__name__) @@ -103,7 +103,7 @@ class SeasonalBot(commands.Bot):              return False          else: -            log.info(f"Asset successfully applied") +            log.info("Asset successfully applied")              return True      @mock_in_debug(return_value=True) @@ -203,7 +203,9 @@ class SeasonalBot(commands.Bot):          await self._guild_available.wait() +_allowed_roles = [discord.Object(id_) for id_ in MODERATION_ROLES]  bot = SeasonalBot(      command_prefix=Client.prefix,      activity=discord.Game(name=f"Commands: {Client.prefix}help"), +    allowed_mentions=discord.AllowedMentions(everyone=False, roles=_allowed_roles),  ) diff --git a/bot/exts/christmas/adventofcode.py b/bot/exts/christmas/adventofcode.py index 00607074..b3fe0623 100644 --- a/bot/exts/christmas/adventofcode.py +++ b/bot/exts/christmas/adventofcode.py @@ -58,7 +58,7 @@ async def countdown_status(bot: commands.Bot) -> None:          hours, minutes = aligned_seconds // 3600, aligned_seconds // 60 % 60          if aligned_seconds == 0: -            playing = f"right now!" +            playing = "right now!"          elif aligned_seconds == COUNTDOWN_STEP:              playing = f"in less than {minutes} minutes"          elif hours == 0: diff --git a/bot/exts/evergreen/snakes/snakes_cog.py b/bot/exts/evergreen/snakes/snakes_cog.py index b3896fcd..9bbad9fe 100644 --- a/bot/exts/evergreen/snakes/snakes_cog.py +++ b/bot/exts/evergreen/snakes/snakes_cog.py @@ -567,7 +567,7 @@ class Snakes(Cog):              antidote_embed = Embed(color=SNAKE_COLOR, title="Antidote")              antidote_embed.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)              antidote_embed.set_image(url="https://i.makeagif.com/media/7-12-2015/Cj1pts.gif") -            antidote_embed.add_field(name=f"You have created the snake antidote!", +            antidote_embed.add_field(name="You have created the snake antidote!",                                       value=f"The solution was: {' '.join(antidote_answer)}\n"                                             f"You had {10 - antidote_tries} tries remaining.")              await board_id.edit(embed=antidote_embed) @@ -1078,7 +1078,7 @@ class Snakes(Cog):              query = snake['name']          # Build the URL and make the request -        url = f'https://www.googleapis.com/youtube/v3/search' +        url = 'https://www.googleapis.com/youtube/v3/search'          response = await self.bot.http_session.get(              url,              params={ diff --git a/bot/exts/halloween/candy_collection.py b/bot/exts/halloween/candy_collection.py index 2c7d2f23..caf0df11 100644 --- a/bot/exts/halloween/candy_collection.py +++ b/bot/exts/halloween/candy_collection.py @@ -212,9 +212,9 @@ class CandyCollection(commands.Cog):          e = discord.Embed(colour=discord.Colour.blurple())          e.add_field(name="Top Candy Records", value=value, inline=False)          e.add_field(name='\u200b', -                    value=f"Candies will randomly appear on messages sent. " -                          f"\nHit the candy when it appears as fast as possible to get the candy! " -                          f"\nBut beware the ghosts...", +                    value="Candies will randomly appear on messages sent. " +                          "\nHit the candy when it appears as fast as possible to get the candy! " +                          "\nBut beware the ghosts...",                      inline=False)          await ctx.send(embed=e) diff --git a/bot/utils/decorators.py b/bot/utils/decorators.py index 519e61a9..9e6ef73d 100644 --- a/bot/utils/decorators.py +++ b/bot/utils/decorators.py @@ -285,7 +285,7 @@ def locked() -> t.Union[t.Callable, None]:                  embed = Embed()                  embed.colour = Colour.red() -                log.debug(f"User tried to invoke a locked command.") +                log.debug("User tried to invoke a locked command.")                  embed.description = (                      "You're already using this command. Please wait until "                      "it is done before you use it again." diff --git a/bot/utils/pagination.py b/bot/utils/pagination.py index 9a7a0382..a4d0cc56 100644 --- a/bot/utils/pagination.py +++ b/bot/utils/pagination.py @@ -128,7 +128,7 @@ class LinePaginator(Paginator):          if not lines:              if exception_on_empty_embed: -                log.exception(f"Pagination asked for empty lines iterable") +                log.exception("Pagination asked for empty lines iterable")                  raise EmptyPaginatorEmbed("No lines to paginate")              log.debug("No lines to add to paginator, adding '(nothing to display)' message") @@ -335,7 +335,7 @@ class ImagePaginator(Paginator):          if not pages:              if exception_on_empty_embed: -                log.exception(f"Pagination asked for empty image list") +                log.exception("Pagination asked for empty image list")                  raise EmptyPaginatorEmbed("No images to paginate")              log.debug("No images to add to paginator, adding '(no images to display)' message") | 
