【发布时间】:2019-01-25 11:31:44
【问题描述】:
我的 Discord 机器人有问题,它会成为棋盘游戏机器人(我希望如此)。因此,我尝试将他们的玩家编号分配给用户,例如第一个玩家将担任“玩家 1”等角色......但我总是遇到同样的问题:
let role = message.guild.roles.find("480091776468647936");
^
TypeError:无法读取未定义的属性“角色” 在客户端。 (C:\Users\alant\Desktop\Informatique - Développement\Shadow Bot\shadow_bot.js:54:32)
在 emitOne (events.js:121:20)
在 Client.emit (events.js:211:7)
在 MessageCreateHandler.handle (C:\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
在 WebSocketPacketManager.handle (C:\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
在 WebSocketConnection.onPacket (C:\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:330:35)
在 WebSocketConnection.onMessage (C:\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:293:17)
在 WebSocket.onMessage (C:\node_modules\ws\lib\EventTarget.js:99:16)
在 emitOne (events.js:116:13)
在 WebSocket.emit (events.js:211:7)
我已经尝试过自己在 Google 上进行搜索,但我将这个机器人作为一种爱好,并且(还没有)对 JavaScript 有深入的了解,所以我希望得到一些帮助。 (对不起,如果我的英语不好,我不是来自英语国家)
bot.on('message', function(message) {
var message = message.content;
if (message === "joueur 1") {
membre = message.author;
let role = message.guild.role.find("480091776468647936");
membre.addRole(role);
message.channel.send("Vous etas doreavant le joueur 1 ! ")
}
})
【问题讨论】:
-
永远不要使用文本图像。它们不可搜索,不可访问,并且难以在较小的屏幕尺寸上阅读。我已经为你打了出来,但以后你需要将任何代码复制到你的问题中,并使用内置的格式化控件正确格式化。
-
好的,没问题,谢谢
-
@Alan 是在服务器上发送的消息还是直接消息?
-
@André 哪条消息? “Vous êtes dorénavant ....”必须在频道上发送,但控制台上的错误消息
-
我的意思是您正在发送命令的消息。如果您通过直接消息发送,则该消息将没有公会