🎠Réactions
🎊 Multi évènements​
Ici, on retrouve 2 types d'évènements:
MessageReactionAdd→ quand une réaction est ajoutée à un messageMessageReactionDelete→ quand une réaction est retirée d'un message
Étant donné qu'on retrouve 3 types d'évènements, on ne peut pas simpltement créer des fichiers dans ./sources/modules/<module_name>/channels,
on doit spécifier quel est le type d'évènement correspondant. Pour ce faire on ajoute une extension à la fin du fichier :
add→ pour gérerMessageReactionAddremove→ pour gérerMessageReactionDelete
⎯ Exemple pour chaque évènement
remplace <module_name> par le nom de ton module
add→./sources/modules/<module_name>/reactions/add.jsremove→./sources/modules/<module_name>/channels/remove.js
🤔 "MessageReaction"​
MessageReaction est un object avec un grand nombre de méthodes et de données, pensez à lire la
discord.js documentation pour comprendre comment bien utiliser MessageReaction.
➕ MessageReactionAdd​
Possède deux arguments reaction qui est une instance de MessageReaction
et user qui est une instance de User.
async function parse(reaction, user)
{
console.log(message.author.username, "reacted with", reaction)
}
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
➖ MessageReactionRemove​
Possède 2 arguments, reaction qui est une instance de MessageReaction
et user qui est une instance de User.
async function parse(reaction, user)
{
console.log("reaction of", message.author.username, "has been removed", reaction)
}
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
⎯ Exportation
En bas du fichier, nous avons l'exportation (exports), qui inclu plusieurs éléments importants.
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
parse→ la méthode qui gère le clique / la réponseconditions→ liste des méthodes pour vérifier sireactionetuserrépond aux conditionscustomId→ customId l'identifiant du bouton que l'on veut gérerany_guild→ si false, la commande ne pourra être exécutée que sur le serveur principaldm→ si true, vous pourrez utiliser la commande même en messages privés