UNPKG

discord-buttons-pages

Version:
96 lines (95 loc) 3.31 kB
exports.pages = async function(client, message, pages, timeout, disbut, style){ const Discord = require("discord.js"); require("discord-buttons"); //disbut(client); //const easyButtons = require("dceasybuttons"); var timeForStart = Date.now(); if(pages.find(k=> k >= 5)){ console.error("Amount of pages must be 4 or below!"); return; } const pageMovingButtons1 = new disbut.MessageButton() .setID(`forward_button`) .setLabel("") .setEmoji("⏩") .setStyle(style) const pageMovingButtons2 = new disbut.MessageButton() .setID(`back_button`) .setLabel("") .setEmoji("⏪") .setStyle(style) var pageMovingButtons = new disbut.MessageActionRow() .addComponent(pageMovingButtons2) .addComponent(pageMovingButtons1) for(var i = 0;i<pages.length;i++){ pages[i].push(pageMovingButtons); } var currentPage = 0; if(message.content){ var msgContent = message.content; } else{ var msgContent = undefined; } if(message.embeds[0]){ var embed = message.embeds[0]; } else{ var embed = null; } message.edit(msgContent, {components: pages[currentPage], embed: embed}); client.on("clickButton", async b=>{ if(Date.now() - timeForStart >= timeout)return; if(b.message.id == message.id && b.message.author.id == message.author.id){ if(b.id == "back_button"){ if(currentPage - 1 < 0){ currentPage = pages.length - 1 } else{ currentPage -= 1; } } else if(b.id == "forward_button"){ if(currentPage + 1 == pages.length){ currentPage = 0; } else{ currentPage += 1; } } if(b.id == "back_button" || b.id == "forward_button"){ if(message.content){ var msgContent = message.content; } else{ var msgContent = undefined; } if(message.embeds[0]){ var embed = message.embeds[0]; } else{ var embed = null; } message.edit(msgContent, {components: pages[currentPage], embed: embed}); b.defer(true); } } }) /*const filter = (button) => button.clicker.user.id === message.author.id; const collector = message.createButtonCollector(filter, { time: timeout }); collector.on("collect", async b =>{ console.log("collected the button with id " + b.id) if(b.id == "back_button"){ if(currentPage - 1 > 0){ currentPage = pages.length - 1 } else{ currentPage -= 1; } } else if(b.id == "forward_button"){ if(currentPage + 1 == pages.length){ currentPage = 0; } else{ currentPage += 1; } } if(b.id == "back_button" || b.id == "forward_button"){ var array = [pages[currentPage]]; array.push(pageMovingButtons); b.message.edit("weeewee", {components: array}); b.defer(true); } })*/ }