| Commit message (Collapse) | Author | Age | Lines |
| ... | |
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This just reads better.
Co-authored-by: MarkKoz <[email protected]>
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In an edge case, the `_kick_members` and `_give_role` could act on
a member who has verified *after* being marked by `_check_members`
as unverified.
To address this, we perform one additional check just before sending
the request. Testing seems to indicate that the `discord.Member`
instance get updates as appropriate, so this should at least reduce
the chances of such a race happening to very close to nil.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If tasks are stopped manually, they will not automatically restart
on cog reload or bot restart.
Using `maybe_start_tasks` is necessary because we cannot interface
with Redis from a sync context.
We're using 1 and 0 because RedisCache does not currently permit
bool values due to a typestring conversion bug.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allow checking whether tasks are running, starting them, and stopping
them.
Currently, the tasks cannot be started or stopped separately. It is not
believed that we would need such a level of granularity.
Calling `cancel` on a task that isn't running is a no-op.
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
It now explains that new users can only see a limited amount of public
channels, and that there will be more once they verify.
Co-authored-by: Sebastiaan Zeeff <[email protected]>
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We will begin pinging users in the verification channel, prompting
them to join. This can cause a surge of activity that may trigger
the filter.
A better solution would involve allowing per-filter channel config,
but after internal discussion this is seen as unnecessary for now.
|
| | | | | | | | |
|
| | |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This adds the RedisCache #1090 fix, allowing us to use the cache
to hold the ping task on start-up.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We're making good use of d.py's tasks framework. RedisCache is used to
persist the reminder message ids, which can conveniently be converted
into timestamps.
It is therefore trivial to determine the time to sleep before the first
ping. After that, the bot simply pings every n hours.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Allows referencing the constants within the message bodies.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Turns out that it's necessary to cancel the task manually. Otherwise,
duplicate tasks can be running concurrently should the extension
be reloaded.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Cog is getting large so let's allow collapsing related bits.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Let's only use this function to check on the guild status. It can be
exposed via a command in the future.
Name adjusted to be more accurate w.r.t. Discord terminology.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This will be used to guard the call to `_kick_members`.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
See docstring for details. The coroutine will be registered as a task
at a later point.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Let's access these via the qualified name. The amount of imported names
was starting to get unwieldy.
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Let's give it a better name so that it's clear when this message is
sent. The initial words are adjusted to avoid repetition after the
on join message.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This message will be sent via direct message to each user who joins
the guild.
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
326beebe9b097731a39ecc9868e5e1f2bd762aae
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | | | | | |
|
| | | | | |\ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
# Conflicts:
# bot/utils/__init__.py
|
| | | | | |\ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
The output generates trailing newlines, which can cause
the output to be uploaded to the paste service in cases where
it's not needed, as discord will automatically remove those in messages.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Previously the amount of newlines was checked and uploaded
to the paste service if above 15 but the sent message was not
truncated to only include that amount of lines.
|
| | | | | | | | | | | |
|
| | | | | | | | | | | |
|
| | | | | | | | | | | |
|
| | | | | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
In the case we receive `"message"` in the json response,
the server had an internal error and we can attempt the request again.
|