đź’¬ Message
🎊 Multi events​
Ici, on retrouve 3 types d'évènements:
MessageCreate→ quand un message est envoyéMessageDelete→ quand un message est suppriméMessageUpdate→ quand un message est mis à jour (modifié)
Étant donné qu'on retrouve 3 types d'évènements, on ne peut pas simpltement créer des fichiers dans ./sources/modules/<module_name>/messages,
on doit spécifier quel est le type d'évènement correspondant. Pour ce faire on ajoute une extension à la fin du fichier :
create→ pour gérerMessageCreatedelete→ pour gérerMessageDeleteupdate→ pour gérerMessageUpdate
⎯ Exemple pour chaque évènement
remplace <module_name> par le nom de ton module
create→./sources/modules/<module_name>/messages/create.jsdelete→./sources/modules/<module_name>/messages/delete.jsupdate→./sources/modules/<module_name>/messages/update.js
🤔 "Message"​
Message est un object avec un grand nombre de méthodes et de données, pensez à lire la
documentation discord.js pour comprendre comment bien utiliser Message.
➕ MessageCreate​
Possède un argument message qui est une instance de Message.
async function parse(message)
{
console.log("new message from:", message.author.username)
console.log("content:", message.content)
}
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
➖ MessageDelete​
Possède un argument message qui est une instance de Message.
async function parse(message)
{
console.log("message from:", message.author.username, "has been deleted")
console.log("content:", message.content)
}
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
🆙 MessageUpdate​
Possède deux arguments old_message et new_message qui sont des instances de Message.
⚠️ Attention: old_message représente l'était du message avant la mise à jour et new_message après la mise à jour.
async function parse(old_message, new_message)
{
console.log("message from:", old_message.author.username, "has been updated")
console.log("old_content:", old_message.content)
console.log("new_message:", new_message.content)
}
module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}
🖥️ Méthodes et paramètres​
Soyez prudent MessageCreate et MessageDelete ont
tous deux uniquement 1 argument comme ci-dessous :
async function parse(message)
Alors que MessageUpdate possède 2 arguments
async function parse(old_message, new_message)
⎯ 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 la sélection / la réponseconditions→ liste des méthodes pour vérifier simessage.memberrépond aux conditionsany_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ésallow_bots→ si fasle, l'évènement sera ignoré quand il sera provoqué par un bot