|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | This removes the need to fetch the Channel object. Add a trace log
to help with testing. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | The const was introduced for this purpose, but it was accidentally
not being used. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Since the cache offers a 'contains' coro, let's use it.
If the member ID is already present in the cache, they were either
already verified, or were already pung about not being verified. | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Added a None placeholder in the `__init__` for voice gate channel.
- Changed deletion logic in on_voice_state_update to check if the message has already been deleted.
- Changed deletion logic in voice_verify to only require one api call. | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Removed unnecessary else statements
- Added NO_MSG constant to replace the `False` that was being used previously in the redis cache.
Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | - Changed `VOICE_PING` constant to not contain the format brackets.
- Added more detailed description of what the `redis_cache` will hold.
- Changed message content verification to use the whole newly formatted `VOICE_PING` constant instead of a slice of it.
- Added remaining parameters for the `on_voice_state_update` event for clarity.
- Reorganized the logic of the `on_voice_state_update` for better clarity and better logging purposes.
- Removed `_async_init` in favor of checking if the guild is ready inside the `on_voice_state_update` event. Verification channel is now loaded each time when needed, reducing risk of the object becoming stale or erroring out due to the not being ready before an event was triggered.
Signed-off-by: Daniel Brown <[email protected]> | 
| | |\ \ \ \ \ \ \ \  
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Hemlock/voice-gate-ping | 
| | | |\ \ \ \ \ \ \ \ |  | 
| | |/ / / / / / / / /  
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | | | Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | - Added ping message constant to the top of the voice_gate.py file.
- Corrected logic error in checking if a user is cached and in a voice channel.
- Reduced default message deletion time to 1 minute from 5 minutes.
- Adjusted on_message event to ignore the verification ping message.
Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | - Corrected spelling on _async_init call
- Changed the None value stored in the cache if the user is already verified to False, as RedisCache doesn't support None.
- Changed RedisCache type hint to reflect change made in storage style
- Suppress NotFound errors when the ping_message can't be retrieved.
- Corrected lack of await on send call
More fixes to come.
Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | - Users who have never joined the voice channels before (and are currently unverified) will receive a ping in the #voice_verification channel
- If user is unverified, the message id is stored in the cache along with the user id.
- Added a message deletion to the voiceverify command, which removes the ping message if one exists. Also sets stored message ID to None so that it doesn't attempt to delete messages that aren't there
- Set timed message deletion for 5 minutes. | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | - Added RedisCache instance as a class attribute of the VoiceGate cog.
- Added voice_gate channel as an attribute to use it later in the cog.
- Added cache type hint.
Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Signed-off-by: Daniel Brown <[email protected]> | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | The `Optional` typehint suggests allowing None as a value, which does not
make sense as a message in the logs. | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | The reason override for the user message should be set to the infraction
reason *if* the override is None, not if it isn't.
The parameter is also renamed to `user_reason` for better clarity. | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Using `apply_infraction` from `InfractionScheduler` rather than doing it
manually allows us to handle HTTP errors while reducing code
duplication.
Specifically, discord.Forbidden is handled when the bot tries to
superstar someone they do not have permissions to.
Resolves BOT-5Q. | 
| | | | | | | | | | | |  | 
| | | | | | | | |\ \ \  
| | | | |_|_|_|/ / /  
| | | |/| | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | self.stats is referred to as bot.stats in the project, which was overlooked.
This should "disable" stats until it's successfully reconnected.
The retry attempts will continue until it stops throwing or fails 10x | 
| | | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | 
| | | | | | | | | | | Per issue #1185 the bot might go down if the statsd client fails to connect during instantiation. This can be caused by an outage on their part, or network issues.
If this happens getaddrinfo will raise a gaierror.
This PR catched the error, sets self.stats to None for the time being, and handles that elsewhere.
In addition a fallback logic was added to attempt to reconnect, in the off-chance it's a temporary outage | 
| | | | | | | | | | | |  | 
| | | | | | | | | |\ \  
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | https://github.com/python-discord/bot into moderation/user-from-metricity | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | Co-authored-by: Hassan Abouelela <[email protected]> | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | Co-authored-by: Hassan Abouelela <[email protected]> | 
| | | | | | | | | |/ / |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | |_|_|_|_|_|/ /  
| |/| | | | | | | |  | 
| | |_|_|_|_|_|_|/  
|/| | | | | | |   
| | | | | | | | | This could lead to some confusion with the users believing that this channel is reserved to help related to the selenium tool. | 
| | |_|/ / / / /  
|/| | | | | |   
| | | | | | |   
| | | | | | |   
| | | | | | |   
| | | | | | | | The cache became corrupted for reasons what we were not able to figure
out, causing the pre-commit step to fail when the environment was
retrieved from the cache. By changing the key, we force cache rebuild. | 
| |\ \ \ \ \ \ \  
| | | | | | | | 
| | | | | | | | 
| | | | | | | | 
| | | | | | | | | python-discord/sebastiaan/bugs/codeblock-language-detection
Detect codeblock language specifiers with special characters | 
| | |\ \ \ \ \ \ \  
| |/ / / / / / /  
|/| | | | | | | |  | 
| |\ \ \ \ \ \ \ \  
| | | | | | | | | 
| | | | | | | | | | New guilds tag | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | Not to sure of the title to give it but I think the content is a bit more in line with the servers other tags | 
| | | | | | | | | | |  | 
| | |\ \ \ \ \ \ \ \ |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| | | | | | | | | | | |  | 
| |\ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | 
| | | | | | | | | | | | CI: avoid failing whole job if a cache task fails | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | | Restoring from cache is non-critical. The CI can recover if cache tasks
fail. | 
| | |_|_|/ / / / / / /  
|/| | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | |   
| | | | | | | | | | | The regex we use to detect codeblocks did not recognize language
specifiers that use a dash, a plus, or a dot in their name. As there are
valid language specifiers, such as python-repl and c++, that use those
characters, I've changed the regex to reflect that.
The character set used now reflects the characters used in language
specifiers in highlight.js.
Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| |\ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | 
| | | | | | | | | | | | ```py convention in code block instructions |