@anubis465

Как отправлять сообщения в первый канал на всех серверах Discord?

Хочу сделать что-то вроде оповещений для серверов, на которых есть бот. Дабы я мог написав одну команду отправить на сервера сообщение через бота.
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
client.guilds.cache.array().forEach(guild => {
    guild.channels.cache
        .array()
        .filter(c => c.type !== "category" && c.type !== "voice" && c.position === 0)[0]
        .send("сообщение")
})

не забывайте о двух важных аспектах:
  1. у первого текстового канала на сервере может быть выставлена настройка "Запретить участникам сервера отправлять сообщения в канал".

    вызовет ошибку:

    UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Permissions

  2. на сервере может не быть текстовых каналов.

    вызовет фатальную ошибку:

    TypeError: Cannot read property 'send' of undefined


во избежание таких случаев делайте проверки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы