Comment envoyer des boutons. Discord.JS  2 min  

Bonjour,

Aujourd'hui nous allons voir comment envoyer des boutons sur Discord. Pour cela, nous allons premièrement installer le package "discord-buttons"

npm i discord-buttons


Ensuite, une fois cela de fait, nous allons créer une commande, pour que notre bot envoie les "boutons". Il ne faut pas oublier d'inclure discord-buttons sur votre commande, sinon cela ne fonctionnera pas.

const Discord = require("discord.js");
const config = require("../../config.json");
require('discord-buttons');

module.exports.run = async (client, message, args, prefix, logs) => {
  //votre code ici
}

module.exports.command = {
  name: "buttons",
  aliases: [],
  permission: "none",
  description: "Commande qui génère des boutons",
  usage: "buttons",
  args: false,
  args_min: 0,
  need_logs: false,
  category: "FUN",
  enabled: true
};

Une fois la base de votre commande réalisée, il suffit donc d'ajouter ce dont nous propose discord-buttons.

message.buttons('Voilà vos boutons', {
            buttons: [
                {
                    style: 'url',
                    label: 'Classement du serveur',
                    url: 'https://sandbox.dev-time.eu/discord/leaderboard/'+ message.guild.id+'?source=discord'
                },
                {
                    style: 'green',
                    label: 'Dev-Time',
                    id: 'devtimesite'
                },
                {
                    style: 'red',
                    label: 'Essai',
                    id: 'click_to_function'
                },
                {
                    style: 'grey',
                    label: 'Essai',
                    id: 'click_to_function'
                },
                {
                    style: 'blupurple',
                    label: 'Ajouter le bot',
                    id: 'devtimebot'
                }
            ]
        })

 

Le rendu sera donc comme l'image ci-dessus.

De plus, certains boutons exécute des "fonctions", c'est le cas pour le bouton "vert", "rouge", "gris" et "violet".

Pour cela, il faut créer un client.on() au nom de "clickButton".

client.on('clickButton', button => {
    if (button.id === 'click_to_function') {
      button.message.channel.send(button.clicker.user.tag)
    }
});
Attention !
Cette fonctionnalité n'est toujours pas disponible a tous le monde. Pour cela, il faut activer les paramètres "discord tester" ou simplement l'implémentation officielle. Il y a pour le moment aucune date annoncée pour cet ajout. 

Auteur

KilioZ

Étudiant en BTS Travaux Publics au Pas-de-Calais. Fondateur du réseau social Dev-Time, développeur web depuis 2013.


  Discord : Matéo M.#6452   Reddit : KilioZDev