| Commit message (Collapse) | Author | Age | Lines |
| |
|
|
| |
In some cases these are actual symbols that we can look up
|
| |
|
|
|
|
|
|
|
| |
The code handling this was moved to a function to achieve this cleanly.
Includes fixes for bugs where incorrect package was added to the symbol
name in the second branch and an incorrect symbol being added in
the third branch
Co-authored-by: MarkKoz <[email protected]>
|
| | |
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
|
| |
We're not using it as a decorator so using wraps only complicates
the call syntax
|
| |
|
|
|
|
|
|
| |
Instead of fetching it again in the cog, the converter now returns
the inventory for later use. The set command now no longer attempts
to reschedule the inventory, and a bug that caused the inventory
rescheduling to do nothing in `update_single` was fixed after moving
it to its own method
|
| |
|
|
|
|
|
|
| |
Previously the bot returned an error if a symbol was not found while
inventories were refreshing, but we can just wait for the to finish
refreshing and then the symbol may be filled in.
A logging call to notify of the refresh being done was also added.
|
| |
|
|
|
|
|
|
|
| |
Creating futures for everything and then awaiting at the end takes
care of all the potential race conditions that may pop up from items
that are parsed and sent to redis while the get_markdown method is
in the middle of fetching a page. In case it happens with the
implementation we'll just need to move the item to the front and the
future will get a result set soon afterwards.
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
| |
This reverts commit ad90978f
|
| |
|
|
|
| |
The parsing may take up to a few hundred ms depending on the amount
of work it has to do
|
| |
|
|
|
|
| |
The strainer now forces the text attribute to be None, simplifying
the check on strings and falls back to the superclass' method on non
string elements
|
| |
|
|
|
|
| |
The html we parse frequently ends up with trailing and sometimes leading
newlines which get stripped out by discord anyway, we have no reason
to keep those around when sending the Markdown over to redis
|
| | |
|
| |
|
|
|
| |
The symbol is also no longer sent back to the user, as it is not
necessary and we can skip the cleanup on it
|
| |
|
|
| |
This allows the caller to work with the message further
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
|
|
|
| |
With only two strings, the addition is a bit clearer than
constructing and joining a tuple
Co-authored-by: MarkKoz <[email protected]>
|
| | |
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| | |
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
| |
The else is a bit clearer than the early return
|
| |
|
|
|
|
|
|
| |
All commands that refresh the inventories in some way are now locked to
prevent various race conditions that may have occurred in the unlikely
scenario that they got triggered together, the fetching part of the
get command now also has to wait for the running inventory refresh to
finish before proceeding to fetch and parse the html
|
| |
|
|
|
|
|
|
|
|
| |
discord.py uses the globals of functions to resolve forward refs
in commands, previously decorators applied before commands
broke the bot with forwardrefs to names that weren't in the namespace
of the module where they were defined, the new function takes care of
merging the globals in a new function to mitigate this issue.
closes: #1323
|
| |
|
|
|
| |
While technically correct, always sending success could be misleading
in case of a typo on the package
|
| |
|
|
|
|
|
| |
The finally will make sure we reset the task and log it no matter
what happens, additionally the clearing of the variable is now only
done in one place as the finally also executes when the coro is
cancelled
|
| |
|
|
|
|
|
| |
Previously in case get_markdown for an item ran twice, the one
that ran second would overwrite the future created by the first one,
potentially causing the coro to wait for it infinitely as _parse_queue
would only be able to set the last future
|
| |
|
|
|
| |
We no longer need to keep the items around since everything is in redis
and the costs of always going through redis is fairly small
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GitHub Actions has an implicit status condition, `success()`, that
is added whenever an `if` condition lacks a status function check
of its own. In this case, while the upload step did check for the
outcome of the previous "always" step, it did not have an actual
status check and, thus, only ran on success.
Since we always want to upload the artifact, even if other steps
failed, I've added the "always" status function now.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit introduces the same custom status embed as is already being
used for Sir Lancebot. The default embeds GitHub sends are disabled, as
they were causing slight issues with rate limits from time to time.
It works like this:
- The Lint & Test workflow stores an artifact with PR information, if we
are linting/testing a PR.
- Whenever we reach the end of a workflow run sequence, a status embed
is send with the conclusion status.
Signed-off-by: Sebastiaan Zeeff <[email protected]>
|
| | |\
| | |
| | | |
Create command for showing Discord snowflake creation time
|
| | | |\
| | |/
| |/| |
|
| | |\ \
| | | |
| | | | |
New `!verify` command to manually apply the Developer role
|
| | | |\ \
| | |/ /
| |/| | |
|
| | |\ \ \
| | | | |
| | | | | |
Relay the moderator's reason for `!superstarify` to the user
|
| | | |\ \ \
| | |/ / /
| |/| | | |
|
| | |\ \ \ \
| | | | | |
| | | | | | |
`!close` removes the cooldown role from the claimant
|
| | | |\ \ \ \
| | |/ / / /
| |/| | | | |
|
| | | |\ \ \ \ |
|
| | | | | | | | |
|
| | | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Stelercus/close_command
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Previously `!close` would remove the cooldown role from the person who issued the command, whereas now `unclaim_channel` handles removing the role from the claimant if it was their only channel open.
|
| | | |\ \ \ \ \ \ |
|
| | | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Stelercus/close_command
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Deleted expensive logging operation; moved cooldown role removal functionality to new `unclaim_channel` method; handle possibility that claimant has left the guild; optimized redis cache iteration with `any`
|