【问题标题】:Getting Warnings with Role Reaction in discord.js在 discord.js 中使用角色反应获得警告
【发布时间】:2020-06-21 08:55:39
【问题描述】:

嘿,我最近开始编写一个不和谐机器人。但现在我有一个问题。我试图获得角色反应,但不知何故,我不断收到错误。我将把你的错误和我的代码链接起来,也许有人可以帮助我。

警告: https://hastebin.com/ativekefod.sql

MessageReactionAddEvent.js: https://hastebin.com/nababomuta.js

感谢您的帮助!

【问题讨论】:

  • 请阅读How to ask a good question "如果可以创建一个您可以链接到的问题的实时示例(例如,在sqlfiddle.comjsbin.com 上)然后这样做- 还要将代码复制到问题本身中。不是每个人都可以访问外部站点,并且链接可能会随着时间的推移而中断。”

标签: javascript discord discord.js


【解决方案1】:

当只给出 2 个参数时,您正在检索 3 个参数,messageReactionuser

https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-messageReactionAdd

所以本质上你是在一个用户类上调用 .message。

将运行函数改为:

async run(client, reaction, user);

然后您的消息变量将是:

const message = reaction.message;

根据您的事件处理程序,它可能会有所不同,但这很可能是这样

【讨论】:

  • 现在我得到 "["?", "?"].includes(reaction.message.emoji.name)" 的 "UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'name' of undefined"跨度>
  • 你不应该通过消息类来获取表情符号,这没有意义,因为上面可以有多个表情符号,只需调用reaction.emoji.name
  • 非常酷,谢谢,但现在我必须弄清楚如何将其写入数据库,这样我就不必每次重新启动机器人时都创建新的嵌入。让我们看看我能不能找到一个视频,因为我完全不知道该怎么做。 :D
  • 数据库不是一个好的解决方案,无论哪种方式,您都需要创建一个新的嵌入,因为嵌入不是静态的,它会根据表情符号而变化。
猜你喜欢
  • 2021-02-07
  • 1970-01-01
  • 2020-12-17
  • 2021-09-11
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多