from context import CustomContext from discord.ext import commands from utils.EmbedGenerator import EmbedGenerator from utils.classes import BaseCog from utils.database import AutoJoin from bot import ChristmasBot class SettingsCog(BaseCog, name="Settings"): @commands.group(aliases=["aj"], invoke_without_command=True) @commands.cooldown(rate=1, per=5, type=commands.BucketType.user) async def autojoin(self, ctx: CustomContext): """Enable/Disable the bot automatically joining""" await EmbedGenerator.Message( ctx, "Autojoin", f"Usage:\n\n`{ctx.prefix}autojoin set`\n`{ctx.prefix}autojoin unset`", ) @autojoin.command(name="enable") @commands.has_permissions(manage_channels=True) @commands.cooldown(rate=1, per=5, type=commands.BucketType.user) async def autojoin_set(self, ctx: CustomContext): """Enable the bot automatically joining""" voicechannel_id = ctx.author.voice.channel.id textchannel_id = ctx.message.channel.id await AutoJoin.update_channel( ctx.get_redis(), ctx.guild.id, voicechannel_id, textchannel_id ) await EmbedGenerator.Message(ctx, "Autojoin", "`enabled`") @autojoin.command(name="disable") @commands.has_permissions(manage_channels=True) @commands.cooldown(rate=1, per=5, type=commands.BucketType.user) async def autojoin_del(self, ctx: CustomContext): """Disable the bot automatically joining""" await AutoJoin.del_channel(ctx.get_redis(), ctx.guild.id) await EmbedGenerator.Message(ctx, "Autojoin", "`disabled`") def setup(bot: ChristmasBot): bot.add_cog(SettingsCog(bot))