Example #1
0
    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])
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
 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!'))
Example #5
0
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)