aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2019-10-03Support giving multiple extensions to reloadGravatar MarkKoz-10/+17
* Rename reload_all to batch_reload
2019-10-03Fix concatenation of error messages for extension reloadsGravatar MarkKoz-2/+2
2019-10-03Show original exception, if available, when an extension fails to loadGravatar MarkKoz-0/+3
2019-10-03Use manage method for extensions commandsGravatar MarkKoz-198/+69
* Rewrite docstrings for commands * Rename KEEP_LOADED to UNLOAD_BLACKLIST and make it a set * Change single quotes to double quotes * Add "cogs" as an alias to the extensions group
2019-10-03Fix the values in the extensions setGravatar MarkKoz-1/+5
* Store just the names rather than entire ModuleInfo objects * Fix prefix argument
2019-10-03Add a custom converter for extensionsGravatar MarkKoz-8/+33
The converter fully qualifies the extension's name and ensures the extension exists. * Make the extensions set a module constant instead of an instant attribute and make it a frozenset. * Add a cog error handler to handle BadArgument locally and prevent the help command from showing for such errors.
2019-10-03Add a generic method to manage loading/unloading extensionsGravatar MarkKoz-0/+31
2019-10-03Replace with_role decorator with a cog_checkGravatar MarkKoz-6/+6
2019-10-03Simplify extension discovery using pkgutilGravatar MarkKoz-15/+5
The cog now keeps a set of full qualified names of all extensions.
2019-10-03Add enum for extension actionsGravatar MarkKoz-0/+9
2019-10-03Rename the "cogs" extension & cog to "extensions"Gravatar MarkKoz-14/+14
2019-10-03Improve readabilityGravatar Ben Diller-0/+1
Co-Authored-By: Mark <[email protected]>
2019-10-03Move asyncio.sleep() to avoid disturbing function signatures.Gravatar bendiller-16/+13
2019-10-02Add sleep(3) between retries, with bot indicating typing during sleepGravatar bendiller-4/+9
2019-10-02Add logging for invalid response (after all retries are exhausted)Gravatar bendiller-1/+3
2019-10-03Fix mutes not being re-applied on rejoins.Gravatar scragly-5/+42
2019-10-02Fix `cog_unload` bug in WatchChannel ABCGravatar Sebastiaan Zeeff-1/+1
https://github.com/python-discord/bot/issues/482 There was small bug in the `cog_unload` method of the WatchChannel ABC in `bot.cogs.watchchannels.watchchannel`. The problem was that it tries to check if the Task assigned to `self._consume_task` is done by accessing its `done` method. However, if a watch channel has not yet relayed messages after the bot has started, it will not have a consumption task yet, meaning this `_consume_task` attribute will be assigned to `None`. The solution is to change the `if` condition to: `if self._consume_task and not self._consume_task.done():` This commit closes #482
2019-10-01Fix missing type annotations and docstring errors.Gravatar Leon Sandøy-7/+3
2019-10-01Create !tools alias and split !site resources.Gravatar Leon Sandøy-7/+28
This splits the former !site resources into two separate commands, one for !site resources and one for !site tools. This makes sense now that we've split up the lists into two pages. It also adds a new alias, !tools, to call this command. This addresses #478. https://github.com/python-discord/bot/issues/478
2019-10-01Add checks for valid response and retries to fetch_posts()Gravatar bendiller-9/+13
2019-10-01Update docs cog docstring & fix URL converter attribute errorGravatar S. Co1-4/+4
2019-10-01Update bot/cogs/doc.pyGravatar Ayplo-1/+1
Co-Authored-By: S. Co1 <[email protected]>
2019-10-01Remove single-item listGravatar S. Co1-2/+1
It looks silly
2019-10-01Make `!tags edit` use PATCH to update tagsGravatar Sebastiaan Zeeff-2/+31
https://github.com/python-discord/bot/issues/474 This commit makes sure we're using the PATCH method to update tags, instead of the POST method. The problem was that the `!tags edit` command was an alias of `!tags set`, which uses the POST method to post new tags to the API. However, when a tag with a given name already exists, the API will refuse a POST request in an attempt to update it; we need to use the PATCH method to the `bot/tags/{tag_name}` endpoint instead. I fixed this by creating a separate subcommand, `!tags edit`, that uses the correct PATCH method to update an existing tag. This commit closes #474
2019-09-30Update contrib doc for new wiki linksGravatar sco1-3/+4
2019-09-30Forward arguments to getGravatar Tom Sputz-1/+1
2019-09-30Remove temp instructions, add link to contrib guide on website.Gravatar scragly-27/+1
2019-09-30Make `bot` wait for `web`, use `latest` web image.Gravatar scragly-2/+3
2019-09-29Do up some basic setup instructions for new setup.Gravatar scragly-0/+28
2019-09-28Update site to use new manage.py, add bot dev compose.Gravatar scragly-7/+20
2019-09-28Use pathlib, avoid inner `bot` directory for logs.Gravatar scragly-7/+6
2019-09-27Apply suggestions from code reviewGravatar S. Co1-2/+2
Co-Authored-By: Mark <[email protected]>
2019-09-28Lovely lemon let loose and forgot linting.Gravatar scragly-1/+1
2019-09-27Allow Rockstars and Partners to use !eval.Gravatar Leon Sandøy-7/+10
Anyone who is not a Rockstar, a Partner, or a member of staff will still be redirected to #bot-commands.
2019-09-27Ensure docker containers are published only for master branch builds.Gravatar scragly-1/+1
2019-09-26Remove invalid colorama markersGravatar S. Co1-2/+0
2019-09-26Update flake8-annotations & fix missing lintsGravatar S. Co1-10/+47
2019-09-26Use Command.cog_name attr instead of missing instance attrGravatar S. Co1-2/+2
2019-09-26Fix incorrect kwargs in watchchannel modlog sendGravatar S. Co1-2/+2
2019-09-26Parse timestamps with dateutil for watch channelsGravatar MarkKoz-5/+2
2019-09-26Use format_infaction datetime util in talentpoolGravatar Sebastiaan Zeeff-11/+5
The watchchannel ABC defined its own private utility function to format ISO datetime strings to something more human-readable. I have removed this private utility function and replaced the calls to it with calls to the new `format_infraction` utility function defined in bot.utils.time. In addition, I've changed the utility function to use `dateutil` to parse the datetime string, since `dateutil.parser.isoparse` supports the strings our API generates out of the box. With the built-in `datetime.datetime.fromisoformat`, we needed to prepare the string by slicing of the `Z` timezone indicator.
2019-09-26Add utility function to consistently format infraction timestampsGravatar MarkKoz-33/+18
The format used is %Y-%m-%d %H:%M.
2019-09-26Show when field is unchanged in infraction edit confirmation messageGravatar MarkKoz-0/+4
2019-09-25Display "Permanent" in mod log for edited infractionsGravatar MarkKoz-2/+2
2019-09-25Merge infraction edit commandsGravatar MarkKoz-108/+62
Both the duration and the reason can be edited with the new command. * Remove try-except; the default error handler is already adequate * Remove the new reason from the confirmation message * Simplify humanisation of the timestamp in the confirmation message * Add a converter to support permanent durations
2019-09-25Fix AttributeError with cog special methodsGravatar MarkKoz-4/+4
Discord.py's internals use the __func__ attribute of special methods (cog_command_error, cog_check, cog_before_invoke, cog_after_invoke). Therefore the methods must be bound methods rather than static so that the attribute exists.
2019-09-25Swapped Lambda for itemgetterGravatar Daniel Brown-1/+2
- For the sake of code style and consistency, the lambda has been swapped with operator.itemgetter Signed-off-by: Daniel Brown <[email protected]>
2019-09-25Free Command FixGravatar Daniel Brown-2/+2
- Moved the sorted function to its own line and instead passed the generated list for code clarity. Signed-off-by: Daniel Brown <[email protected]>
2019-09-25Free Command FixGravatar Daniel Brown-4/+4
- Fixed bug where if two channels had the same last message timestamp the command would error out. Signed-off-by: Daniel Brown <[email protected]>
2019-09-25Remove infraction reason from infraction confirmationGravatar S. Co1-53/+10
Closes #325