Exemplo n.º 1
0
    async def set(self, ctx, prefix: str):

        if prefix in await self.bot.get_prefix(ctx.message):
            embed = discord.Embed(title='Error', color=Colors.Error)
            embed.add_field(
                name='Invalid prefix',
                value=f'"{prefix}" is already the prefix for this guild')
            await ctx.send(embed=embed)
            return

        if '`' in prefix:
            embed = discord.Embed(title='Error', color=Colors.Error)
            embed.add_field(name='Invalid prefix',
                            value='Prefix can not contain " ` "')
            await ctx.send(embed=embed)
            return

        repo = CustomPrefixesRepository()
        await repo.set_prefix(ctx.guild.id, prefix)
        await self.bot.messenger.publish(Events.on_set_custom_prefix,
                                         ctx.guild, prefix)

        embed = discord.Embed(color=Colors.ClemsonOrange)
        embed.add_field(name='Prefix changed   :white_check_mark:',
                        value=f'New Prefix: ```{prefix}```')
        await ctx.send(embed=embed)
Exemplo n.º 2
0
 async def load_service(self):
     repo = CustomPrefixesRepository()
     for guild in self.bot.guilds:
         log.info(f'Loading guild prefix {guild.name}: {guild.id}')
         prefix = await repo.get_prefix(guild.id)
         if prefix:
             await self.bot.messenger.publish(Events.on_set_custom_prefix, guild, prefix[0])
Exemplo n.º 3
0
    async def reset(self, ctx):

        default_prefix = BotSecrets.get_instance().bot_prefix

        if await self.bot.get_prefix(ctx.message) == default_prefix:
            embed = discord.Embed(title= 'Error', color= Colors.Error)
            embed.add_field(name= 'Invalid prefix', value= f'"{default_prefix}" Prefix is already the default')
            await ctx.send(embed= embed)
            return

        repo = CustomPrefixesRepository()

        await repo.set_prefix(ctx.guild.id, default_prefix)
        await self.bot.messenger.publish(Events.on_set_custom_prefix, ctx.guild, default_prefix)

        embed = discord.Embed(color= Colors.ClemsonOrange)
        embed.add_field(
            name= 'Prefix reset   :white_check_mark:',
            value= f'New Prefix: ```{default_prefix}```')

        await ctx.send(embed= embed)
Exemplo n.º 4
0
    async def prefix(self, ctx, *, prefix: t.Optional[str] = None):
        # get_prefix returns two mentions as the first possible prefixes in the tuple,
        # those are global so we dont care about them
        prefixes = (await self.bot.get_prefix(ctx.message))[2:]

        if not prefix:
            embed = discord.Embed(title='Current Active Prefixes',
                                  description=f'```{", ".join(prefixes)}```',
                                  color=Colors.ClemsonOrange)

            return await ctx.send(embed=embed)

        if prefix in await self.bot.get_prefix(ctx.message):
            embed = discord.Embed(title='Error', color=Colors.Error)
            embed.add_field(
                name='Invalid prefix',
                value=f'"{prefix}" is already the prefix for this guild')
            await ctx.send(embed=embed)
            return

        if '`' in prefix:
            embed = discord.Embed(title='Error', color=Colors.Error)
            embed.add_field(name='Invalid prefix',
                            value='Prefix can not contain " ` "')
            await ctx.send(embed=embed)
            return

        repo = CustomPrefixesRepository()
        await repo.set_prefix(ctx.guild.id, prefix)
        await self.bot.messenger.publish(Events.on_set_custom_prefix,
                                         ctx.guild, prefix)

        embed = discord.Embed(color=Colors.ClemsonOrange)
        embed.add_field(name='Prefix changed   :white_check_mark:',
                        value=f'New Prefix: ```{prefix}```')
        await ctx.send(embed=embed)