【问题标题】:Reacting to the emoji only once - Discord.js只对表情符号做出一次反应 - Discord.js
【发布时间】:2021-08-11 18:35:38
【问题描述】:

我正在开发这个机器人,我希望用户只能在表情符号中做出反应,如果他在其他时间做出反应,命令将不起作用。有人可以帮我吗?

let messagereturn = await message.channel.send(embed);

await messagereturn.react('????');

const reactions = ['????'];

const filter = (reaction, user) => reactions.includes(reaction.emoji.name) && user.id === User.id;
const collector = messagereturn.createReactionCollector(filter)

collector.on('collect', async emoji => {
    switch(emoji._emoji.name) {
        case('????'):

        const embed1 = new Discord.MessageEmbed()
        .setColor('#00ff00')
        .setDescription(`${User} **deu um tapa em** ${message.author}`)
        .setImage(rand)

        await message.channel.send(embed1)
    }
})

【问题讨论】:

  • Java 和 JavaScript 是两种不同的语言

标签: javascript discord discord.js


【解决方案1】:

createReactionCollector 方法有一个可选的options 对象,它允许您设置要收集的最大反应,在您的情况下为 1。

示例:

const collector = messagereturn.createReactionCollector(filter, { max: 1 })

【讨论】:

    猜你喜欢
    • 2020-11-14
    • 2021-07-15
    • 2021-05-20
    • 2021-02-06
    • 2020-07-30
    • 2021-12-17
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多