async def start_bot_instance(bot_instance): config.parse_args() intents = discord.Intents.default() intents.guilds = True intents.members = True default_prefix = config.CONFIG.command_prefix def prefix(bot, ctx): try: guildId = ctx.guild.id return data.get_prefix(guildId) or default_prefix except: return default_prefix bot = commands.Bot(command_prefix=prefix, intents=intents) bot.add_cog(cogs.role_cog.RoleCommands(bot)) bot.add_cog(cogs.channel_cog.ChannelCommands(bot)) bot.add_cog(cogs.rally_cog.RallyCommands(bot)) bot.add_cog(cogs.defaults_cog.DefaultsCommands(bot)) bot.add_cog(cogs.update_cog.UpdateTask(bot)) for command in bot.commands: data.add_command(command.name, command.help) try: await bot.start(bot_instance) finally: if not bot.is_closed(): await bot.close() running_bot_instances.remove(bot_instance[BOT_TOKEN_KEY])
def __init__(self): super().__init__(command_prefix=prefix, case_insensitive=True, intents=intents) self.add_cog(role_cog.RoleCommands(self)) self.add_cog(channel_cog.ChannelCommands(self)) self.add_cog(rally_cog.RallyCommands(self)) self.add_cog(defaults_cog.DefaultsCommands(self)) self.add_cog(update_cog.UpdateTask(self)) data.delete_all_commands() for command in self.commands: data.add_command(command.name, command.help)
def __init__(self): super().__init__(command_prefix=prefix, case_insensitive=True, intents=intents, chunk_guilds_at_startup=True) # Load Cogs for filename in os.listdir('./cogs'): if filename.endswith('.py') and filename != '__init__.py': self.load_extension(f'cogs.{filename[:-3]}') data.delete_all_commands() for command in self.commands: data.add_command(command.name, command.help) self.timers = Timers(self)
async def add_command(self, ctx, name, gfy): """Adds a custom command with a valid gfycat/redgif/YouTube link! Example: .addcommand <name> <link> You can now call this command with .<name> """ name = name.lower() valid = ( "https://gfycat.com/", "https://www.youtube.com/", "https://redgifs.com/", "https://www.gifdeliverynetwork.com/" ) if gfy.startswith(valid): added = add_command(name, gfy, ctx.author.id) if added: await ctx.send(embed=success_embed(f'Added command `{name}`!')) else: await ctx.send(embed=error_embed('Something went wrong!')) else: await ctx.send(embed=error_embed('Invalid link!'))
from discord.ext import commands, tasks import config import data from constants import * from cogs import * if __name__ == "__main__": config.parse_args() intents = discord.Intents.default() intents.guilds = True intents.members = True default_prefix = config.CONFIG.command_prefix def prefix(bot, ctx): try: guildId = ctx.guild.id return data.get_prefix(guildId) or default_prefix except: return default_prefix bot = commands.Bot(command_prefix=prefix, intents=intents) bot.add_cog(channel_cog.ChannelCommands(bot)) bot.add_cog(options_cog.OptionsCommands(bot)) for command in bot.commands: data.add_command(command.name, command.help) bot.run(config.CONFIG.secret_token)