aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | Snekbox tests: use `get_code` in `test_continue_eval_does_continue`Gravatar MarkKoz2020-03-25-3/+6
| | | | | | | |
| * | | | | | | Snekbox tests: test `get_code`Gravatar MarkKoz2020-03-25-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should return 1st arg (or None) if eval cmd in message, otherwise return full content.
| * | | | | | | Snekbox: fix re-eval when '!eval' is removed from edited messageGravatar MarkKoz2020-03-25-1/+21
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous parsing method was naïve in assuming there would always be something preceding the code (e.g. the '!eval' command invocation) delimited by a space. Now it will only split if it's sure the eval command was used in the edited message.
* | | | | | | Merge pull request #840 from ks129/zen-tag-removeGravatar Mark2020-03-25-20/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Removed `zen` tag due `!zen` command exist.
| * \ \ \ \ \ \ Merge branch 'master' into zen-tag-removeGravatar Mark2020-03-25-254/+259
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
* | | | | | | | Merge pull request #841 from python-discord/update-depsGravatar scragly2020-03-25-179/+98
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unused safety & dodgy dev dependencies
| * | | | | | | | Remove unused safety & dodgy dev dependenciesGravatar S. Co12020-03-24-179/+98
|/ / / / / / / / | | | | | | | | | | | | | | | | Relock
* | | | | | | | Merge pull request #837 from python-discord/update-contribGravatar kwzrd2020-03-23-22/+37
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Update contributor doc
| * \ \ \ \ \ \ \ Merge branch 'master' into update-contribGravatar kwzrd2020-03-23-1/+1
| |\ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | Update contributor docGravatar S. Co12020-03-20-22/+37
| | | | | | | | |
| | * | | | | | | Removed `zen` tag due `!zen` command exist.Gravatar Karlis S2020-03-23-20/+0
| | | |_|/ / / / | | |/| | | | |
| | | | | * | | Clarify docstring for token check functionGravatar S. Co12020-03-23-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Mark <[email protected]>
| | | | | * | | Update token filter logging to match expanded detectionGravatar S. Co12020-03-20-12/+18
| | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | Log message still used the first regex result (re.search) rather than the expanded approach (re.findall) recently added.
| | | | | * | CI: remove support for partial cache hitsGravatar MarkKoz2020-03-25-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partial hits may cause issues when packages get removed. The cache will get bloated with packages which are no longer needed. They will keep accumulating as more packages get removed unless the cache is unused for 7 days and gets automatically deleted by Azure Pipelines. Lingering packages are also a potential cause for conflicts (e.g. unused package x depends on package y==4.0 and useful package z depends on y==5.0). Removing support for partial hits means all dependencies will be installed whenever a single dependency changes.
| | | | | * | CI: rename UsePythonVersion taskGravatar MarkKoz2020-03-11-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | "python" is a shorter and clearer name.
| | | | | * | CI: don't do a user install for pre-commit venvGravatar MarkKoz2020-03-09-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevents the following error: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.
| | | | | * | CI: install pipenv to user siteGravatar MarkKoz2020-03-09-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of pipenv's dependencies overlap with dependencies in the Pipfile. When installing from the Pipfile, any dependencies already present in the global site will not be installed again to the user site, and thus will not be cached. Therefore, pipenv is installed to the user site to ensure all dependencies get cached. * Move PATH prepend step before pipenv invocation
| | | | | * | CI: invalidate cachesGravatar MarkKoz2020-03-09-6/+6
| | | | | | |
| | | | | * | CI: prepend py user base to PATHGravatar MarkKoz2020-03-09-0/+3
| | | | | | |
| | | | | * | CI: cache the Python user base dirGravatar MarkKoz2020-03-09-3/+5
| | | | | | |
| | | | | * | CI: cache Python dependenciesGravatar MarkKoz2020-03-09-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduces frequency of using pipenv to install dependencies in CI. Works by caching the entire Python directory. Only a full cache hit will skip the pipenv steps; a partial cache hit will still be followed by using pipenv to install from the pipfiles. * Disable pip cache
| | | | | * | CI: make env vars used for coverage into pipeline variablesGravatar MarkKoz2020-03-09-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the script for the coverage step cleaner.
| | | | | | * Add close alias for dormant commandGravatar Joseph Banks2020-04-05-1/+1
| | | | | | |
| | | | | | * Reduce span of hyperlink in AVAILABLE_MSG and DORMANT_MSGGravatar Joseph Banks2020-04-05-2/+2
| | | | | | |
| | | | | | * HelpChannels: set to enabled by defaultGravatar MarkKoz2020-03-30-1/+1
| | | | | | |
| | | | | | * ModLog: ignore update channel events for help channelsGravatar MarkKoz2020-03-30-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The edit causes two channel update events to dispatch simultaneously: one for the channel topic changing and one for the category changing. The ModLog cog currently doesn't support ignoring multiple events of the same type for the same channel. Therefore, the ignore was hard coded rather than using the typical ignore mechanism. This is intended to be a temporary solution; it should be removed once the ModLog is changed to support this situation.
| | | | | | * HelpChannels: use constant names instead of default values in docstringGravatar MarkKoz2020-03-30-6/+5
| | | | | | |
| | | | | | * HelpChannels: fix typos in docstringsGravatar Mark2020-03-30-2/+2
| | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Leon Sandøy <[email protected]>
| | | | | | * HelpChannels: fix typo in docstringGravatar MarkKoz2020-03-29-1/+1
| | | | | | |
| | | | | | * BotCog: fix AttributeError getting a category for a DMChannelGravatar MarkKoz2020-03-29-1/+1
| | | | | | |
| | | | | | * HelpChannels: remove positions from element namesGravatar MarkKoz2020-03-29-127/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no longer a reliance on static alphabetical position numbers.
| | | | | | * HelpChannels: fix alphabetical sorting of dormant channelsGravatar MarkKoz2020-03-29-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a channel is moved, all channels below have their positions incremented by 1. This threw off the previous implementation which relied on position numbers being static. Co-authored-by: Sebastiaan Zeeff <[email protected]>
| | | | | | * Constants: add a config value to toggle help channels extensionGravatar MarkKoz2020-03-22-6/+10
| | | | | | |
| | | | | | * HelpChannels: mention the helper notifications in cog docstringGravatar MarkKoz2020-03-22-0/+1
| | | | | | |
| | | | | | * HelpChannels: set idle minutes to 30 & max total channels to 32Gravatar MarkKoz2020-03-22-2/+2
| | | | | | |
| | | | | | * HelpChannels: write channel topicsGravatar MarkKoz2020-03-22-4/+14
| | | | | | |
| | | | | | * Resources: add newline to end of elements.jsonGravatar MarkKoz2020-03-22-1/+1
| | | | | | |
| | | | | | * HelpChannels: remove permission overwrites completelyGravatar MarkKoz2020-03-22-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resetting a specific permission still keeps the overwrite for the member around despite having default values. These will accumulate over time so they should be completely removed once the permission needs to be reset.
| | | | | | * HelpChannels: use constant for command prefix in notificationGravatar MarkKoz2020-03-22-1/+1
| | | | | | |
| | | | | | * HelpChannels: fix unawaited coro warning for set_permissionsGravatar MarkKoz2020-03-22-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was happening when attempting to schedule a task twice for a user. Because the scheduler refuses to schedule a duplicate, the coroutine is deallocated right away without being awaited (or closed explicitly by `scheduled_task`). To fix, any existing task is cancelled before scheduling. This also means if somehow a user bypasses the lack of permissions, their cooldown will be updated. However, it probably doesn't make a difference as if they can bypass once, they likely can bypass again.
| | | | | | * HelpChannels: fix unawaited coro warningGravatar MarkKoz2020-03-22-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly close the callback if it's a coroutine.
| | | | | | * HelpChannels: remove name attribute access for channels in logsGravatar MarkKoz2020-03-22-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Can rely on `__str__` already being a channel's name.
| | | | | | * HelpChannels: make category checks direct & efficientGravatar MarkKoz2020-03-22-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace retrieval of all channels of a category with a direct comparison of the categories themselves. In the case of the `on_message` listener, the change enables the check to be done before the lock acquisition. This is because it doesn't rely on the channels in the category to be up to date. In fact, it doesn't even need the category object so it can exit early without needing to wait for the cog to be ready.
| | | | | | * HelpChannels: include info about claim cooldowns in available messageGravatar MarkKoz2020-03-22-0/+3
| | | | | | |
| | | | | | * HelpChannels: reset send permissionsGravatar MarkKoz2020-03-22-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures everyone has a clean slate when the bot restarts or the cog reloads since the tasks to reinstate permissions would have been cancelled in those cases.
| | | | | | * HelpChannels: allow users to claim a new channel every 15 minutesGravatar MarkKoz2020-03-22-0/+24
| | | | | | |
| | | | | | * HelpChannels: create generic way to schedule any awaitableGravatar MarkKoz2020-03-22-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support scheduling different coroutines, `_scheduled_task` now accepts an awaitable in the data arg. The data arg is actually a named tuple of the wait time and the awaitable.
| | | | | | * HelpChannels: prevent cog load if config is invalidGravatar MarkKoz2020-03-22-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They must be greater than 0 because the cog obviously couldn't do anything without any channels to work with. It must be greater than max_available because it'd otherwise be impossible to maintain that many channels in the Available category. * Create a new function to validate the value * Move validation against MAX_CHANNELS_PER_CATEGORY into the function rather than just logging a warning
| | | | | | * HelpChannels: initialise available channels after moving idle onesGravatar MarkKoz2020-03-22-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will ensure the maximum amount of dormant channels possible before attempting to move any to the available category. It also allows the dormant command to already be enabled in case there are still no dormant channels when trying to init available channels.
| | | | | | * HelpChannels: disable the dormant command until cog is readyGravatar MarkKoz2020-03-22-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ready event wasn't used because channels could change categories between the time the command is invoked and the cog is ready (e.g. if move_idle_channel wasn't called yet). his may confused users. So would potentially long delays for the cog to become ready.