[英]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.