Javascript (Discord.JS)-反应角色错误“;无法读取属性";角色“;“未定义”的定义;

Javascript (Discord.JS)-反应角色错误“;无法读取属性";角色“;“未定义”的定义;,javascript,node.js,roles,Javascript,Node.js,Roles,我正在尝试为我的创建一个“反应角色”命令,以便成员可以使用以下代码赢得一些角色: client.on('raw', async dados => { if (dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return if (dados.d.message_id != "7801696934064292

我正在尝试为我的创建一个“反应角色”命令,以便成员可以使用以下代码赢得一些角色:

client.on('raw', async dados => {
    if (dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
    if (dados.d.message_id != "780169693406429235") return

    let servidor = client.guilds.cache.get("774274642520965180")
    let membro = servidor.members.cache.get(dados.d.user_id);

    let cafet = servidor.roles.cache.get("<@&780176147681378335>"),
        inkei = servidor.roles.cache.get("<@&780175676380414002>"),
        mokuzai = servidor.roles.cache.get("<@&780175676380414002>");
    if(dados.t === "MESSAGE_REACTION_ADD") {
        if (dados.d.emoji.id === "774669881996083220") {
            if (membro.roles.cache.has(cafet)) return
            membro.roles.add(cafet);
        } else if (dados.d.emoji.id === "775031385542885406") {
            if (membro.roles.cache.has(inkei)) return
            membro.roles.add(inkei);
        } else if (dados.d.emoji.id === "774665913559023738") {
            if (membro.roles.cache.has(mokuzai)) return
            membro.roles.add(mokuzai);
        }
    }
})
client.on('raw',异步dados=>{
if(dados.t!==“MESSAGE\u REACTION\u ADD”&&dados.t!==“MESSAGE\u REACTION\u REMOVE”)返回
如果(dados.d.message_id!=“7801669340642935”)返回
让servidor=client.guilds.cache.get(“774274642520965180”)
让membro=servidor.members.cache.get(dados.d.user\u id);
让cafet=servidor.roles.cache.get(“”),
inkei=servidor.roles.cache.get(“”),
mokuzai=servidor.roles.cache.get(“”);
if(dados.t==“消息\u反应\u添加”){
如果(dados.d.emoji.id==“774669881996083220”){
if(membro.roles.cache.has(cafet))返回
membro.roles.add(cafet);
}else if(dados.d.emoji.id==“77503138542885406”){
if(membro.roles.cache.has(inkei))返回
membro.roles.add(inkei);
}else if(dados.d.emoji.id==“774665913559023738”){
if(membro.roles.cache.has(mokuzai))返回
membro.roles.add(mokuzai);
}
}
})
好的!机器人正常启动!但是,当我去测试代码时,对应该赋予角色的表情符号做出反应,但是,除了角色没有被交付之外,控制台上会向我返回以下错误:

(node:3048) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'roles' of undefined
    at Client.<anonymous> (C:\Users\Leaofy\Desktop\Woah!\index.js:29:24)
    at Client.emit (events.js:315:20)
    at WebSocketShard.onMessage (C:\Users\Leaofy\Desktop\Woah!\node_modules\discord.js\src\client\websocket\WebSocketShard.js:295:27)
    at WebSocket.onMessage (C:\Users\Leaofy\Desktop\Woah!\node_modules\ws\lib\event-target.js:132:16)
    at WebSocket.emit (events.js:315:20)
    at Receiver.receiverOnMessage (C:\Users\Leaofy\Desktop\Woah!\node_modules\ws\lib\websocket.js:825:20)
    at Receiver.emit (events.js:315:20)
    at Receiver.dataMessage (C:\Users\Leaofy\Desktop\Woah!\node_modules\ws\lib\receiver.js:437:14)
    at Receiver.getData (C:\Users\Leaofy\Desktop\Woah!\node_modules\ws\lib\receiver.js:367:17)
    at Receiver.startLoop (C:\Users\Leaofy\Desktop\Woah!\node_modules\ws\lib\receiver.js:143:22)
(node:3048) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:3048) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(节点:3048)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“roles”
在客户端。(C:\Users\Leaofy\Desktop\Woah!\index.js:29:24)
在Client.emit(events.js:315:20)
在WebSocketShard.onMessage(C:\Users\Leaofy\Desktop\Woah!\node\u modules\discord.js\src\client\websocket\WebSocketShard.js:295:27)
在WebSocket.onMessage(C:\Users\Leaofy\Desktop\Woah!\node\u modules\ws\lib\event target.js:132:16)
在WebSocket.emit(events.js:315:20)
在Receiver.receiverOnMessage(C:\Users\Leaofy\Desktop\Woah!\node\u modules\ws\lib\websocket.js:825:20)
在Receiver.emit(events.js:315:20)
在Receiver.dataMessage(C:\Users\Leaofy\Desktop\Woah!\node\u modules\ws\lib\Receiver.js:437:14)
在Receiver.getData(C:\Users\Leaofy\Desktop\Woah!\node\u modules\ws\lib\Receiver.js:367:17)
在Receiver.startoop(C:\Users\Leaofy\Desktop\Woah!\node\u modules\ws\lib\Receiver.js:143:22)
(节点:3048)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志“---unhandled rejections=strict”(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (拒绝id:1)
(节点:3048)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。
如果你能帮助我,我将非常感激