aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | | | | | | Verification: schedule ping taskGravatar kwzrd2020-08-05-3/+5
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: implement unverified role ping taskGravatar kwzrd2020-08-05-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're making good use of d.py's tasks framework. RedisCache is used to persist the reminder message ids, which can conveniently be converted into timestamps. It is therefore trivial to determine the time to sleep before the first ping. After that, the bot simply pings every n hours.
| * | | | | | | | | | | | Verification: ignore verification reminder message eventGravatar kwzrd2020-08-04-0/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: add reminder cacheGravatar kwzrd2020-08-04-0/+5
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: comment message usesGravatar kwzrd2020-08-04-0/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: add reminder ping message & frequencyGravatar kwzrd2020-08-04-0/+11
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: move time constants above messagesGravatar kwzrd2020-08-04-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows referencing the constants within the message bodies.
| * | | | | | | | | | | | Verification: make authorization message ping core devsGravatar kwzrd2020-08-04-2/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: schedule member update taskGravatar kwzrd2020-08-04-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that it's necessary to cancel the task manually. Otherwise, duplicate tasks can be running concurrently should the extension be reloaded.
| * | | | | | | | | | | | Verification: add region comments & move property to topGravatar kwzrd2020-08-04-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cog is getting large so let's allow collapsing related bits.
| * | | | | | | | | | | | Verification: create task to update unverified membersGravatar kwzrd2020-08-04-0/+37
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: repurpose & rename `_check_users`Gravatar kwzrd2020-08-04-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's only use this function to check on the guild status. It can be exposed via a command in the future. Name adjusted to be more accurate w.r.t. Discord terminology.
| * | | | | | | | | | | | Verification: implement `_verify_kick` helperGravatar kwzrd2020-08-04-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used to guard the call to `_kick_members`.
| * | | | | | | | | | | | Verification: implement `_kick_members` helperGravatar kwzrd2020-08-04-3/+21
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: implement `_give_role` helperGravatar kwzrd2020-08-04-2/+21
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: implement `check_users` coroutineGravatar kwzrd2020-08-04-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See docstring for details. The coroutine will be registered as a task at a later point.
| * | | | | | | | | | | | Verification: define time constantsGravatar kwzrd2020-08-04-0/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: refactor `discord` importsGravatar kwzrd2020-08-04-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's access these via the qualified name. The amount of imported names was starting to get unwieldy.
| * | | | | | | | | | | | Verification: add @Unverified role to configGravatar kwzrd2020-08-04-2/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: send initial message on member joinGravatar kwzrd2020-08-02-1/+11
| | | | | | | | | | | | |
| * | | | | | | | | | | | Verification: adjust & rename welcome messageGravatar kwzrd2020-08-02-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's give it a better name so that it's clear when this message is sent. The initial words are adjusted to avoid repetition after the on join message.
| * | | | | | | | | | | | Verification: add initial on join messageGravatar kwzrd2020-08-02-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This message will be sent via direct message to each user who joins the guild.
| | | | * | | | | | | | | Change tests to work with the new file layout.Gravatar Numerlor2020-07-15-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 326beebe9b097731a39ecc9868e5e1f2bd762aae
| | | | * | | | | | | | | Move `find_nth_occurrence` to utils helpersGravatar Numerlor2020-07-15-13/+14
| | | | | | | | | | | | |
| | | | * | | | | | | | | Move `send_to_paste_service` to services submoduleGravatar Numerlor2020-07-15-54/+55
| | | | | | | | | | | | |
| | | | * | | | | | | | | Move general helper functions to submodule.Gravatar Numerlor2020-07-15-15/+14
| | | | | | | | | | | | |
| | | | * | | | | | | | | Merge branch 'master' into truncate-internal-evalGravatar Numerlor2020-06-21-492/+1374
| | | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # bot/utils/__init__.py
| | | | * \ \ \ \ \ \ \ \ \ Merge branch 'master' into truncate-internal-evalGravatar Numerlor2020-05-30-963/+2140
| | | | |\ \ \ \ \ \ \ \ \ \
| | | | * | | | | | | | | | | Strip empty lines from int eval output.Gravatar Numerlor2020-05-30-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The output generates trailing newlines, which can cause the output to be uploaded to the paste service in cases where it's not needed, as discord will automatically remove those in messages.
| | | | * | | | | | | | | | | Truncate amount of lines in int eval output to 15.Gravatar Numerlor2020-05-30-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the amount of newlines was checked and uploaded to the paste service if above 15 but the sent message was not truncated to only include that amount of lines.
| | | | * | | | | | | | | | | Add tests for `send_to_paste_service`.Gravatar Numerlor2020-05-08-0/+74
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Adjust behaviour for new func usage.Gravatar Numerlor2020-05-07-14/+5
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Remove tests from moved function.Gravatar Numerlor2020-05-07-15/+0
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Log unexpected JSON responses.Gravatar Numerlor2020-05-07-0/+4
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | continue on internal server errors.Gravatar Numerlor2020-05-07-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case we receive `"message"` in the json response, the server had an internal error and we can attempt the request again.
| | | | * | | | | | | | | | | Handle broad exceptions.Gravatar Numerlor2020-05-07-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case an unexpected exception happens, this allows us to try the request again or let the function exit gracefully in the case of multiple fails.
| | | | * | | | | | | | | | | Continue on failed connections.Gravatar Numerlor2020-05-07-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not using skipping the iteration but continuing directly caused `response_json` being checked but not defined in case of connection errors. Co-authored-by: MarkKoz <[email protected]>
| | | | * | | | | | | | | | | Use new util function for uploading output.Gravatar Numerlor2020-05-06-11/+2
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Handle failed paste uploads.Gravatar Numerlor2020-05-06-1/+6
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Increase log level.Gravatar Numerlor2020-05-06-1/+1
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Send long eval output to paste service.Gravatar Numerlor2020-05-06-0/+10
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Attempt requests multiple times with connection errors.Gravatar Numerlor2020-05-05-12/+17
| | | | | | | | | | | | | | |
| | | | * | | | | | | | | | | Create utility function for uploading to paste service.Gravatar Numerlor2020-05-05-0/+33
| | | | | | | | | | | | | | |
| | | | | | | * | | | | | | | Categorise most of the uncategorised extensionsGravatar MarkKoz2020-08-19-5/+5
| | | | | | | | | | | | | | |
| | | | | | | * | | | | | | | Dynamically discover and load extensions upon startupGravatar MarkKoz2020-08-19-61/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Being explicit is nice, but the list of extensions to load has gotten quite long. It's a bit of an eyesore. It's still fairly easy to temporarily exclude extensions: just remove them from the set. Granted, being able to comment them out was more convenient.
| | | | | | | * | | | | | | | Extensions: move utility functions to a utility moduleGravatar MarkKoz2020-08-19-29/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the cog cleaner and makes the functions more accessible for other modules.
| | | | | | | * | | | | | | | Extensions: beautify name unqualificationGravatar MarkKoz2020-08-19-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yes, that's a real word.
| | | | | | | * | | | | | | | Replace relative imports with absolute onesGravatar MarkKoz2020-08-19-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PEP 8 recommends absolute imports over relative ones.
| | | | | | | * | | | | | | | Add comment to explain why import is deferredGravatar MarkKoz2020-08-19-0/+1
| | | | | | | | | | | | | | |
| | | | | | | * | | | | | | | Rename "cogs" directory to "exts"Gravatar MarkKoz2020-08-14-163/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The directory contains modules, which are extensions. It only indirectly contains cogs through the extensions. Therefore, a technically more accurate name is "extensions", or "exts" when abbreviated. Furthermore, "exts" is consistent with SeasonalBot.