簡體   English   中英

獲取另一個角色時如何刪除角色(discord.js)

[英]How to remove a role when getting another(discord.js)

我得到的只是這個(那里,當寫(,+)時,他履行了這個角色,但即使這樣她也是一個非工人,請幫忙)

bot.on('message', msg => {
    if (msg.content === prefix + '+') {
    member.roles.remove(801095844044341279).catch(console.error);

    }
});

消除此錯誤

C:\Users\user\Desktop\bot\index.js:40
    member.roles.remove(801095844044341279).catch(console.error);
    ^

ReferenceError: member is not defined
    at Client.<anonymous> (C:\Users\user\Desktop\bot\index.js:40:5)
    at Client.emit (events.js:327:22)
    at MessageCreateAction.handle (C:\Users\user\Desktop\bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\user\Desktop\bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\user\Desktop\bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (C:\Users\user\Desktop\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\user\Desktop\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\user\Desktop\bot\node_modules\ws\lib\event-target.js:132:16)
    at WebSocket.emit (events.js:315:20)
    at Receiver.receiverOnMessage (C:\Users\user\Desktop\bot\node_modules\ws\lib\websocket.js:825:20)

您需要使用消息object 從中獲取成員。

像這樣:

bot.on('message', msg => {
    if (msg.content === prefix + '+') {
        msg.member.roles.remove('801095844044341279').catch(() => {
            console.error("failed to remove role");
        });
    }
});

我還修復了您的console.error ,因為它是無效的語法,如果它無法刪除角色,它現在會正確地向控制台出錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM