【问题标题】:ReactionCollector in Discord.js user.send() is not a functionDiscord.js user.send() 中的 ReactionCollector 不是函数
【发布时间】:2022-01-15 22:59:35
【问题描述】:

我为我的 Discord Bot 创建了一个 ReactionCollector,但如果我想向用户发送消息,则会出现错误 user.send() is not a function。我的 Discord.js 版本是 v11。

    const filter = (reaction, user) => {
        return validEmojis.includes(reaction.emoji.name) && user.id !== bot.user.id;
};
    const collector = message.createReactionCollector(filter)

    collector.on('collect', (reaction, user) => {
        if (reaction.emoji.name === "????") {
            user.send("hello")
        }       
    });

ReactionCollector中反应参数的日志输出:

<ref *1> MessageReaction {
  message: Message {
  me: true,
  count: 2,
  users: Collection(1) [Map] {
    '342000434514493440' => User {
      id: '342000434514493440',
      username: 'TFS_NerzDesmony',
      discriminator: '7832',
      avatar: 'b05491a41564a2f32811b55d4ea44103',
      bot: false,
      lastMessageID: null,
      lastMessage: null
    }
  },
  _emoji: ReactionEmoji {
    reaction: [Circular *1],
    name: '????',
    id: null,
    animated: false
  }
}

希望有人能帮我解决这个问题

【问题讨论】:

  • Discord.js 版本?
  • discord.js 版本为 v11
  • Discord.js v11 使用元素和收集器两个参数,而不是反应和用户。
  • 有没有其他方式向用户发送消息?
  • 记录反应并在您的问题中添加其内容的屏幕截图

标签: javascript node.js discord discord.js bots


【解决方案1】:

根据MessageReactionuser.send("hello") 替换为reaction.users.first().send("hello"),因为您使用的是Discord.js v11。

【讨论】:

    猜你喜欢
    • 2020-06-26
    • 2020-08-21
    • 2020-12-31
    • 2020-12-07
    • 2020-08-23
    • 2020-01-22
    • 2020-11-13
    • 2017-11-28
    • 2021-06-15
    相关资源
    最近更新 更多