【发布时间】:2021-11-23 11:34:10
【问题描述】:
我一直在尝试在我的斜杠命令中添加按钮来制作嵌入页面。我能找到的所有信息要么只是在按钮上(不是按钮+斜杠命令),要么需要在索引文件中完成,而不是通过命令处理程序完成。我尝试向interaction.reply 添加await,但它发送一个错误,它需要在异步函数中。我不完全确定 async/await 是如何工作的,所以如果那是解决我的问题的正确方法,我就不能再做更多的工作了。如何在命令处理的文件中收集按钮交互以编辑按钮单击时的嵌入? This is the guide I used to create the initial command handler。 这是我当前的 info.js 文件。
const { SlashCommandBuilder } = require("@discordjs/builders");
const Discord = require("discord.js");
const info = require("./info.json");
module.exports = {
data: new SlashCommandBuilder()
.setName("cinfo")
.setDescription("Shows AniGame card info")
.addStringOption(option =>
option
.setName("name")
.setDescription("Enter the name of a card")
.setRequired(false)
),
async execute(interaction) {
const msg = interaction.options.getString("name").toLowerCase();
function cinfo(
name,
info,
stats,
talent,
image,
sr1,
sr2,
sr3,
srt,
ur1,
ur2,
ur3,
urt
) {
const base = new Discord.MessageEmbed()
.setTitle(name)
.setColor(0xffd1dc)
.setDescription(info)
.addField("__Card Stats__", stats)
.addField("Talent", talent)
.setImage(image);
const sr = new Discord.MessageEmbed()
.setTitle(name + " | Level 50")
.setColor(0xffd1dc)
.addField("__SR Evo 1__", sr1, true)
.addField("__SR Evo 2__", sr2, true)
.addField("__SR Evo 3__", sr3, true)
.addField("Talent", srt)
.setImage(image);
const ur = new Discord.MessageEmbed()
.setTitle(name + " | Level 60")
.setColor(0xffd1dc)
.addField("__UR Evo 1__", ur1, true)
.addField("__UR Evo 2__", ur2, true)
.addField("__UR Evo 3__", ur3, true)
.addField("Talent", urt)
.setImage(image);
const row = new Discord.MessageActionRow().addComponents(
new Discord.MessageButton()
.setCustomId("backward")
.setStyle("PRIMARY")
.setEmoji("⬅️"),
new Discord.MessageButton()
.setCustomId("forward")
.setStyle("PRIMARY")
.setEmoji("➡️"),
new Discord.MessageButton()
.setCustomId("delete")
.setStyle("DANGER")
.setEmoji("????️")
);
const pages = [base, sr, ur];
interaction.reply({ embeds: [base], components: [row] });
// await interaction.editReply()
}
// location 1
if (
msg === "itaru hashida" ||
msg === "itaru" ||
msg === "hashida"
) {
cinfo(
info.Itaru_Hashida[0],
info.Itaru_Hashida[1],
info.Itaru_Hashida[2],
info.Itaru_Hashida[3],
info.Itaru_Hashida[4],
info.Itaru_Hashida[5],
info.Itaru_Hashida[6],
info.Itaru_Hashida[7],
info.Itaru_Hashida[8],
info.Itaru_Hashida[9],
info.Itaru_Hashida[10],
info.Itaru_Hashida[11],
info.Itaru_Hashida[12]
);
}
}
};
【问题讨论】:
标签: javascript node.js discord.js discord-buttons