async def ebot(self, ctx, *user):
        """Lien de l'eBot"""
        if not is_command_enabled('ebot'):
            await ctx.send(disabled_command.format(ctx))
            return

        msg = ""
        args = ""
        link = config.URL_EBOT
        if is_in_group(ctx, config.ADMIN_ROLE) and user:
            for each_user in user:
                msg = msg + "{0} ".format(each_user)
            args = msg
        else:
            msg = "{0.message.author.mention} ".format(ctx)
        msg = msg + "-> Lien de l'eBot : {0}".format(link)
        embed = logs.create_log(self.bot.user.avatar_url, "",
                                "User ID : {0}".format(ctx.message.author.id),
                                static_var.hex_colors_codes['green'],
                                ctx.message.author.name,
                                ctx.message.author.avatar_url, "Action",
                                "Command used", "Name", "!ebot", "Arguments",
                                args)
        await self.bot.get_channel(config.COMMAND_LOGS).send(embed=embed)
        await ctx.send(msg)
    async def report(self, ctx, *user):
        """Avoir des informations pour reporter un(e) joueur/équipe"""
        if not is_command_enabled('report'):
            await ctx.send(disabled_command.format(ctx))
            return

        msg = ""
        args = ""
        link = config.URL_ADMINAFK + 'pages/participants.php'
        if is_in_group(ctx, config.ADMIN_ROLE) and user:
            for each_user in user:
                msg = msg + "{0} ".format(each_user)
            args = msg
        else:
            msg = msg + "{0.message.author.mention} ".format(ctx)
        msg = msg + " pour faire une demande de gotv vous devez spécifier le match incriminé ainsi que potentiellement les joueurs incriminés. Suite à cela nous vous donnerons un lien que vous devrez regarder et trouver les ticks que vous trouvez suspects (3 minimums)".format(
            link)
        await self.bot.get_channel(config.GOTV_CHANNEL).send(msg)
        embed = logs.create_log(self.bot.user.avatar_url, "",
                                "User ID : {0}".format(ctx.message.author.id),
                                static_var.hex_colors_codes['green'],
                                ctx.message.author.name,
                                ctx.message.author.avatar_url, "Action",
                                "Command used", "Name", "!report", "Arguments",
                                args)
        await self.bot.get_channel(config.COMMAND_LOGS).send(embed=embed)
Esempio n. 3
0
 async def on_guild_update(self, before, after):
     """Event : server updated"""
     emoji = "<:tools:472152893517070346>"
     embed = logs.create_log(
         self.bot.user.avatar_url, "", "",
         static_var.hex_colors_codes['orange'], "", "", "Action",
         "{0} Server state".format(emoji), "Content",
         "{0} server setting updated".format(after.name), "", "")
     await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 4
0
 async def on_voice_state_update(self, member, before, after):
     """Event : voice state"""
     content = ""
     if before.deaf != after.deaf:
         if after.deaf == True:
             content = content + "Server has turned off his sound"
         else:
             content = content + "Server has turned on his sound"
     if before.self_deaf != after.self_deaf:
         if after.self_deaf == True:
             content = content + "User has turned off his sound"
         else:
             content = content + "User has turned on his sound"
     if before.mute != after.mute:
         if content != "":
             content = content + " and "
         if after.mute == True:
             content = content + "Server has turned off his microphone"
         else:
             content = content + "Server has turned on his microphone"
     if before.self_mute != after.self_mute:
         if content != "":
             content = content + " and "
         if after.self_mute == True:
             content = content + "User has turned off his microphone"
         else:
             content = content + "User has turned on his microphone"
     if before.afk != after.afk:
         if content != "":
             content = content + " and "
         if after.afk == True:
             content = content + "User joined AFK channel {0} from {1} channel".format(
                 after.channel, before.channel)
         else:
             content = content + "User left AFK channel {0} to {1} channel".format(
                 before.channel, after.channel)
     if before.channel != after.channel:
         if content != "":
             content = content + " and "
         if after.channel == None:
             content = "User left voice server from {} channel".format(
                 before.channel)
         elif before.channel == None and after.channel != None:
             content = "User joined voice server on {0} channel".format(
                 after.channel)
         else:
             content = "User joined {0} channel from {1} channel".format(
                 after.channel, before.channel)
     emoji = "<:loud_sound:472137635163406347>"
     embed = logs.create_log(self.bot.user.avatar_url, "",
                             "User ID : {0}".format(member.id),
                             static_var.hex_colors_codes['orange'],
                             member.name, member.avatar_url, "Action",
                             "{0} Voice state".format(emoji), "Content",
                             content, "", "")
     await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 5
0
 async def on_member_join(self, member):
     """Event : user joined the server"""
     emoji = "<:wave:472141177475563542>"
     embed = logs.create_log(self.bot.user.avatar_url, "",
                             "User ID : {0}".format(member.id),
                             static_var.hex_colors_codes['green'],
                             member.name, member.avatar_url, "Action",
                             "{0} User state".format(emoji), "Content",
                             "User joined", "", "")
     await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 6
