ajout des annotations

This commit is contained in:
Mylloon 2020-10-14 03:23:14 +02:00
parent d468ecc8e0
commit 1efe25d141
3 changed files with 23 additions and 8 deletions

View file

@ -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)

View file

@ -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:

12
main.py
View file

@ -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)