Comment envoyer un message à un canal spécifique
Je suis en train d'envoyer un message à un canal spécifique avec mon Discorde bot, qui est à plusieurs serveurs. Je veux le bot, pour reprendre un message à partir d'un serveur et d'envoyer un message sur mon serveur personnel, dans un canal spécifique, mais je n'arrive pas à "trouver" le canal. A l'API a changé ou quelque chose? J'ai essayé npm install discord.js
à jour trop.
Code:
if (message.author.id == 'XXXXX' && !mess.includes("Dank") && message.channel.id != 'XXXXX') {
bot.channels.get('XXXXX').send('memes');
}
J'ai essayé quelques petites choses mais aucune n'a fonctionné.
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)
- La question est juste comme il dit,
.send()
est pas défini. Je suggère de débogage, essayez d'abord de voir si tous les nœuds, les modules sont réellement chargés. Ensuite, je dirais en fait en quelque sorte de la connexion la valeur de.send
. - En supposant que vous avez le
client
essayer de faireconst channel = client.channels.find('name', channelName)
et puischannel.send(message)
- Je ne voulais pas avoir à recourir à l'utilisation que parce que, dans la situation que deux canaux avec le même nom créé il serait susceptible de pépin, bien que je crois qu'il y a un moyen de spécifier l' "de la guilde." De toute façon, je vais l'essayer lors de la discorde serveurs de retour en ligne. >.<
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez le
client
(ce qui serait une instance deDiscord.Client()
) essayez de trouver la chaîne voulue en utilisant Client.trouver:Si vous n'avez pas le
client
directement, mais ont unmessage
exemple, vous pouvez toujours y accéder à partir de l'intérieur de la Message.client propriété.Bien, si vous avez la "
client
" instance deDiscord.Client()
, puis de les utiliser:client.channels.get(`channelID`).send(`Text`)
C'est vraiment simple mais précis.