【发布时间】:2018-12-09 17:33:00
【问题描述】:
我正在尝试使用我的 Discord 机器人向特定频道发送消息,该频道位于多个服务器中。我希望机器人在特定频道中从一台服务器接收消息并将消息发送到我的个人服务器,但我无法让它“找到”该频道。 API是否发生了变化?我也试过npm install discord.js更新。
代码:
if (message.author.id == 'XXXXX' && !mess.includes("Dank") && message.channel.id != 'XXXXX') {
bot.channels.get('XXXXX').send('memes');
}
我尝试了一些方法,但都没有成功。
TypeError: Cannot read property 'send' of undefined
at decideIfMention (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\bot.js:80:45)
at Client.bot.on (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\bot.js:68:3)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (C:\Users\XXXX\Desktop\Coding Crud\Discord Bot 2\node_modules\ws\lib\event-target.js:120:16)
at emitOne (events.js:116:13)
【问题讨论】:
-
问题正如它所说,
.send()未定义。我建议调试,首先尝试查看是否所有节点模块都已实际加载。然后,我建议实际上以某种方式记录.send的值。 -
假设你有
client尝试做const channel = client.channels.find('name', channelName)然后channel.send(message) -
@GMaiolo 我不想使用它,因为在创建两个同名通道的情况下,它可能会出现故障,尽管我相信有一种方法可以指定“公会”。无论哪种方式,我都会在不和谐服务器重新上线时尝试一下。 >.
标签: javascript bots channel discord.js