from discord.ext import commands from utils.EmbedGenerator import EmbedGenerator from utils.classes import BaseCog from utils.database import AutoJoin from bot import TuneBot from discord.ext.commands import Context from bot import TuneBot from context import CustomContext from utils.database import AutoJoin from utils.EmbedGenerator import EmbedGenerator 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.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.redis, ctx.guild.id) await EmbedGenerator.Message(ctx, "Autojoin", "`disabled`") def setup(bot: TuneBot): bot.add_cog(SettingsCog(bot))