0
 async def on_guild_role_create(self, role):
     """Event : role created"""
     emoji = "<:new:472152627765968936>"
     embed = logs.create_log(self.bot.user.avatar_url, "", "",
                             static_var.hex_colors_codes['green'], "", "",
                             "Action", "{0} Role state".format(emoji),
                             "Content",
                             "{0} role created".format(role.mention), "",
                             "")
     await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 7
0
 async def on_guild_role_delete(self, role):
     """Event : role deleted"""
     await asyncio.sleep(1)
     audit_log_entries = role.guild.audit_logs(
         action=discord.AuditLogAction.role_delete, limit=1)
     async for entry in audit_log_entries:
         emoji = "<:x:472152627765968936>"
         embed = logs.create_log(
             self.bot.user.avatar_url, "", "",
             static_var.hex_colors_codes['red'], "", "", "Action",
             "{0} Role state".format(emoji), "Content",
             "@{0} role deleted".format(entry.before.name), "", "")
         await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 8
0
 async def on_message_edit(self, before, after):
     """Event : message edited"""
     if len(after.content) < 220:
         after_content = after.content
     else:
         after_content = after.content[:250]
         after_content = after_content + "..."
     if len(before.content) < 220:
         before_content = before.content
     else:
         before_content = before.content[:250]
         before_content = before_content + "..."
     if before.content != after.content:
         emoji = "<:tools:472152893517070346>"
         embed = logs.create_log(self.bot.user.avatar_url, "",
                                 "User ID : {0}".format(after.author.id),
                                 static_var.hex_colors_codes['orange'],
                                 after.author, after.author.avatar_url,
                                 "Action",
                                 "{0} Message edited".format(emoji),
                                 "Before", before_content, "After",
                                 after_content)
         await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
     """Event : message pinned"""
     if before.pinned != after.pinned:
         emoji = "<:tools:472152893517070346>"
         if after.pinned == True:
             pinned_state = "Message pinned"
         else:
             pinned_state = "Message unpinned"
         embed = logs.create_log(self.bot.user.avatar_url, "",
                                 "User ID : {0}".format(after.author.id),
                                 static_var.hex_colors_codes['orange'],
                                 after.author, after.author.avatar_url,
                                 "Action",
                                 "{0} Message state".format(emoji), "State",
                                 pinned_state, "Content", after_content)
         await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 9
0
 async def on_member_ban(self, guild, user):
     """Event : user banned"""
     await asyncio.sleep(1)
     audit_log_entries = guild.audit_logs(action=discord.AuditLogAction.ban,
                                          limit=1)
     async for entry in audit_log_entries:
         emoji = "<:hammer:472142338089549835>"
         embed = logs.create_log(
             self.bot.user.avatar_url, "",
             "User ID : {0}".format(entry.user.id),
             static_var.hex_colors_codes['red'], entry.user.name,
             entry.user.avatar_url, "Action",
             "{0} User banned".format(emoji), "User", user.name, "Content",
             "The user has been banned from the server")
         await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 10
0
 async def on_message_delete(self, message):
     """Event : message deleted"""
     if len(message.content) < 220:
         content = message.content
     else:
         content = message.content[:250]
         content = content + "..."
     emoji = "<:warning:472139637142323231>"
     embed = logs.create_log(
         self.bot.user.avatar_url, "",
         "User ID : {0}".format(message.author.id),
         static_var.hex_colors_codes['red'], message.author.name,
         message.author.avatar_url, "Action",
         "{0} Message deleted".format(emoji), "Message information",
         "Message sent by {0} deleted in {1}".format(
             message.author.mention,
             message.channel.mention), "Content", content)
     await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 11
0
 async def on_member_update(self, before, after):
     """Event : user updated"""
     if before.nick != after.nick or before.avatar_url != after.avatar_url or set(
             before.roles) != set(after.roles):
         title_before = ""
         content_before = ""
         title_after = ""
         content_after = ""
         if before.nick != after.nick:
             title_before = "Old nickname"
             content_before = "{0}".format(before.nick)
             title_after = "New nickname"
             content_after = "{0}".format(after.nick)
         elif before.avatar_url != after.avatar_url:
             title_before = ""
             content_before = ""
             title_after = "New avatar"
             content_after = "{0}".format(after.avatar_url)
         elif set(before.roles) != set(after.roles):
             if len(after.roles) > len(before.roles):
                 diff_role = list(set(after.roles) - set(before.roles))
                 title_before = "User role added to {0}".format(after.name)
                 content_before = "{0}".format(diff_role[0].mention)
             else:
                 diff_role = list(set(before.roles) - set(after.roles))
                 title_before = "User role deleted to {0}".format(
                     after.name)
                 content_before = "{0}".format(diff_role[0].mention)
             title_after = "User role"
             if len(after.roles) == 2:
                 content_after = "None"
             else:
                 for i in range(2, len(after.roles)):
                     content_after = "{0} {1}".format(
                         content_after, after.roles[i].mention)
         emoji = "<:tools:472152893517070346>"
         embed = logs.create_log(
             self.bot.user.avatar_url, "", "User ID : {0}".format(after.id),
             static_var.hex_colors_codes['orange'], after.name,
             after.avatar_url, "Action", "{0} User state".format(emoji),
             title_before, content_before, title_after, content_after)
         await self.bot.get_channel(config.GENERAL_LOGS).send(embed=embed)
