複数のサーバーにあるDiscordボットを使用して、特定のチャネルにメッセージを送信しようとしています。ボットが1つのサーバーからのメッセージをピックアップし、特定のチャネルの個人用サーバーにメッセージを送信するようにしたいのですが、チャネルを「見つける」ことができません。 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)
client
(これはDiscord.Client()
のインスタンスになります)があると仮定して、 Client.find を使用して目的のチャネルを見つけてみます。
const channel = client.channels.find('name', channelName)
channel.send(message)
client
が直接なくても message
インスタンスがある場合は、常に Message.client 内からアクセスできますプロパティ。
まあ、あなたがDiscord.Client()
の "client
"インスタンスを持っているなら、これを使ってください:
client.channels.get(`channelID`).send(`Text`)
それは本当にシンプルですが正確です。