如果我按顺序使用两个或多个带有按钮的命令,并单击任何消息中的任何按钮,则所有消息都将被编辑。我想知道是否有办法修复这个错误。
const filter = i => i.isButton() && (i.customId === "prev" || i.customId === "next" || i.customId === "source") && (i.user.id === message.author.id)
听起来像是在通道上创建收集器,并且没有唯一的自定义id。在消息上创建收集器,或者如果消息还不可用,则创建一个唯一的自定义id(例如:将交互id添加到自定义id(
const collector = message.createMessageComponentCollector({ filter })
或者,如果你想使用一个独特的自定义id:
.setCustomId(`prev${interaction.id}`) // for example
// ...
const filter = i => i.isButton() &&
(i.customId === `prev${interaction.id}` ||
i.customId === `next${interaction.id}` ||
i.customId === `source${interaction.id}`) &&
(i.user.id === message.author.id) // Note: interaction.id is not the same as i.id