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’environnement LGREZ_SERVER_ID.

Type

id, optionnal

in_command

IDs des salons où une commande est actuellement exécutée.

Type

list[int]

in_stfu

IDs des salons en mode STFU.

Type

list[int]

in_fals

IDs des salons en mode Foire à la saucisse.

Type

list[int]

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
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éaction

  • payload.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