I was trying to send a message to a specific channel so I use the script below
let msg = "I am a message"
clients.channels.cache.get("902208249099612170").send(msg)
but all I got were this error
clients.channels.cache.get("902208249099612170").send(msg)
^
TypeError: Cannot read properties of undefined (reading 'send')
I have no idea why can't it send a message, I am using discord js v13, anyone has any idea what is the problem? Thanks
CodePudding user response:
The channel might not exist in the client's cache. Try fetch
ing the channel instead:
clients.channels.fetch("902208249099612170").then((channel) => channel.send(msg));
// Or with async/await
const channel = await clients.channels.fetch("902208249099612170");
channel.send(msg)
CodePudding user response:
It means that the channel either doesn't exist or the bot can't see the channel/server the channel is in. Try catching it :
let msg = "This is a message."
clients.channels.fetch("902208249099612170")
.then((channel) => channel.send(msg));
.catch(err => console.log("Could not find the channel."))
CodePudding user response:
Well, I found the problem. Actually, there are multiple client
s on the file and the one logged in to the bot isn't the one sending the message to the specific channel so that's why I am unable to send it. Sorry if I wasted you guys' time