Я заменил .defaultChannel
следующим, который пытается получить канал с именем general . Если не может, он пытается получить первый канал. Если это тоже не удается, регистрируется ошибка:
const channel = guild.channels.cache.find(channel => channel.name === 'general') || guild.channels.cache.first();
if (channel) {
...
} else {
console.log('The server ' + guild.name + ' has no channels.');
}
Я также перешел на метод Discord.Collection()
.each()
вместо преобразования коллекции в массив и используя .forEach()
.
Bot.on('message', async (message) => {
if (message.content === "e") {
Bot.guilds.each(guild => {
try {
const channel = guild.channels.cache.find(channel => channel.name === 'general') || guild.channels.cache.first();
if (channel) {
channel.send('message');
} else {
console.log('The server ' + guild.name + ' has no channels.');
}
} catch (err) {
console.log('Could not send message to ' + guild.name + '.');
}
});
}
});