Discord 为什么下面的代码没有向用户添加角色?

Discord 为什么下面的代码没有向用户添加角色?,discord,discord.js,Discord,Discord.js,在下面的代码中,我尝试在用户对特定消息做出“a”表情符号反应时向用户添加角色。但是,当我对消息做出反应时,我只看到控制台日志Role Added1,这意味着线程在尝试为用户分配角色时陷入了困境。我在下面的代码中犯了什么错误导致了错误 bot.on(“原始”,事件=>{ const eventName=event.t; if(eventName==“消息\u反应\u添加”){ var roles=JSON.parse(fs.readFileSync(“roles.JSON”); var info=

在下面的代码中,我尝试在用户对特定消息做出“a”表情符号反应时向用户添加角色。但是,当我对消息做出反应时,我只看到控制台日志
Role Added1
,这意味着线程在尝试为用户分配角色时陷入了困境。我在下面的代码中犯了什么错误导致了错误

bot.on(“原始”,事件=>{
const eventName=event.t;
if(eventName==“消息\u反应\u添加”){
var roles=JSON.parse(fs.readFileSync(“roles.JSON”);
var info=JSON.parse(fs.readFileSync(“info.JSON”))
如果(event.d.message_id==info[“Class message”]){//类选择
开关(event.d.emoji.name){

案例“您没有从
raw
事件接收到
GuildMember
类实例。它是一个简单的json对象,与discordjs无关。下面是一些有用的东西:

bot.on(“原始”,异步事件=>{
const eventName=event.t;
if(eventName==“消息\u反应\u添加”){
var roles=JSON.parse(fs.readFileSync(“roles.JSON”);
var info=JSON.parse(fs.readFileSync(“info.JSON”))
如果(event.d.message_id==info[“Class message”]){//类选择
开关(event.d.emoji.name){

案例“为什么事件需要异步?因为我使用了“wait guild.members.fetch”。wait
关键字只能在异步函数中使用。但是,如果函数不异步,则不需要wait关键字来阻止获取函数。是的,您需要它。获取用户需要时间并返回承诺,因此您需要解决它。我将用另一个解决方案更新我的答案以向您展示。谢谢,f或者在帮助下,我只是将其他语言的知识应用到JSXD中