Пример #1
0
    async def on_message_edit(self, before, after):
        if before.guild is None or before.author == self.client.user:
            return
        channel_id = db.logs_channel(before.guild.id)

        if channel_id == False:
            return

        try:
            if before.content == "" or after.content == "":
                return
            if before.content == after.content:
                return
            channel = await get_channel_by_id(before.guild, int(channel_id))
            edited_e = discord.Embed(
                title=f"Message edited in #{before.channel.name}",
                description=
                f"**Before:** {before.content}\n\n**After:** {after.content}",
                timestamp=datetime.datetime.utcnow(),
                color=0xff0000)
            edited_e.set_author(
                name=f"{before.author.name}#{before.author.discriminator}",
                icon_url=before.author.avatar_url)
            edited_e.set_footer(text=f"ID : {before.id}")

            await channel.send(embed=edited_e)
        except:
            return
Пример #2
0
    async def on_message_delete(self, message):
        if message.guild is None or message.author == self.client.user:
            return
        channel_id = db.logs_channel(message.guild.id)

        if channel_id == False:
            return

        if message.content == "":
            return

        try:
            channel = await get_channel_by_id(message.guild, int(channel_id))
            deleted_e = discord.Embed(
                title=f"Message deleted in #{message.channel.name}",
                description=message.content,
                timestamp=datetime.datetime.utcnow(),
                color=0xff0000)
            deleted_e.set_author(
                name=f"{message.author.name}#{message.author.discriminator}",
                icon_url=message.author.avatar_url)
            deleted_e.set_footer(text=f"ID : {message.id}")

            await channel.send(embed=deleted_e)
        except:
            return
Пример #3
0
    async def on_guild_channel_delete(self, channel):
        channel_id = db.logs_channel(channel.guild.id)

        if channel_id == False:
            return

        try:
            logs_channel = await get_channel_by_id(channel.guild,
                                                   int(channel_id))

            channel_created_e = discord.Embed(
                title="Channel deleted",
                color=0xff0000,
                timestamp=datetime.datetime.utcnow())
            channel_created_e.add_field(name="Name",
                                        value=channel.name,
                                        inline=False)
            channel_created_e.add_field(name="ID",
                                        value=channel.id,
                                        inline=False)

            await logs_channel.send(embed=channel_created_e)

        except:
            return
Пример #4
0
    async def kick(self, ctx, member: discord.Member = None, *, reason=None):
        if member is None:
            return await ctx.send("You need to provid an user to kick.")

        try:
            await member.kick(reason=reason)
            await ctx.send(f"{member.mention} has been kicked!")

            channel_id = db.logs_channel(ctx.guild.id)

            if channel_id == False:
                return

            channel = await get_channel_by_id(ctx.guild, int(channel_id))
            if reason is None:
                description = f"**Member:** {member.name}#{member.discriminator} ({member.id})\n**Action:** Kick"
            else:
                description = f"**Member:** {member.name}#{member.discriminator} ({member.id})\n**Action:** Kick\n**Reason:** {reason}"

            kick_e = discord.Embed(description=description, color=0xf70000)
            kick_e.set_author(
                name=f"{ctx.author.name}#{ctx.author.discriminator}",
                icon_url=ctx.author.avatar_url)

            await channel.send(embed=kick_e)

        except:
            return
Пример #5
0
    async def mod_logs(self, ctx, channel: discord.TextChannel = None):
        if channel is None:
            channel_id = db.logs_channel(ctx.guild.id)
            if channel_id is False:
                return await ctx.send(
                    f"No logs channel set in this guild. Use `{ctx.prefix}mod-logs <#channel>` to set one."
                )
            return await ctx.send(
                f"Current logs channel on this guild : <#{channel_id}>\nUse `{ctx.prefix}mod-logs remove` to remove the actual  one"
            )

        db.is_in_database_guild(ctx.guild.id)
        db.cursor.execute("UPDATE guilds SET logs_id = ? WHERE guild_id = ?",
                          (channel.id, ctx.guild.id))
        db.commit()
        await ctx.send(f"New mod channel will be {channel.mention}")