Esempio n. 12
0
 async def on_member_remove(self, member):
     """Event : user left the server"""
     await asyncio.sleep(1)
     audit_log_entries = member.guild.audit_logs(
         action=discord.AuditLogAction.ban, limit=1)
     async for entry in audit_log_entries:
         audit_log_entries2 = member.guild.audit_logs(
             action=discord.AuditLogAction.unban, limit=1)
         async for entry2 in audit_log_entries2:
             if entry.created_at < entry2.created_at:
                 emoji = "<:wave:472141177475563542>"
                 embed = logs.create_log(self.bot.user.avatar_url, "",
                                         "User ID : {0}".format(member.id),
                                         static_var.hex_colors_codes['red'],
                                         member.name, member.avatar_url,
                                         "Action",
                                         "{0} User state".format(emoji),
                                         "Content", "User left", "", "")
                 await self.bot.get_channel(config.GENERAL_LOGS
                                            ).send(embed=embed)
    async def gotv(self, ctx, *user):
        """Comment regarder une démo ?"""
        if not is_command_enabled('gotv'):
            await ctx.send(disabled_command.format(ctx))
            return

        msg = ""
        args = ""
        if is_in_group(ctx, config.ADMIN_ROLE) and user:
            for each_user in user:
                msg = msg + "{0} ".format(each_user)
            args = msg
        else:
            msg = "{0.message.author.mention} ".format(ctx)
        msg = msg + "Pour regarder une démo :\n 1)Télécharge la démo\n 2)Dézippe la démo grâce à winrar par exemple\n 3)Dépose le fichier <nom>.dem dans un dossier sans accent par exemple ton bureau\n 4)Lance CS:GO\n 5)Appuye simultanément sur `Shift` et `F2`\n 6)Appuye sur Load...\n 7)Sélectionne le fichier <nom>.dem\n 8)Le jeu va lancer la démo"
        embed = logs.create_log(self.bot.user.avatar_url, "",
                                "User ID : {0}".format(ctx.message.author.id),
                                static_var.hex_colors_codes['green'],
                                ctx.message.author.name,
                                ctx.message.author.avatar_url, "Action",
                                "Command used", "Name", "!gotv", "Arguments",
                                args)
        await self.bot.get_channel(config.COMMAND_LOGS).send(embed=embed)
        await ctx.send(msg)
    async def matchs(self, ctx, *user):
        """Avoir des informations sur les matchs en cours"""
        if not is_command_enabled('matchs'):
            await ctx.send(disabled_command.format(ctx))
            return

        msg = ""
        args = ""
        if is_in_group(ctx, config.ADMIN_ROLE) and user:
            for each_user in user:
                msg = msg + "{0}  ".format(each_user)
            args = msg
        else:
            msg = "{0.message.author.mention} ".format(ctx)
        bdd.db_connect(config.EBOT_HOSTNAME, config.EBOT_PORT,
                       config.EBOT_DBNAME, config.EBOT_USERNAME,
                       config.EBOT_PASSWORD)
        result = bdd.db_select()
        bdd.db_disconnect()
        matchs = []
        status = ""
        for row in result:
            if 1 < int(row['status']) < 13:
                matchs.append(row)
        if not matchs:
            msg = msg + "-> Il n'y a aucun match en cours"
        else:
            msg = msg + "-> Matchs en cours : ```"
            for each_match in matchs:
                if int(each_match['enable']) == 0:
                    status = "Stop"
                else:
                    status = "Live"

                if each_match['teama_name'] is None:
                    team_a = each_match['team_a_name']
                else:
                    team_a = each_match['teama_name']

                if each_match['teamb_name'] is None:
                    team_b = each_match['team_b_name']
                else:
                    team_b = each_match['teamb_name']
                match = '{0} ({1}) vs {2} ({3})'.format(
                    team_a, each_match['score_a'], team_b,
                    each_match['score_b'])
                msg = msg + match
                i = 0
                while i < 70 - (len(match) + 20):
                    msg = msg + ' '
                    i = i + 1
                msg = msg + '{0}({1})\n'.format(
                    static_var.ebot_status[int(each_match['status'])], status)
            msg = msg + "```"
        embed = logs.create_log(self.bot.user.avatar_url, "",
                                "User ID : {0}".format(ctx.message.author.id),
                                static_var.hex_colors_codes['green'],
                                ctx.message.author.name,
                                ctx.message.author.avatar_url, "Action",
                                "Command used", "Name", "!matchs", "Arguments",
                                args)
        await self.bot.get_channel(config.COMMAND_LOGS).send(embed=embed)
        await ctx.send(msg)