ajout des annotations
This commit is contained in:
parent
d468ecc8e0
commit
1efe25d141
3 changed files with 23 additions and 8 deletions
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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
12
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)
|
Reference in a new issue