mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
73 lines
2.3 KiB
Python
73 lines
2.3 KiB
Python
import discord
|
|
from discord.ext.commands.errors import CommandNotFound, MissingRequiredArgument
|
|
from discord.ext import commands
|
|
from config import config
|
|
|
|
|
|
class Control(commands.Cog):
|
|
"""Control the flow of the Bot"""
|
|
|
|
def __init__(self, bot):
|
|
self.__bot = bot
|
|
self.__comandos = {
|
|
'MUSIC': ['this', 'resume', 'pause', 'loop', 'stop', 'skip', 'play', 'queue', 'clear'],
|
|
'RANDOM': ['cetus', ' frase'],
|
|
'HELP': ['help']
|
|
}
|
|
|
|
@property
|
|
def bot(self):
|
|
return self.__bot
|
|
|
|
@bot.setter
|
|
def bot(self, newBot):
|
|
self.__bot = newBot
|
|
|
|
@commands.Cog.listener()
|
|
async def on_ready(self):
|
|
print(config.STARTUP_MESSAGE)
|
|
await self.__bot.change_presence(status=discord.Status.online, activity=discord.Game(name=f"Vulkan | type {config.BOT_PREFIX}help"))
|
|
print(config.STARTUP_COMPLETE_MESSAGE)
|
|
|
|
@commands.Cog.listener()
|
|
async def on_command_error(self, ctx, error):
|
|
if isinstance(error, MissingRequiredArgument):
|
|
await ctx.channel.send(f'Falta argumentos. Digite {config.BOT_PREFIX}help para ver os comandos')
|
|
elif isinstance(error, CommandNotFound):
|
|
await ctx.channel.send(f'O comando não existe')
|
|
else:
|
|
raise error
|
|
|
|
@commands.command(name="help", alisases=['ajuda'], help="Comando de ajuda")
|
|
async def help(self, ctx):
|
|
helptxt = ''
|
|
help_music = '-- MUSIC\n'
|
|
help_random = '-- RANDOM\n'
|
|
help_help = '-- HELP\n'
|
|
|
|
for command in self.__bot.commands:
|
|
if command.name in self.__comandos['MUSIC']:
|
|
help_music += f'**{command}** - {command.help}\n'
|
|
elif command.name in self.__comandos['HELP']:
|
|
help_help += f'**{command}** - {command.help}\n'
|
|
else:
|
|
help_random += f'**{command}** - {command.help}\n'
|
|
helptxt = f'{help_music}\n{help_random}\n{help_help}'
|
|
|
|
embedhelp = discord.Embed(
|
|
colour=config.COLOURS['grey'],
|
|
title=f'Comandos do {self.__bot.user.name}',
|
|
description=helptxt
|
|
)
|
|
|
|
embedhelp.set_thumbnail(url=self.__bot.user.avatar_url)
|
|
await ctx.send(embed=embedhelp)
|
|
|
|
@commands.Cog.listener()
|
|
async def on_error(self, error):
|
|
print('On Error')
|
|
|
|
|
|
def setup(bot):
|
|
bot.add_cog(Control(bot))
|