Exemple #1
0
 async def blacklist_delete(self, ctx, value: bool):
     """Toggle whether delete unsuccessful tries of command use"""
     db.update_setting(ctx.guild.id, "delete_blacklisted",
                       util.bool_to_int(value))
     await ctx.send(
         f":white_check_mark: Deletion of unsuccessful command usage is now "
         f"**{'on' if value else 'off'}**")
 async def command_eligibility(self, ctx, value: bool):
     """Change whether everyone can add commands, or only server managers"""
     db.update_setting(ctx.guild.id, "custom_commands_everyone", util.bool_to_int(value))
     if value:
         await ctx.send("Everyone can now add custom commands!")
     else:
         await ctx.send("Adding commands now requires the `manage_server` permission!")
Exemple #3
0
 async def autoresponses(self, ctx, value: bool):
     """Disable/enable automatic responses to certain messages and easter eggs."""
     db.update_setting(ctx.guild.id, "autoresponses",
                       util.bool_to_int(value))
     await ctx.send(
         f"Automatic message responses **{'enabled' if value else 'disabled'}**"
     )
Exemple #4
0
 async def welcome_channel(self, ctx, *, channel: ChannelSetting):
     """Set the welcome messages channel."""
     db.update_setting(ctx.guild.id, "welcome_channel",
                       (None if channel is None else channel.id))
     if channel is None:
         await ctx.send("Welcome messages disabled.")
     else:
         await ctx.send(f"Welcome channel set to {channel.mention}")
Exemple #5
0
 async def logmessages_bans(self, ctx, *, channel: ChannelSetting):
     """Set channel where bans are announced."""
     db.update_setting(ctx.guild.id, "bans_channel",
                       (None if channel is None else channel.id))
     if channel is None:
         await ctx.send("Ban messages disabled.")
     else:
         await ctx.send(f"Bans will now be logged in {channel.mention}")
Exemple #6
0
 async def logmessages_messages(self, ctx, *, channel: ChannelSetting):
     """Set channel where deleted messages are logged."""
     db.update_setting(ctx.guild.id, 'deleted_messages_channel',
                       (None if channel is None else channel.id))
     if channel is None:
         await ctx.send("Deleted messages logs disabled.")
     else:
         await ctx.send(
             f"Deleted messages will now be logged in {channel.mention}")
Exemple #7
0
 async def case(self, ctx, boolean):
     """Toggle case sensitivity."""
     if boolean.lower() == 'true':
         newvalue = 1
     elif boolean.lower() == 'false':
         newvalue = 0
     else:
         return await ctx.send("Invalid value, use `true` or `false`")
     db.update_setting(ctx.guild.id, "rolepicker_case", newvalue)
     await ctx.send(f"Roles are now {('' if newvalue == 1 else 'not ')}case sensitive!")
Exemple #8
0
    async def channel(self, ctx, channel):
        """Set the channel you can add roles in."""
        this_channel = await util.get_textchannel(ctx, channel)
        if this_channel is None:
            return await ctx.send(":warning: Could not get this channel")

        db.update_setting(ctx.guild.id, "rolepicker_channel", this_channel.id)
        db.update_setting(ctx.guild.id, "rolepicker_enabled", 0)

        await ctx.send(f"Rolepicker channel set to {this_channel.mention}\n"
                       f"Now enable the rolepicker once you want messages in the channel to be deleted.")
Exemple #9
0
    async def goodbye_message(self, ctx, *, message):
        """Change the goodbye message.

        Usage:
            >logger goodbye message <message...>
            >logger goodbye message default
        """
        if message.lower() == "default":
            db.update_setting(ctx.guild.id, "goodbye_message", None)
            return await ctx.send("Goodbye message has been reset to default.")

        db.update_setting(ctx.guild.id, "goodbye_message", message)
        await ctx.send(f"New Goodbye message set.\n```{message}```Preview:")
        await ctx.send(
            util.create_goodbye_message(ctx.author, ctx.guild, message))
Exemple #10
0
    async def welcome_message(self, ctx, *, message):
        """Change the welcome message.

        Usage:
            >logger welcome message <message...>
            >logger welcome message default
        """
        if message.lower() == 'default':
            db.update_setting(ctx.guild.id, "welcome_message", None)
            return await ctx.send("Welcome message has been reset to default.")

        welcomepreview = util.create_welcome_embed(ctx.author, ctx.guild,
                                                   message)
        db.update_setting(ctx.guild.id, "welcome_message", message)
        await ctx.send(f"New welcome message set:\n```{message}```Preview:",
                       embed=welcomepreview)
