aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2019-10-07Escape asterisks in extensions docstringsGravatar MarkKoz-7/+7
2019-10-07Support wildcards and multiple extensions for load and unload commandsGravatar MarkKoz-36/+48
* Rename batch_reload() to batch_manage() and make it accept an action as a parameter so that it can be a generic function. * Switch parameter order for manage() to make it consistent with batch_manage(). * Always call batch_manage() and make it defer to manage() when only 1 extension is given. * Make batch_manage() a regular method instead of a coroutine.
2019-10-07Use quotes instead of back ticks around asterisk in docstringsGravatar MarkKoz-4/+4
2019-10-03Refactor the extensions list commandGravatar MarkKoz-23/+8
2019-10-03Invoke the help command when reload is called without argsGravatar MarkKoz-0/+4
2019-10-03Fix extensions aliasGravatar MarkKoz-3/+4
* Rename accordingly from cogs to extensions * Use the Extension converter * Make the argument variable instead of keyword-only
2019-10-03Use reload_extension() instead of calling unload and reloadGravatar MarkKoz-67/+56
* Simplify output format of batch reload with only 1 list of failures * Show success/failure emoji for batch reloads * Simplify logic in the manage() function * Clean up some imports
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