aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2020-01-14Add new partners to invite whitelistGravatar Joseph-0/+2
2020-01-13Replace sphinx mock classes with SimpleNamespaces; add user_agent to configGravatar Numerlor-24/+17
2020-01-12Use commas instead of `by`.Gravatar Johannes Christ-1/+1
2020-01-12Track command completions by user.Gravatar Johannes Christ-2/+4
2020-01-12Use parent path properly.Gravatar Johannes Christ-12/+5
2020-01-12Track command completions.Gravatar Johannes Christ-1/+27
2020-01-12Empty commit for autodeploy.Gravatar Johannes Christ-0/+1
2020-01-12Remove underline from `self.PREFIX`.Gravatar Johannes Christ-3/+3
2020-01-12fix(lint): wrong import orderGravatar Thomas Petersson-2/+2
2020-01-12feat(!rules): allow for throw away words after the command callGravatar Thomas Petersson-2/+5
2020-01-12Add Guild ID to message counter.Gravatar Johannes Christ-4/+6
2020-01-12Add documentation.Gravatar Johannes Christ-1/+10
2020-01-12Track messages by channel.Gravatar Johannes Christ-3/+14
2020-01-12Track member joins and leaves.Gravatar Johannes Christ-1/+15
2020-01-12Only request offline members for large guilds.Gravatar Johannes Christ-1/+2
2020-01-12Add the `metrics` cog.Gravatar Johannes Christ-0/+41
2020-01-12Start Prometheus HTTP server on bot start.Gravatar Johannes Christ-0/+3
2020-01-12Install `prometheus-async`.Gravatar Johannes Christ-179/+211
2020-01-11Add handling for empty PEP metadata valuesGravatar S. Co1-8/+6
Some PEPs have a metadata field that is present but has an empty value (e.g. PEP 249), causing an exception to be raised when attempting to add it as an embed field value, which cannot be empty. This refactors the information parsing to prevent the field from being added if there is no value to provide, as well as cut down on copy+paste when populating fields in the embed.
2020-01-11Update Code Jam Participant IDGravatar Leon Sandøy-1/+1
2020-01-09Adding PyGame and Ren'Py to the invite white listGravatar Daniel Brown-0/+2
With the addition of the #game-development channel, I would expect we'll see an increase in people needing specific help with the various engines and libraries that Python has to offer. As part of this, I'm adding the servers for PyGame and Ren'Py to the white list to help people get to the proper resources they might need.
2020-01-01Move comment into if bodyGravatar Numerlor-2/+2
2020-01-01Rename last_paragraph_end variable to a more fitting nameGravatar Numerlor-6/+6
2019-12-31Make sure description is truncated to max 1000 charsGravatar Numerlor-2/+8
2019-12-30Watchchannels: show username in response for already watched usersGravatar MarkKoz-2/+2
Makes it clear which user it is in the case of an ID being used to invoke the command.
2019-12-30Update filetype whitelist to include audio formatsGravatar Ava-0/+3
Discord has a built-in player for all of these and they are really just stripped down videos, which are allowed.
2019-12-26Use a static discord shield on the readme.Gravatar scragly-1/+1
2019-12-22Add ducky attributes to bot.constantsGravatar Sebastiaan Zeeff-0/+6
I have added attributes to the Emojis class in `bot.constants` for the newly added ducky emoji constants.
2019-12-22Add ducky constants to make duckpond workGravatar Sebastiaan Zeeff-1/+7
I have added the IDs of the new duckies we have to the constants
2019-12-22Allow PSD's and more on antimalware whitelistGravatar Leon Sandøy-0/+5
Also includes the following related formats: - .svg - .ai (Adobe Illustrator) - .aep (Adobe After Effects) - .xcf (GIMP
2019-12-19Moderation: explicitly set active value when posting infractionsGravatar MarkKoz-5/+5
Required due to changes in the API making the active field required. See python-discord/site/pull/317
2019-12-18ModLog: support self_stream voice stateGravatar MarkKoz-1/+5
This feature will be available in discord.py 1.3.
2019-12-18ModLog: change voice state embed icon and colourGravatar MarkKoz-5/+22
Use a red icon when leaving or mute/deafened. Use a green icon when joining or unmuted/undeafened. Use a blue icon when changing channels or any other possible change.
2019-12-18Constants: add voice state emotesGravatar MarkKoz-0/+8
2019-12-17Use on_user_update to properly sync users with dbGravatar Sebastiaan Zeeff-29/+26
It's important to us that we keep the information we have about users in the database in sync with the actual user information the bot can observe in our guild. To do this, we relied on the `on_member_update` event listener to synchronize a user's information when an update of the information was detected. However, unfortunately, this does not work for user account information (i.e., the username, avatar, and discriminator of the user). The solution is to use the `on_user_update` event listener to watch for updates in the user settings and to use the `on_member_update` event listener to watch for updates in guild-related information for that user. (We currently only sync the roles the user has.) See: - https://discordpy.readthedocs.io/en/stable/api.html#discord.on_member_update - https://discordpy.readthedocs.io/en/stable/api.html#discord.on_user_update Note: The docs for `discord.py` make it *seem* like the `on_member_update` event does not fire for updates of theusername, discriminator, and avatar attributes. However, experimentation shows that this event *does* fire; it's just that the member objects provided as `before` and `after` to the listener will already have been updated in cache by the `on_user_update` event that fires *before* it. This means that if the only changes made were to the username, avatar, and discriminator, the `on_member_update` event does fire, but with two *equal* Member objects. This makes it appear as if you may be able to use `on_member_update`, since it fires, but it does not actually contain anything useful.
2019-12-12Verification: check channel before checking for bot messagesGravatar MarkKoz-3/+3
2019-12-13Fixed a typo ( due to poor copy pasta and eyeballing skills )Gravatar Shirayuki Nekomata-1/+1
2019-12-13Added tests for `until_expiration`Gravatar Shirayuki Nekomata-0/+45
Similar to `format_infraction_with_duration` ( if not outright copying it ), added 3 tests for `until_expiration`: - None `expiry`. - Custom `max_units`. - Normal use cases.
2019-12-13Adding an optional argument for `until_expiration`, update typehints for ↵Gravatar Shirayuki Nekomata-3/+8
`format_infraction_with_duration` - `until_expiration` was being a pain to unittests without a `now` ( default to `datetime.utcnow()` ). Adding an optional argument for this will not only make writing tests easier, but also allow more control over the helper function should we need to calculate the remaining time between two dates in the past. - Changed typehint for `date_from` in `format_infraction_with_duration` to `Optional[datetime.datetime]` to better reflect what it is.
2019-12-13Revert "Revert "Use OAuth to be Reddit API compliant""Gravatar Joseph-11/+88
2019-12-13Revert "Use OAuth to be Reddit API compliant"Gravatar Joseph-88/+11
2019-12-11Clean: reformat argumentsGravatar MarkKoz-8/+33
2019-12-11Clean: allow amount argument to be skipped Gravatar Mark-4/+4
This make the channel specifiable without the amount. Co-Authored-By: scragly <[email protected]>
2019-12-11Converters: rename string to allowed_stringsGravatar MarkKoz-5/+5
2019-12-11ModManagement: add more aliases for "special" params of infraction editGravatar MarkKoz-8/+8
2019-12-11Moderation: show emoji for DM failure instead of mentioning actor (#534)Gravatar MarkKoz-3/+6
2019-12-11ModManagement: display ID of edited infraction in confirmation messageGravatar MarkKoz-1/+2
2019-12-11ModManagement: allow "recent" as ID to edit infraction (#624)Gravatar MarkKoz-2/+21
It will attempt to find the most recent infraction authored by the invoker of the edit command.
2019-12-11Add a generic converter for only allowing certain string valuesGravatar MarkKoz-13/+23
2019-12-11Verification: delete bots' messages (#689)Gravatar MarkKoz-1/+6
Messages are deleted after a delay of 10 seconds. This helps keep the channel clean. The periodic ping is an exception; it will remain.