aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | * | | (Aliases, discord.py 1.3.x Migration): Replaced `ctx.invoke` with direct ↵Gravatar ks1232020-04-02-1/+1
| | | | | | | | | | | | | | | | | | | | awaiting command.
| | | * | fix line length in bot/exts/info/information.pyGravatar Hedy Li2020-10-02-3/+3
| | | | |
| | | * | Merge pull request #1 from python-discord/masterGravatar Hedy Li2020-10-02-104/+22
| | | |\ \ | | |_|/ / | |/| | | merge back new changes
| * | | | PR #1198: Remove alias cogGravatar kwzrd2020-10-01-102/+3
| |\ \ \ \
| | * | | | Remove special handling for the alias cog in the !source commandGravatar MarkKoz2020-10-01-15/+3
| | | | | | | | | | | | | | | | | | | | | | | | It's obsolete code because the cog has been removed.
| | * | | | Remove alias cogGravatar MarkKoz2020-09-30-87/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Last few aliases are an anomaly since #1124 was merged. The remaining aliases are seldom used. The code isn't exactly clean and it has some maintenance costs. Resolves #1159
| * | | | | Merge pull request #1201 from python-discord/bug/fun/1183/pond-ignore-dmGravatar Mark2020-10-01-0/+13
| |\ \ \ \ \ | | | | | | | | | | | | | | Duck pond: ignore reactions in DMs
| | * | | | | Duck pond: ignore reaction events from other guildsGravatar MarkKoz2020-10-01-2/+8
| | | | | | |
| | * | | | | Duck pond: ignore reactions in DMsGravatar MarkKoz2020-09-30-0/+7
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also handle the channel not being found, which may be due to a cache issue or because it got deleted. Fixes #1183 Fixes BOT-8T
| * | | | | Merge pull request #1199 from ↵Gravatar Matteo Bertucci2020-10-01-1/+5
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | python-discord/bug/backend/1181/wait-for-deletion-404 Catch 404 in wait_for_deletion when reacting
| | * \ \ \ \ Merge branch 'master' into bug/backend/1181/wait-for-deletion-404Gravatar Matteo Bertucci2020-10-01-1/+1
| | |\ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge pull request #1200 from python-discord/bug/mod/1182/deleted-msg-null-charGravatar Matteo Bertucci2020-10-01-1/+1
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | Remove null chars before posting deleted messages
| | * | | | | Remove null chars before posting deleted messagesGravatar MarkKoz2020-09-30-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our API doesn't allow null characters in the content field. It may be present because of a self bot that is able to send such character. Fixes #1182 Fixes BOT-8E
| | * / / / Catch 404 in wait_for_deletion when reactingGravatar MarkKoz2020-09-30-1/+5
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | The message may be deleted before the bot gets a chance to react. Fixes #1181
| | | * / fix spelling typos in bot/ python filesGravatar Hedy Li2020-10-01-4/+4
| | |/ / | |/| |
| * | | PR #1191 Verification: broaden 50_007 error handlingGravatar kwzrd2020-09-29-11/+30
| |\ \ \
| | * | | Incidents: reduce timeout log to info levelGravatar kwzrd2020-09-27-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shouldn't be a warning, as we cannot do anything about it. Fixes BOT-8X
| | * | | Verification: apply 'safe_dm' to all DM dispatchesGravatar kwzrd2020-09-27-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, when we send a DM and it fails: * Ignore if due to disabled DMs * Log exception otherwise
| | * | | Verification: move disabled DM handling into helperGravatar kwzrd2020-09-27-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that we were previously only catching 403. As the docstring explains, we will now catch any Discord exception and only look at the the code, rather than the status.
| * | | | Merge remote-tracking branch 'origin/master' into masterGravatar Matteo Bertucci2020-09-27-585/+101
| |\| | |
| | * | | Relock Pipfile to update async-redis.Gravatar Leon Sandøy2020-09-27-62/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also bumps minor versions of several other packages. I've spun up the bot and played around with it, and run all unit tests. Everything still seems to be in order.
| | * | | Add the video to the welcome DM.Gravatar Leon Sandøy2020-09-27-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | This rewords the welcome DM, and adds the new Welcome To Python Discord video to it.
| | * | | PR #1151 Sync: remove confirmationGravatar kwzrd2020-09-26-519/+24
| | |\ \ \
| | | * | | Sync: update sync() docstringGravatar MarkKoz2020-09-26-3/+1
| | | | | |
| | | * | | Sync: remove _asdict commentGravatar MarkKoz2020-09-23-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The comment doesn't contribute anything.
| | | * | | Merge branch 'master' into feat/backend/1075/remove-syncer-confirmGravatar MarkKoz2020-09-22-2227/+2207
| | | |\ \ \
| | | * | | | Sync: refactor conditional for sending message Gravatar Mark2020-09-22-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ternary is a bit confusing. Co-authored-by: Numerlor <[email protected]>
| | | * | | | Fix test for sync message being editedGravatar MarkKoz2020-09-07-1/+3
| | | | | | |
| | | * | | | Sync: remove confirmationGravatar MarkKoz2020-09-07-518/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The confirmation was intended to be a safe guard against cache issues that would cause a huge number of roles/users to deleted after syncing. With `wait_until_guild_available`, such cache issue shouldn't arise. Therefore, this feature is obsolete. Resolve #1075
| * | | | | | Allow !role for any staff roleGravatar Matteo Bertucci2020-09-27-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #1173
| * | | | | | Allow !eval in #code-help-voiceGravatar Matteo Bertucci2020-09-27-1/+3
| |/ / / / /
| | | | | * Lock: make LockGuard.locked a propertyGravatar MarkKoz2020-10-03-1/+2
| | | | | |
| | | | | * Lock: rename variable to avoid shadowingGravatar MarkKoz2020-10-03-3/+3
| | | | | |
| | | | | * Reminders: fix conflict with the _can_modify checkGravatar MarkKoz2020-09-09-1319/+1347
| | | | | |\ | | | |_|_|/ | | |/| | |
| | | | | * Fix attribute docstring for LockedResourceErrorGravatar MarkKoz2020-09-09-1/+1
| | | | | |
| | | | | * Move lock decorators to utils/lock.pyGravatar MarkKoz2020-09-09-86/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `LockGuard` was lonely and the decorators were cluttering up decorators.py.
| | | | | * Decorators: rename mutually_exclusive decoratorsGravatar MarkKoz2020-09-09-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A mutex is the same thing as a lock. The former is a relatively esoteric contraction, so the latter is preferred.
| | | | | * Decorators: remove locked() decoratorGravatar MarkKoz2020-09-09-35/+2
| | | | | | | | | | | | | | | | | | | | | | | | It was not being used anywhere.
| | | | | * Decorators: replace asyncio.Lock with a custom objectGravatar MarkKoz2020-08-22-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Concerns were raised over possible race conditions due `asyncio.Lock` internally awaiting coroutines. Does a mere `await` suspend the current coroutine, or does it have to actually await something asynchronous, like a future? Avoid answering that question by doing away with the awaits, which aren't necessary but are there as a consequence of using `asyncio.Lock`. Instead, add a custom `LockGuard` object to replace the previous locks.
| | | | | * Explicitly use kwarg with respect_role_hierarchyGravatar MarkKoz2020-08-01-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Clarify the significance of the argument being passed.
| | | | | * Decorators: fix type annotations for checksGravatar MarkKoz2020-08-01-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The annotation was previously changed on the basis of an incorrect return annotation PyCharm inferred for `check()`.
| | | | | * Reminders: use singular form for mutually exclusive namespaceGravatar MarkKoz2020-07-31-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exception it raises reads better if the singular form of the word is used.
| | | | | * Reminders: show error to users if reminder is in useGravatar MarkKoz2020-07-31-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silent failure is confusing to users. Showing an error message clears up why nothing happened with their command.
| | | | | * Send users an error message if command raises LockedResourceErrorGravatar MarkKoz2020-07-31-0/+3
| | | | | |
| | | | | * Decorators: optionally raise an exception if resource is lockedGravatar MarkKoz2020-07-31-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exception will facilitate user feedback for commands which use the decorator.
| | | | | * Decorators: add some trace loggingGravatar MarkKoz2020-07-31-0/+3
| | | | | |
| | | | | * Decorators: wrap mutually_exclusive to use get_arg_valueGravatar MarkKoz2020-07-31-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of taking a callable, this wrapper just takes a name or position to get the resource ID.
| | | | | * Decorators: remove redundant word in docstringGravatar MarkKoz2020-07-31-1/+1
| | | | | |
| | | | | * Decorators: use type aliases from function moduleGravatar MarkKoz2020-07-31-4/+2
| | | | | |
| | | | | * Decorators: remove default value for respect_role_hierarchyGravatar MarkKoz2020-07-31-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicit is better than implicit, and this default value wasn't much of a convenience.