| Commit message (Collapse) | Author | Age | Lines | |
|---|---|---|---|---|
| * | Scheduler: fix dict size changing while cancelling all tasks | 2020-03-22 | -5/+10 | |
| | | | | | | | * Make a copy of the dict * Add a `ignore_missing` param to `cancel_task` to suppress the warning for a task not being found | |||
| * | HelpChannels: fix last notification time not being set | 2020-03-22 | -1/+3 | |
| | | ||||
| * | HelpChannels: fix task cancelling itself | 2020-03-22 | -2/+0 | |
| | | ||||
| * | Scheduler: fix incorrect task id in error log | 2020-03-22 | -1/+1 | |
| | | ||||
| * | HelpChannels: cancel existing task in the dormant command | 2020-03-22 | -0/+1 | |
| | | ||||
| * | HelpChannels: fix candidate channel not being returned after waiting | 2020-03-22 | -1/+1 | |
| | | ||||
| * | HelpChannels: remove loop arg from schedule_task calls | 2020-03-22 | -2/+2 | |
| | | ||||
| * | HelpChannels: explicitly specify if a task should be cancelled | 2020-03-22 | -4/+5 | |
| | | | | | | | | | | | | | | | | When rescheduling an idle channel, the task will only be cancelled if the function was told the channel should currently have a task scheduled. This means warnings for missing tasks will appear when they should. The previous approach of checking if a task exists was flawed because it had no way to tell whether a task *should* exist. It assumed nothing is wrong if a task doesn't exist. Currently, the only case when a task shouldn't exist is when the cog is initialised and channels from the bot's previous life are being scheduled. | |||
| * | Scheduler: add a method to cancel all tasks | 2020-03-22 | -4/+9 | |
| | | | | | | | | | | The dictionary which was iterated to cancel tasks is now "private". Therefore, the scheduler should provide a public API for cancelling tasks. * Delete the task before cancelling it to prevent the done callback, however unlikely it may be, from deleting the task first | |||
| * | HelpChannels: rename elements dict to name_positions | 2020-03-22 | -3/+3 | |
| | | ||||
| * | HelpChannels: prefix channel names after reading from file | 2020-03-22 | -15/+19 | |
| | | | | | | | | Prefixing them early on means subsequent code doesn't have to deal with stripping the prefix from channel names in order to get their positions. * Remove `count` parameter from `get_names`; define it in the body | |||
| * | HelpChannels: cancel channel queue tasks on cog unload | 2020-03-22 | -1/+22 | |
| | | | | | | | * Store queue get() tasks in a list * Create a separate function to wait for a channel from the queue * Add comments for the various groups of attributes defined in __init__ | |||
| * | HelpChannels: add trace logging for notifications | 2020-03-22 | -0/+5 | |
| | | ||||
| * | HelpChannels: move newest in-use channel to the top | 2020-03-22 | -0/+1 | |
| | | | | | This gives the newest questions the most visibility. | |||
| * | BotCog: determine if a help channel by checking its category | 2020-03-22 | -10/+7 | |
| | | | | | | Initialising the dictionary with help channel IDs doesn't work anymore since help channels are now dynamic. | |||
| * | Constants: remove old help channel constants | 2020-03-22 | -18/+0 | |
| | | ||||
| * | HelpChannels: handle potential notification exceptions locally | 2020-03-22 | -1/+7 | |
| | | | | | | | The notification feature is not critical for the functionality of the help channel system. Therefore, the exception should not be allowed to propagate and halt the system in some way. | |||
| * | HelpChannels: notify configured list of roles instead of helpers only | 2020-03-22 | -7/+12 | |
| | | | | | | * Rename function `notify_helpers` -> `notify` * Use bullet-point list for config options in the docstring | |||
| * | Constants: add a roles list constant for help channel notifications | 2020-03-22 | -1/+5 | |
| | | ||||
| * | Constants: add a channel constant for help channel notifications | 2020-03-22 | -6/+11 | |
| | | ||||
| * | Constants: rename HelpChannels.notify_helpers to notify | 2020-03-22 | -4/+4 | |
| | | ||||
| * | HelpChannels: adjust the helper notification message | 2020-03-22 | -3/+3 | |
| | | ||||
| * | HelpChannels: add a minimum interval between helper notifications | 2020-03-22 | -9/+32 | |
| | | | | | | * Add configurable constant for minimum interval * Move helper notifications to a separate function | |||
| * | HelpChannels: log previous position when getting alphabetical position | 2020-03-22 | -1/+5 | |
| | | ||||
| * | HelpChannels: notify helpers if out of channels | 2020-03-22 | -0/+13 | |
| | | | | | | | Send a message in the #helpers channel pinging the @helpers role to notify them of a lack of help channels. Can be toggled off in the config. | |||
| * | HelpChannels: add a function to get a channel's alphabetical position | 2020-03-22 | -4/+23 | |
| | | | | | | * Log a warning if a channel lacks the expected help channel prefix * Log the old and new channel positions | |||
| * | HelpChannels: add a warning if more than 50 channels exist | 2020-03-22 | -0/+6 | |
| | | | | | | Discord only supports 50 channels per category. The help system will eventually error out trying to move channels if more than 50 exist. | |||
| * | HelpChannels: sort dormant channels alphabetically | 2020-03-22 | -4/+6 | |
| | | | | | | | The channels are easier to find when sorted alphabetically. * Merge some trace and info logs | |||
| * | HelpChannels: warn if too many help channels will be possible | 2020-03-22 | -0/+9 | |
| | | | | | | | | Discord only supports 50 channels per category. * Add a constant for the maximum number of channels per category * Add trace logging to `get_names` | |||
| * | HelpChannels: return elements as a truncated dict of names | 2020-03-22 | -5/+7 | |
| | | ||||
| * | HelpChannels: move reading of element names to a function | 2020-03-22 | -6/+11 | |
| | | | | | Makes it easier to test. | |||
| * | Constants: add constant for max total help channels | 2020-03-22 | -0/+5 | |
| | | | | | Represents the total number of help channels across all 3 categories. | |||
| * | Resources: map element names to alphabetic indices | 2020-03-22 | -120/+120 | |
| | | | | | | The indices will be used to sort the elements alphabetically in the dormant category. | |||
| * | HelpChannels: use more specific type hints for queues | 2020-03-22 | -2/+2 | |
| | | ||||
| * | HelpChannels: limit channels to a total of 50 | 2020-03-22 | -1/+3 | |
| | | | | | | Discord has a hard limit of 50 channels per category. It was decided 50 is plenty for now so no work will be done to support more than 50. | |||
| * | HelpChannels: explain the system in the cog docstring | 2020-03-22 | -1/+30 | |
| | | ||||
| * | HelpChannels: cancel the task in _scheduled_task | 2020-03-22 | -0/+2 | |
| | | ||||
| * | HelpChannels: use >= instead of > to determine if timed out | 2020-03-22 | -1/+1 | |
| | | ||||
| * | HelpChannels: compare contents to confirm message is a dormant message | 2020-03-22 | -1/+10 | |
| | | | | | * Add a new function to check if a message is a dormant message | |||
| * | HelpChannels: add a function to send or edit the available message | 2020-03-22 | -5/+16 | |
| | | | | | | Edits the dormant message or sends a new message if the dormant one cannot be found. | |||
| * | HelpChannels: add a function to get the last message in a channel | 2020-03-22 | -5/+15 | |
| | | ||||
| * | HelpChannels: put channels in the queue when they go dormant | 2020-03-22 | -0/+3 | |
| | | ||||
| * | HelpChannels: add missing units of time in messages | 2020-03-22 | -3/+3 | |
| | | ||||
| * | HelpChannels: fix acquisition of the on_message lock | 2020-03-22 | -1/+1 | |
| | | | | | | * Use async_with * Don't call acquire() | |||
| * | HelpChannels: ignore messages sent by bots | 2020-03-22 | -0/+3 | |
| | | ||||
| * | Resources: make all element names lower cased | 2020-03-22 | -118/+118 | |
| | | ||||
| * | HelpChannels: fix creation of the init_cog task | 2020-03-22 | -1/+1 | |
| | | | | | | The task has to be created on a specific loop because when the cog is instantiated, the event loop is not yet running. | |||
| * | Remove the free extension | 2020-03-22 | -104/+0 | |
| | | | | | Obsolete due to the new help channel system. | |||
| * | Bot: load the help channels extension | 2020-03-22 | -0/+1 | |
| | | ||||
| * | HelpChannels: add logging | 2020-03-22 | -6/+83 | |
| | | ||||