создание компонента сообщения (Кнопка) discord.js

#discord #discord.js

Вопрос:

компонент

Нажмите на это

Я хочу создать кнопку, но я не знаю, как я могу это сделать? Кто-нибудь может привести мне пример? Я хочу его без посылок

Комментарии:

1. Нажмите кнопку отпустить с discord.js v13, но это еще не официально, вам нужно дождаться стабильной

Ответ №1:

Существует пакет NPM под названием discord-buttons . Пример использования:

 const client = require('client');
const buttons = require('discord-buttons');
buttons(client);

// ...

client.on('message', message => {
 if (message.content.startsWith('test')) {
  const testButton = new buttons.MessageButton()
   .setLabel('test button')
   .setStyle('blurple')
   .setID('test_button');

  message.channel.send('test', testButton);
 }
});
 

Ответ №2:

Вот простой пример без модулей (просто discord.js) чтобы создать простую кнопку и ответить по щелчку:

 const { Client, MessageActionRow, MessageButton } = require('discord.js')

// The code... (the client.on('message') or .on('interactionCreate'))

    const row = new MessageActionRow()
      .addComponents(
        new MessageButton()
          .setCustomId("simple-example") // It is better to have a unique ID for the buttons
          .setLabel("Text diplayed on the button")
          .setStyle('PRIMARY'), //PRIMARY, SECONDARY, ALERT or SUCCESS
      );
      
      // For interactions do like this:
      interaction.reply({ content: "Super button below", components: [row] })
      // For messages do like this:
      message.reply({ content: "Super button below", components: [row] })
     
client.on('interactionCreate', interaction => {
    if (interaction.isButton()) {
        if (interaction.customId === "simple-example") {
            interaction.reply('Button clicked !')
        }
    }
})
// Log in with the bot