From 146496c146dd489023c19323027288508c4abb9d Mon Sep 17 00:00:00 2001 From: NatrixAeria Date: Mon, 28 Sep 2020 03:31:53 +0200 Subject: Create channels --- bot.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'bot.py') diff --git a/bot.py b/bot.py index ced131d..779ef1e 100644 --- a/bot.py +++ b/bot.py @@ -4,6 +4,11 @@ from command_utils import command, CommandClient class Client(CommandClient): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.meta_channel = None + self.lobby_channel = None + async def on_ready(self): print(f'the bot {config.NAME} is logged in as "{self.user}"') @@ -19,12 +24,31 @@ class Client(CommandClient): await ctx.answer(f'''``` {config.HELP_TEXT}\nThese are all available commands:\n{command_doc}```''') + async def create_category(self, ctx): + category = await ctx.guild.create_category(config.CATEGORY_CHANNEL_NAME) + await ctx.answer(f'info: category created "{category}" ({category.id})') + return category + + async def create_lobby(self, ctx): + lobby = await ctx.guild.create_voice_channel(config.LOBBY_CHANNEL_NAME, topic=config.LOBBY_CHANNEL_TOPIC, category=self.meta_channel) + await ctx.answer(f'info: voice channel created "{lobby}" ({lobby.id})') + return lobby + @command( names = ('init', 'create', 'inti', 'craete', 'cretae', 'c', 'i', '+'), description = 'create a new lobby' ) async def init(self, ctx): - await ctx.answer(f'NIY') + self.meta_channel = ( + self.meta_channel + or discord.utils.get(ctx.guild.categories, name=config.CATEGORY_CHANNEL_NAME) + or await self.create_category(ctx) + ) + self.lobby_channel = ( + self.lobby_channel + or discord.utils.get(ctx.guild.voice_channels, name=config.LOBBY_CHANNEL_NAME, category=self.meta_channel) + or await self.create_lobby(ctx) + ) if __name__ == '__main__': -- cgit v1.2.3-54-g00ecf