Aller au contenu principal

🪑 Salons

🎊 Multi évènements

Ici, on retrouve 3 types d'évènements:

É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 :

Exemple pour chaque évènement remplace <module_name> par le nom de ton module

  • create./sources/modules/<module_name>/channels/create.js
  • delete./sources/modules/<module_name>/channels/delete.js
  • update./sources/modules/<module_name>/channels/update.js

🤔 "Channel"

Channel 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 Channel.

➕ ChannelCreate

Possède un argument channel qui est une instance de Channel.

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,
}

➖ ChannelDelete

Possède un argument channel qui est une instance de Channel.

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,
}

🆙 ChannelUpdate

Possède deux arguments old_channel et new_channel qui sont des instances de Channel.

⚠️ Attention: old_channel représente l'état du salon avant la mise à jour et new_channel après la mise à jour.

async function parse(old_channel, new_channel)
{
console.log("channel:", old_channel.name, "has been updated")
console.log("old_channel:", old_channel)
console.log("new_channel:", new_channel)
}

module.exports = {
parse,
conditions: [],
any_guild: false,
dm: false,
allow_bots: false
}

🖥️ Méthodes et paramètres

Soyez prudent ChannelCreate et ChannelDelete ont tous deux uniquement 1 argument comme ci-dessous :

async function parse(channel)

Alors que ChannelUpdate possède 2 arguments

async function parse(old_channel, new_channel)

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,
}
  • parse → la méthode qui gère le clique / la réponse
  • customId → customId l'identifiant du bouton que l'on veut gérer
  • any_guild → si false, la commande ne pourra être exécutée que sur le serveur principal
  • dm → si true, vous pourrez utiliser la commande même en messages privés