Exemple #11
0
    async def muterole(self, ctx, *, role):
        """Set the mute role.

        Usage:
            >muterole <role>
            >muterole remove
        """
        if role.lower() in ["none", "remove", "delete"]:
            db.update_setting(ctx.guild.id, "muterole", None)
            return await ctx.send("Muterole removed!")

        thisrole = await util.get_role(ctx, role)
        if thisrole is None:
            return await ctx.send(":warning: Unknown role")

        db.update_setting(ctx.guild.id, "muterole", thisrole.id)
        await ctx.send(embed=discord.Embed(
            description=f"Muting someone now gives them {thisrole.mention}"))
Exemple #12
0
    async def autorole(self, ctx, *, role):
        """Set the role given automatically to new members.

        Usage:
            >autorole <role>
            >autorole remove
        """
        if role.lower() in ["none", "remove", "delete", "disable"]:
            db.update_setting(ctx.guild.id, "autorole", None)
            return await ctx.send("Autorole removed!")

        thisrole = await util.get_role(ctx, role)
        if thisrole is None:
            return await ctx.send(":warning: Unknown role")

        db.update_setting(ctx.guild.id, "autorole", thisrole.id)
        await ctx.send(embed=discord.Embed(
            description=
            f"New members will now automatically get {thisrole.mention}"))
Exemple #13
0
    async def starboard_emoji(self, ctx, emoji):
        """Change the emoji to use for starboard."""
        if emoji[0] == "<":
            # is custom emoji
            emoji_obj = await util.get_emoji(ctx, emoji)
            if emoji_obj is None:
                return await ctx.send(":warning: I don't know this emoji!")

            db.update_setting(ctx.guild.id, "starboard_emoji_is_custom", 1)
            db.update_setting(ctx.guild.id, "starboard_emoji", emoji_obj.id)
            await ctx.send(
                f"Starboard emoji updated! Now looking for {emoji} reactions (emoji id `{emoji_obj.id}`)"
            )
        else:
            # unicode emoji
            if unicode_codes.UNICODE_EMOJI.get(emoji) is None:
                return await ctx.send(":warning: I don't know this emoji!")

            db.update_setting(ctx.guild.id, "starboard_emoji_is_custom", 0)
            db.update_setting(ctx.guild.id, "starboard_emoji", emoji)
            await ctx.send(
                f"Starboard emoji updated! Now looking for {emoji} reactions")
Exemple #14
0
 async def starboard_disable(self, ctx):
     """Disable the starboard."""
     db.update_setting(ctx.guild.id, "starboard_toggle", 0)
     await ctx.send("Starboard **disabled**")
Exemple #15
0
 async def logmessages_levelups(self, ctx, state: bool):
     """Enable or disable levelup messages."""
     db.update_setting(ctx.guild.id, "levelup_toggle", (1 if state else 0))
     await ctx.send(
         f"Levelup messages **{('enabled' if state else 'disabled')}**")
Exemple #16
0
 async def enable(self, ctx):
     """Enable the rolepicker. (if disabled)"""
     db.update_setting(ctx.guild.id, "rolepicker_enabled", 1)
     await ctx.send("Rolepicker is now **enabled**")
Exemple #17
0
 async def disable(self, ctx):
     """Disable the rolepicker."""
     db.update_setting(ctx.guild.id, "rolepicker_enabled", 0)
     await ctx.send("Rolepicker is now **disabled**")
Exemple #18
0
 async def welcome_embed(self, ctx, state: bool):
     """Toggle whether welcome messages use embed or only text."""
     db.update_setting(ctx.guild.id, "welcome_embed", (1 if state else 0))
     await ctx.send(
         f"Welcome message embeds are now **{('enabled' if state else 'disabled')}**"
     )
Exemple #19
0
 async def starboard_channel(self, ctx, channel: discord.TextChannel):
     """Set starboard channel"""
     db.update_setting(ctx.guild.id, "starboard_channel", channel.id)
     await ctx.send(f"Starboard channel set to {channel.mention}")
Exemple #20
0
 async def starboard_amount(self, ctx, amount: int):
     """Change the amount of stars required"""
     db.update_setting(ctx.guild.id, "starboard_amount", amount)
     await ctx.send(
         f"Messages now need `{amount}` stars to get to the starboard.")