|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | 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. | 
| |\| | | | | | | | | | | | | | | | | | | | | | |  | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | Updated available help channel embed | 
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |/ / / / / / / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | |  | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |_|_|_|_|_|/ / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | | Include Unicode emojis to emojis filter | 
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |/ / / / / / / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix the deploy stage of our build pipeline | 
| | |/ / / / / / / / / / / / / / / / / / / / / / /  
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | | I've fixed the deploy stage of our build pipeline, as it got mixed in
with the old workflow file due to a merge conflict. The deploy stage is
currently split into a separate workflow; theoretically, this allows us
to trigger a redeploy from GitHub, without having to build the container
image again.
Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |  | 
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |/ / / / / / / / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | | |  | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | python-discord/sebastiaan/backend/improve-actions-workflow
Ensure flake8 actually lints pull requests | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's better to document these steps.
Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, our old setup did not actually lint the PR, as it was
running in the context of the target repository. To sidestep the issue
of using `pull_request_target` altogether, I've now changed our run of
flake8 to using it directly and having it output its errors in teh
format of Workflow Commands.
This means that our flake8 output will not be translated automatically
in annotations for the run.
In addition, I've split up the workflow into two separate files: one for
linting & testing and one for building (& deploying).
Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | |/ / / / / / / / / / / / / / / / / / / / / / / /  
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | |   
| | | | | | | | | | | | | | | | | | | | | | | | | | We're in the process of migrating snekbox to the GitHub Container
Repository, which will replace DockerHub. I've changed docker-compose to
reflect that change.
Signed-off-by: Sebastiaan Zeeff <[email protected]> | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | |/ / / / / / / / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | It was causing an error if a DSN was not configured. It also feels wrong
and confusing to attempt to make a connection just upon import. | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | The classes no longer hold any state since they can use the global bot
instance. | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | They're pretty close to being fully static classes, but it's difficult
to make the name attribute a static abstract property. | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | | | | | | | | | | | Is **very** convenient when writing utility functions that rely on the
bot's state, but aren't in cogs and therefore lack the typical way to
access the instance. No more passing around of the instance as an arg! | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | | | | | | | | | | | | | | | | | | | | | | | | |  | 
| | | |/ / / / / / / / / / / / / / / / / / / / / /  
| |/| | | | | | | | | | | | | | | | | | | | | | |  |