Discord Easy Buttons
😎 Discord buttons with easy callback system (onClick)
Example
const { Client } = require("discord.js");
const { MessageActionRow } = require("discord-buttons");
const client = new Client();
const easyButtons = require("dceasybuttons");
easyButtons.attachToClient(client);
client.on("message", async (message) => {
let args = message.content.split(" ");
if (args[0] == `abc!testeasybuttons`) {
const myButton = easyButtons.createButton(
{
label: "Cool Button",
style: "gray",
disabled: false,
defer: true,
timeout: 10000
}
);
let msgText = "Click button to change button name to your name. (Button automatically gets disabled after 10 seconds of inactivity.)";
let msg = await message.channel.send(msgText, myButton);
myButton.callback.onClick((event) => {
myButton.label = event.clicker.user.tag;
msg.edit(msgText, myButton)
});
myButton.callback.onTimeout(() => {
myButton.disabled = true;
msg.edit(`${msgText} (Ended)`, myButton)
});
}
});
client.login("<your token>");
Another example
const { Client } = require("discord.js");
const { MessageButton } = require("discord-buttons");
const client = new Client();
const easyButtons = require("dceasybuttons");
const { ButtonCallback } = require("dceasybuttons");
easyButtons.attachToClient(client);
client.on("message", async (message) => {
let args = message.content.split(" ");
if (args[0] == `abc!countup`) {
let myButtonCallback = new ButtonCallback({timeout: 10000});
let myButton = new MessageButton()
.setStyle("red")
.setLabel("0")
.setID(myButtonCallback.id);
let number = 0;
myButtonCallback.onClick((event) => {
event.defer();
myButton.setLabel(`${++number}`)
event.message.edit("Count Up +1", myButton);
});
message.channel.send("Count Up +1", myButton);
}
});
client.login("<token>")
Updates
0.1.4
- Default timeout to 60 seconds
- New example added.
0.1.3
- Now supports latest version of
discord-buttons
Created by Kıraç Armağan Önal