From 1efe25d14168e133ff82f736ca5202683fcfd439 Mon Sep 17 00:00:00 2001 From: Anri Date: Wed, 14 Oct 2020 03:23:14 +0200 Subject: [PATCH] ajout des annotations --- cogs/commands.py | 15 +++++++++------ cogs/help.py | 4 ++++ main.py | 12 ++++++++++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/cogs/commands.py b/cogs/commands.py index dc1a215..c9dddf3 100755 --- a/cogs/commands.py +++ b/cogs/commands.py @@ -1,7 +1,6 @@ import discord from discord.ext import commands from random import randint, choice -from datetime import datetime import time class Commands(commands.Cog): @@ -10,6 +9,9 @@ class Commands(commands.Cog): def __init__(self, bot): self.bot = bot + # dans le message envoyer : le premier chiffre est la latence du protocole Discord WebSocket, + # le deuxieme c'est le temps que le bot a pris pour faire les p'tits calculs, + # le troisième c'est le temps que le bot a pris pour réagir au message @commands.command() async def ping(self, ctx, *, question = '0'): """Affiche mon ping.⁢⁢⁢⁢⁢\n ➡ Syntaxe: .ping [help]⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢""" @@ -102,13 +104,14 @@ class Commands(commands.Cog): @commands.command(aliases = ['infos']) async def info(self, ctx): """Donne des infos sur le bot.\n ➡ Syntaxe: .info/infos⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢""" - embed = discord.Embed(url = 'https://github.com/Mylloon', color = randint(0, 0xFFFFFF)) + embed = discord.Embed(url = 'https://github.com/Mylloon', color = randint(0, 0xFFFFFF)) # pub gratuite embed.set_author(name='Bot Licence L1', icon_url=ctx.author.avatar_url) - total_online = len({m.id for m in self.bot.get_all_members() if m.status is discord.Status.online}) - total_unique = len(self.bot.users) + total_online = len({m.id for m in self.bot.get_all_members() if m.status is discord.Status.online}) # liste utilisateurs de tous les serveurs où le bot est, en ligne + total_unique = len(self.bot.users) # pareil mais en comptants les hors lignes aussi + # liste des différents canaux voice_channels = [] text_channels = [] for guild in self.bot.guilds: @@ -118,11 +121,11 @@ class Commands(commands.Cog): text = len(text_channels) voice = len(voice_channels) - embed.add_field(name='Développeur', value='Mylloon#7869') + embed.add_field(name='Développeur', value='Mylloon#7869') # pub encore embed.add_field(name='Serveurs', value=len(self.bot.guilds)) embed.add_field(name='Membres', value=f'{total_unique} au total\n{total_online} en ligne') embed.add_field(name='Channels', value=f'{text} textuelles\n{voice} vocales') - embed.set_footer(text=f'Basé sur discord.py {discord.__version__}') + embed.set_footer(text=f'Basé sur discord.py {discord.__version__}') # ca peut être utile de connaitre quel version le bot utilise sans devoir se connecter a distance au serveur qui fait tourner le bot await ctx.send(embed=embed) diff --git a/cogs/help.py b/cogs/help.py index d9a7533..8770a8b 100755 --- a/cogs/help.py +++ b/cogs/help.py @@ -2,6 +2,8 @@ import discord from discord.ext import commands from random import randint +# il y a deja une commande help de base mais celle ci est + jolie + class Help(commands.Cog): """Listes des commandes et/ou catégories.""" @@ -16,10 +18,12 @@ class Help(commands.Cog): halp=discord.Embed(title = 'Liste des catégories et commandes non catégorisées', description = 'Utilisez `.help *Catégorie*` pour en savoir plus sur eux !', color = randint(0, 0xFFFFFF)) + # liste des cogs cogs_desc = '' for x in self.bot.cogs: cogs_desc += (f'{x} - {self.bot.cogs[x].__doc__}\n') halp.add_field(name = 'Catégories', value = cogs_desc[0:len(cogs_desc)-1], inline = False) + # liste des commandes dans main.py cmds_desc = '' for y in self.bot.walk_commands(): if not y.cog_name and not y.hidden: diff --git a/main.py b/main.py index 1621aab..b710e2a 100755 --- a/main.py +++ b/main.py @@ -4,20 +4,25 @@ import discord from discord.ext import commands from setup import token +# on décide du prefix +# on dit d'ignorer les majuscules/minuscules quand on tape une commande +# plus d'infos sur l'intent ici : https://discordpy.readthedocs.io/en/latest/intents.html (j'ai pas encore tout compris c'est nouveau) client = commands.Bot(command_prefix = ".", case_insensitive = True, intents = discord.Intents.all()) @client.event async def on_connect(): print("Le bot est en ligne.") +# le status du bot @client.event async def on_ready(): await client.change_presence(status = discord.Status.online, activity = discord.Activity(name = "devenir fort en info", type = discord.ActivityType.playing)) print("Bot chargé à 100%.") @client.event -async def on_raw_reaction_add(payload): - if payload.message_id == 765470422149365760: +async def on_raw_reaction_add(payload): # check toutes les nouvelles réactions + if payload.message_id == 765470422149365760: # on check si on réagis au message que l'on veut + # en fonction de la réaction on donne le role if payload.emoji.name == '🟡': role = discord.utils.get(payload.member.guild.roles, name="L1A1") await payload.member.add_roles(role) @@ -37,6 +42,7 @@ async def on_raw_reaction_add(payload): role = discord.utils.get(payload.member.guild.roles, name="L1C2") await payload.member.add_roles(role) +# meme systeme qu'au dessus sauf que c'est plus compliqué de choppé le membre pour lui retirer son rôle @client.event async def on_raw_reaction_remove(payload): if payload.message_id == 765470422149365760: @@ -71,6 +77,7 @@ async def on_raw_reaction_remove(payload): role = discord.utils.get(guild.roles, name="L1C2") await member.remove_roles(role) +# on importe les modules complémentaires situé dans cogs/ try: client.load_extension("cogs.commands") except Exception as error: @@ -82,4 +89,5 @@ try: except Exception as error: print(error) +# pour lancer le bot client.run(token) \ No newline at end of file