diff options
| author | 2018-07-10 10:23:17 +0000 | |
|---|---|---|
| committer | 2018-07-10 10:23:17 +0000 | |
| commit | 214c20c3214466cc945cebdaea715d2a2d5e7305 (patch) | |
| tree | 33d40506d9df3b25b3fc9bcfa741039b436bfcbc | |
| parent | Merge branch 'fix-numbers-in-channel-names' into 'master' (diff) | |
| parent | Add bullet points. (diff) | |
Merge branch 'feature/otname-list-command' into 'master'
Add a `otname.list` command.
See merge request python-discord/projects/bot!14
| -rw-r--r-- | bot/cogs/off_topic_names.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/bot/cogs/off_topic_names.py b/bot/cogs/off_topic_names.py index 922847918..90510c8c4 100644 --- a/bot/cogs/off_topic_names.py +++ b/bot/cogs/off_topic_names.py @@ -2,10 +2,12 @@ import asyncio import logging from datetime import datetime, timedelta +from discord import Colour, Embed from discord.ext.commands import BadArgument, Bot, Context, Converter, command from bot.constants import Channels, Keys, Roles, URLs from bot.decorators import with_role +from bot.pagination import LinePaginator CHANNELS = (Channels.off_topic_0, Channels.off_topic_1, Channels.off_topic_2) @@ -104,6 +106,27 @@ class OffTopicNames: error_reason = response.get('message', "No reason provided.") await ctx.send(f":warning: got non-200 from the API: {error_reason}") + @command(name='otname.list()', aliases=['otname.list']) + @with_role(Roles.owner, Roles.admin, Roles.moderator) + async def otname_list(self, ctx): + """ + Lists all currently known off-topic channel names in a paginator. + Restricted to Moderator and above to not spoil the surprise. + """ + + result = await self.bot.http_session.get( + URLs.site_off_topic_names_api, + headers=self.headers + ) + response = await result.json() + lines = sorted(f"• {name}" for name in response) + + embed = Embed( + title=f"Known off-topic names (`{len(response)}` total)", + colour=Colour.blue() + ) + await LinePaginator.paginate(lines, ctx, embed, max_size=400, empty=False) + def setup(bot: Bot): bot.add_cog(OffTopicNames(bot)) |