Documentation de lg-rez¶
Note¶
Cette documentation est encore en bêta, et n’est disponible que pour la classe principale proposée par ce package, lgrez.LGBot
.
Référence¶
-
class
lgrez.
LGBot
(command_prefix='!', description=None, case_insensitive=True, **kwargs)[source]¶ Bot Discord pour parties de Loup-Garou à la PCéenne.
Classe fille de
discord.ext.commands.Bot
, utilisable exactement de la même manière.Attributs propres à cette classe :
-
GUILD_ID
¶ l’ID du serveur sur lequel tourne le bot. Vaut
None
avant l’appel àrun()
, puis la valeur de la variable d’environnementLGREZ_SERVER_ID
.- Type
id, optionnal
-
tasks
¶ Tâches planifiées actuellement en attente.
- Type
dict[int,
asyncio.TimerHandle
]
Méthodes propres à cette classe :
-
async
on_command_error
(ctx, exc)[source]¶ Méthode appellée par Discord à chaque exception levée dans une commande.
Analyse l’erreur survenue et informe le joueur de manière adéquate en fonction, en mentionnant les MJs si besoin.
Ne fait rien si l’exception n’a pas eu lieu sur le serveur
GUILD_ID
.- Paramètres
ctx (
discord.ext.commands.Context
) – Contexte dans lequel l’exception a été levéeexc (
discord.ext.commands.CommandError
) – Exception levée
-
async
on_error
(event, *args, **kwargs)[source]¶ Méthode appellée par Discord à chaque exception remontant au-delà d’une commande.
Log en mentionnant les MJs. Cette méthode permet de gérer les exceptions sans briser la loop du bot (i.e. il reste en ligne).
- Paramètres
event (str) – Nom de l’évènement ayant généré une erreur (
"member_join"
,"message"
…)*args – Arguments passés à la fonction traitant l’évènement :
member
,message
…**kwargs –
Arguments passés à la fonction traitant l’évènement :
member
,message
…
-
async
on_member_join
(member)[source]¶ Méthode appellée par Discord à l’arrivée d’un joueur sur le serveur.
Log et lance le processus d’inscription.
Ne fait rien si l’arrivée n’est pas sur le serveur
GUILD_ID
.- Paramètres
member (
discord.Member
) – Le joueur qui vient d’arriver.
-
async
on_member_remove
(member)[source]¶ Méthode appellée par Discord au départ d’un joueur du serveur.
Log en mentionnant les MJs.
Ne fait rien si le départ n’est pas du serveur
GUILD_ID
.- Paramètres
member (
discord.Member
) – Le joueur qui vient de partir.
-
async
on_message
(message)[source]¶ Méthode appellée par Discord à la réception d’un message.
- Invoque l’ensemble des commandes, ou les règles d’IA si
Le message n’est pas une commande
Le message est posté dans un channel privé (#conv-bot-…)
Il n’y a pas déjà de commande en cours dans ce channel
Le channel n’est pas en mode STFU
Ne fait rien si le message n’est pas sur le serveur
GUILD_ID
ou qu’il est envoyé par le bot lui-même ou par un membre sans aucun rôle affecté.- Paramètres
member (
discord.Member
) – Le joueur qui vient d’arriver.
-
async
on_raw_reaction_add
(payload)[source]¶ Méthode appellée par Discord à l’ajout d’une réaction sur un message.
Appelle la fonction adéquate si le joueur est en base et a cliqué sur « :bucher: », « :maire: », « :lune: » ou « :action: ».
Ne fait rien si la réaction n’est pas sur le serveur
GUILD_ID
.- Paramètres
payload (
discord.RawReactionActionEvent
) – Paramètre « statique » (car le message n’est pas forcément dans le cache du bot, par exemple si il a été reboot depuis).
- Quelques attributs utiles :
payload.member
(discord.Member
) : Membre ayant posé la réactionpayload.emoji
(discord.PartialEmoji
) : PartialEmoji envoyépayload.message_id
(int) : ID du message réacté
-
async
on_ready
()[source]¶ Méthode appellée par Discord au démarrage du bot.
Vérifie le serveur, log et affiche publiquement que le bot est fonctionnel ; restaure les tâches planifiées éventuelles et exécute celles manquées.
-
run
(*args, **kwargs)[source]¶ Prépare puis lance le bot (bloquant).
Récupère les informations de connection, établit la connection à la base de données puis lance le bot.
- Paramètres
*args – Arguments passés à
discord.ext.commands.Bot.run()
.**kwargs –
Arguments passés à
discord.ext.commands.Bot.run()
.
-