| Commit message (Collapse) | Author | Age | Lines |
... | |
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Rename all parameters to "duration" for consistency
* Add missing docs about duration parameter to the superstarify command
|
| | | | | | | |
|
| |_|/ / / /
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Ensure display name changes are logged to the user-log
|
| |\ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
https://github.com/python-discord/bot/issues/489
Recently, we discovered that not all display name changes were logged
to the #user-log channel. This problem was caused by the `old_value`
or the `new_value` showing up as `None` when a user sets or removes a
guild-specific nickname. Since we ignore changes where one of the two
values is `None`, we did not log these `None->nick` or `nick->None`
events.
Since we are mainly interested in the display name of the user, and
the display name is equal to the user's guild-specific nickname if
they have set one and otherwise their username, I made the following
changes:
- Add logging of changes in the display names of members.
- Ignore nick-specific changes completely, since these changes are
already captured by the changes in the display name we now log.
This closes #489
|
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | | |
This helps enable broader detection of tokens being used in contexts beyond simple assignment
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Show the reason in infraction confirmation message if the actor is the bot
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
https://github.com/python-discord/bot/issues/476
We recently decided to hide the reason in the confirmation message
the bot sends after applying an infraction. In most situations, this
makes sense, since the message containing the invocation command
already contains the reason.
However, if the infraction was triggered by the bot itself (e.g., an
antispam trigger), this means that we're missing information that
provides context to the infraction.
This commit adds the reason back to the confirmation message, but
only if the actor of the infraction was the bot itself.
Closes #476
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As mentioned in #476, the bot currently sets the actor of infractions
applied due to an antispam rule trigger to the offending member. The
reason is that we get a `Context` object from the message that
triggered the antispam rule, which was sent by the offender.
I've changed it by patching both available author attributes,
`Context.author` and `Context.message.author` with the bot user.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Refactors the moderation utilities.
|
| |\ \ \ \ \
| |/ / / / /
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Feat/attachment spam threshold
|
|/ / / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix error when symbol_id cannot be found in doc HTML
|
| |\ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Add role info command
|
| |\ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Show previous watch reason and total after invoking watch command
|
| |\ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
|
|\ \ \ \ \ \ \ \ \
| |_|_|_|_|/ / / /
|/| | | | | | | | |
Add converter for ISO-formatted datetime strings
|
| |\ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
As we have decided that the converter should return naive datetime
objects, we should explicitly test that datetime strings with a
timezone offset are still converted to a naive datetime object. I
have done this by adding a `tzinfo is None` assertion.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The parser we use, `dateutil.parsers.isoparse` returns a timezone-
aware or timezone-unaware `datetime` object depending on whether or
not the datetime string included a timezone offset specification.
Since we can't compare tz-aware objects to tz-unaware objects it's
better to make sure our converter is consistent in the type it will
return.
For now, I've chosen to return tz-unaware datetime objects, since
`discord.py` also returns tz-unaware datetime objects when accessing
datetime-related attributes of objects. Since we're likely to compare
"our" datetime objects to discord.py-provided datetime objects, I
think that's the most parsimonious option for now.
Note: It's probably a good idea to open a larger discussion about
using timezone-aware datetime objects throughout the library to
avoid a UTC-time being interpreted as localtime. This will require
a broader discussion than this commit/PR allows, though.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This commit removes the angle brackets from the url in the docstring
of `ISODateTime.convert`. The reason: it's ugly.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Co-Authored-By: Mark <[email protected]>
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Co-Authored-By: S. Co1 <[email protected]>
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Related to https://github.com/python-discord/bot/issues/458
This commit adds a converter that automatically parses ISO-formatted
datetime strings and returns a `datetime.datetime` object. It uses
`dateutil.parser.isoparse` to do the heavy lifting, so it supports
the same formats as this method.
In addition, I have added tests that ensure that it accepts certain
formats and added a description of these 'guaranteed' formats to the
`ISODate.convert` docstring.
This commit should make it easy to implement #485
|
| | | | | | | | | |
|
| |/ / / / / / /
|/| | | | | | | |
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
add-role-info-command
|
| | | |\ \ \ \ \ \
| | | | | |_|/ / /
| | | | |/| | | | |
|
| | |/ / / / / / |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | |_|_|/ /
| | |/| | | | |
|
| |_|_|/ / /
|/| | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | | |
Co-Authored-By: Sebastiaan Zeeff <[email protected]>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Document support for custom categories.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It doesn't make sense for these types of infractions to be "active".
Co-Authored-By: Sebastiaan Zeeff <[email protected]>
|
| | | | | | |
|
| | | | |\ \ |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Sebastiaan Zeeff <[email protected]>
|
| | | | | | | |
|