|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| |\ \ \ \  
| | | | | 
| | | | | | Add converter typehints | 
| | |\ \ \ \  
| |/ / / /  
|/| | | | |  | 
| |\ \ \ \ \  
| | | | | | 
| | | | | | | Give partners and community members more access | 
| | | | | | | |  | 
| | | | | | | |  | 
| | |\ \ \ \ \  
| | | | | | | 
| | | | | | | 
| | | | | | | | community-partners-access | 
| | | |\ \ \ \ \  
| |_|/ / / / /  
|/| | | | | | |  | 
| |\ \ \ \ \ \ \  
| | | | | | | | 
| | | | | | | | | Restrict internal eval command to bot owner when in debug mode | 
| | |\ \ \ \ \ \ \  
| |/ / / / / / /  
|/| | | | | | | |  | 
| |\ \ \ \ \ \ \ \  
| | | | | | | | | 
| | | | | | | | | | Update nomination messages to display user mention | 
| |/ / / / / / / / |  | 
| |\ \ \ \ \ \ \ \  
| | | | | | | | | 
| | | | | | | | | | Ignore bot mentions in antispam mentions rule | 
| | |\ \ \ \ \ \ \ \  
| |/ / / / / / / /  
|/| | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | It's a security risk to let anyone in a test server have essentially
full access to the host machine.
Resolve #1683 | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | 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. | 
| | | | |/ / / / / |  | 
| | | | | | | | | |  | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | | `!liststream` | 
| | | | | | | | | |  | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | | `!raw` in any channel | 
| | | | | | | | | |  | 
| | | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | | Allow partners & members of the python community to use `!remind`, `!help` `!user`, `!snowflake`, `!ping`, `!charinfo` in any channel | 
| | | | | | | | | |  | 
| | | | | | | | | |  | 
| | | | | | | | | |  | 
| | | | | |\ \ \ \  
| |_|_|_|/ / / /  
|/| | | | | | |   
| | | | | | | |   
| | | | | | | | | # Conflicts:
#	bot/converters.py | 
| |\ \ \ \ \ \ \ \  
| | | | | | | | | 
| | | | | | | | | | Remove restriction on snowflake command | 
| | |\ \ \ \ \ \ \ \  
| |/ / / / / / / /  
|/| | | | | | | | |  | 
| |\ \ \ \ \ \ \ \ \  
| | | | | | | | | | 
| | | | | | | | | | | Cross-channel and deleted messages anti-spam | 
| | |\ \ \ \ \ \ \ \ \  
| |/ / / / / / / / /  
|/| | | | | | | | | |  | 
| |\ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | 
| | | | | | | | | | | | Allow manual mutes to override auto mutes | 
| | |\ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / /  
|/| | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | 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 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | 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. | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | Removed unused import, corrected docstring, and removed unnedded type annotation. | 
| | | | | | | | | | | | |  | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | 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. | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | The anti-spam cog was amended to handle cross-channel spam. |