Как указано в вопросе, у меня есть бот, который я использую для сообщения определенного канала c во всех гильдиях, в которые он приглашен. Сначала эта функция работала в моем контролируемом эксперименте с 3 серверами, которые я провел с требуемым каналом боту нужно было ретранслировать все мои сообщения. Затем, когда мой бот опубликовал c, у некоторых участников не было этого канала на своем сервере, что привело к тому, что мой бот отображал TypeError
при выполнении моей функции тестирования / ретрансляции.
TypeError: Cannot read property 'send' of undefined
Я хочу, чтобы бот мог отправлять мое ретрансляционное сообщение на указанное мной имя канала и игнорировать всех тех, у кого нет канала на своем сервере, и продолжать отправлять сообщение всем остальным с каналом в их сервер. Может ли кто-нибудь указать мне правильное направление в том, что мне нужно сделать?
Вот мой код функции команды. Я попытался использовать блок try and catch, но он, похоже, тоже не работает.
Подробности:
Ассоциации = требуемый канал для получения сообщений от меня.
test = я сделал команду для ретрансляции сообщений.
if (command === "test") {
const Detail = args.join(" ");
try {
bot.guilds.cache.forEach(guild => {
guild.channels.cache.find(t => t.name == 'associations').send(Detail)
});
}
catch (err) {
console.log(err)
}
}