from discord.ext import commands from discord.ext.commands import Context from bot import ChristmasBot from context import CustomContext from utils.database import AutoJoin from utils.EmbedGenerator import EmbedGenerator class SettingsCog(commands.Cog, name="Settings"): def __init__(self, bot: ChristmasBot): self.bot = bot @commands.group(aliases=["aj"], invoke_without_command=True) @commands.cooldown(rate=1, per=5, type=commands.BucketType.user) async def autojoin(self, ctx: CustomContext): 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): 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): vc = ctx.author.voice.channel 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))