aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | | | Ignore bot mentions in antispam mentions ruleGravatar wookie1842021-08-23-1/+5
| | | | | | |
| | | * | | | Enable debug mode by defaultGravatar MarkKoz2021-08-23-2/+2
| | | | | | |
| | | * | | | Restrict internal eval to bot owner when in debug modeGravatar MarkKoz2021-07-27-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a security risk to let anyone in a test server have essentially full access to the host machine. Resolve #1683
| | | * | | | Specify DEBUG_MODE via the config fileGravatar MarkKoz2021-07-27-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `SITE_URL` environment variable hasn't been used by anything else for a long time. It wouldn't have been reliable to look for "local" anyway since the Docker hostname may be used.
| | | | * | | Fix lintingGravatar Izan2021-08-24-5/+7
| | | | |/ /
| | | | * | Allow partners & members of the python community to have mentions in `!remind`Gravatar Izan2021-08-24-2/+2
| | | | | |
| | | | * | Ignore partners & members of the python community as well as staff from ↵Gravatar Izan2021-08-24-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | `!liststream`
| | | | * | Minor linting fixesGravatar Izan2021-08-24-4/+9
| | | | | |
| | | | * | Allow partners & members of the python community to bypass cooldown and use ↵Gravatar Izan2021-08-24-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | `!raw` in any channel
| | | | * | Allow partners & members of the python community to use `!role` and `!roles`Gravatar Izan2021-08-24-2/+2
| | | | | |
| | | | * | Allow partners & members of the python community to use commands in any channelGravatar Izan2021-08-24-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | Allow partners & members of the python community to use `!remind`, `!help` `!user`, `!snowflake`, `!ping`, `!charinfo` in any channel
| | | | * | Add constants.STAFF_PARTNERS_COMMUNITY_ROLESGravatar Izan2021-08-24-0/+1
| | | | | |
| | | | | * Remove TagContentConverterGravatar Numerlor2021-08-23-58/+0
| | | | | |
| | | | | * Prevent import cycle when importing EXTENSIONSGravatar Numerlor2021-08-23-2/+4
| | | | | |
| | | | | * Merge remote-tracking branch 'upstream/main' into converter-typehintsGravatar Numerlor2021-08-23-656/+1297
| | | | | |\ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | # Conflicts: # bot/converters.py
| * | | | | Merge pull request #1772 from D0rs4n/pr/nostafflakeGravatar Boris Muratov2021-08-23-4/+0
| |\ \ \ \ \ | | | | | | | | | | | | | | Remove restriction on snowflake command
| | * \ \ \ \ Merge branch 'main' into pr/nostafflakeGravatar Boris Muratov2021-08-23-89/+564
| | |\ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge pull request #1760 from python-discord/mbaruh/anti-spamGravatar Boris Muratov2021-08-23-36/+465
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Cross-channel and deleted messages anti-spam
| | * \ \ \ \ \ Merge branch 'main' into mbaruh/anti-spamGravatar Matteo Bertucci2021-08-23-311/+308
| | |\ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge pull request #1682 from python-discord/feat/mod/1665/override-auto-muteGravatar Boris Muratov2021-08-23-53/+99
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Allow manual mutes to override auto mutes
| | * \ \ \ \ \ \ Merge branch 'main' into feat/mod/1665/override-auto-muteGravatar Boris Muratov2021-08-23-842/+1204
| | |\ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| | * | | | | | | Clarify a commentGravatar MarkKoz2021-07-23-1/+1
| | | | | | | | |
| | * | | | | | | Fix pardon_infraction call for permanent bansGravatar MarkKoz2021-07-23-1/+1
| | | | | | | | |
| | * | | | | | | Add missing notify param to _pardon_action for superstarifyGravatar MarkKoz2021-07-23-12/+13
| | | | | | | | |
| | * | | | | | | Avoid sending pardon DM when overriding a muteGravatar MarkKoz2021-07-15-30/+59
| | | | | | | | |
| | * | | | | | | Remove redundant parameter from pardon_voice_banGravatar MarkKoz2021-07-15-5/+5
| | | | | | | | |
| | * | | | | | | Fix get_active_infraction testGravatar MarkKoz2021-07-15-2/+2
| | | | | | | | |
| | * | | | | | | Display error if overriding mute failsGravatar MarkKoz2021-07-15-1/+7
| | | | | | | | |
| | * | | | | | | Allow manual mutes to override auto mutesGravatar MarkKoz2021-07-15-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a moderator mutes a user, allow them to override any active mute that was automatically applied by the bot (e.g. from antispam). Resolve #1665
| | | * | | | | | Improve cache iteration speedGravatar Boris Muratov2021-08-22-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | getitem based iteration included operations that aren't necessary when iterating over the cache continuously. Adding an iter method to the class seems to have improved iteration speed by several orders of magnitude.
| | | * | | | | | Additional comments and tests for slicingGravatar mbaruh2021-08-21-2/+5
| | | | | | | | |
| | | * | | | | | Clean up codeGravatar mbaruh2021-08-21-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed unused import, corrected docstring, and removed unnedded type annotation.
| | | * | | | | | Fix MessageCache slicing bugs, improve testsGravatar mbaruh2021-08-21-26/+41
| | | | | | | | |
| | | * | | | | | Identify DeletionContext by members, not channelsGravatar mbaruh2021-08-21-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the anti-spam now works cross-channels, it makes no sense to identify it by the channel in which it was invoked. The DeletionContext class was changed to accept a frozenset of members, and the message_deletion_queue dict uses the frozensets as keys. DeletionContext still accepts a channel on creation, because while it might get added more channels, there's only one channel in which the mute message will be sent. Using members as the key can run into the issue of one member becoming irrelevant to the filter while others still are, resulting in another log message being sent, but it's an unlikely edge case since the users should be muted almost immediately, and we're currently not using any multi-member filters in the first place.
| | | * | | | | | AntiSpam deletes from all spammed channelsGravatar mbaruh2021-08-21-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The anti-spam cog was amended to handle cross-channel spam.
| | | * | | | | | AntiSpam modified to work with cacheGravatar mbaruh2021-08-21-9/+406
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The anti-spam cog now uses a cache instead of reading channel history. The cache is for all channels in the guild, and does not remove deleted messages. That means that the anti-spam logic now works cross-channel and counts deleted messages. The size of the cache is determined via a new field in the config YAML file. The cache was implemented as a separate class, MessageCache, which uses circular buffer logic. This allows for constant time addition and removal form either side, and lookup. The cache does not support removal from the middle of the cache. The cache additionally stores a mapping from message ID's to the index of the message in the cache, to allow constant time lookup by message ID. The commit additionally adds accompanying tests, and renames `cache.py` to `caching.py` to better distinguish it from the new `message_cache.py` and convey that it's for general caching utilities.
| | | * | | | | | Move max_interval to initGravatar Boris Muratov2021-08-17-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The on_message event calculated the max interval value every time for no reason. The value is constant throughout the bot's up time.
| | | | * | | | | Remove restriction on snowflake commandGravatar D0rs4n2021-08-23-4/+0
| | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge pull request #1771 from python-discord/TizzySaurus-patch-1Gravatar Matteo Bertucci2021-08-23-0/+2
| |\ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | | | | Escape markdown in user's name for `!user` command
| | * | | | | | Escape markdown in user's name for `!user` commandGravatar TizzySaurus2021-08-23-0/+2
| |/ / / / / /
| * | | | / / Update reminders command to use `UserMentionOrID` instead of ↵Gravatar TizzySaurus2021-08-23-4/+5
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | `discord.Member` to fix greediness issues. (#1768)
| * | | | | Update time format in reminder message to DAY_TIME from RELATIVE (#1766)Gravatar TizzySaurus2021-08-23-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update time format in reminder message to DAY_TIME from RELATIVE Co-authored-by: Xithrius <[email protected]>
| * | | | | Merge pull request #1762 from python-discord/metabase-sharingGravatar Xithrius2021-08-22-51/+70
| |\ \ \ \ \ | | | | | | | | | | | | | | Metabase sharing
| | * \ \ \ \ Merge branch 'main' into metabase-sharingGravatar Xithrius2021-08-22-174/+90
| | |\ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge pull request #1742 from python-discord/remove-redundant-convertersGravatar Boris Muratov2021-08-22-166/+78
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove redundant converters and renamed FetchedMember to MemberOrUser
| | * \ \ \ \ \ Merge branch 'main' into remove-redundant-convertersGravatar Boris Muratov2021-08-22-340/+574
| | |\ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge pull request #1743 from python-discord/dawnofmidnight/site-urlsGravatar Boris Muratov2021-08-22-7/+7
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fix: update urls in site cog
| | * \ \ \ \ \ \ Merge branch 'main' into dawnofmidnight/site-urlsGravatar Boris Muratov2021-08-22-333/+567
| | |\ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #1764 from python-discord/TizzySaurus-patch-1Gravatar Matteo Bertucci2021-08-22-1/+5
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix edge-case of `user.joined_at` being `None` in userinfo command.
| | * | | | | | | | Fix edge-case of `user.joined_at` being `None` in userinfo command.Gravatar TizzySaurus2021-08-22-1/+5
| |/ / / / / / / /