@ItsRadic

Как отправить сообщения от бота командой, всем участникам которые находятся на сервере?

Я только начал изучать язык JS, и хочу узнать, как отправить командой сообщение всем участникам в личные сообщения в виде embed? И возможно-ли это вообще?
Например: "!message-all Привет! У бота вышло глобальное обновление!" и т.д.. и это отправилось всем участника в дискорд сервере на котором я написал это сообщение.

Помогите пожалуйста, весь интернет обыскал.
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
message.guild.members.fetch().then(members => {
    members.filter(m => !m.user.bot).forEach(member => {
        member.send({
            embeds: [ваш_embed]
        }).catch(() => {
            console.log(`${member.user.tag} сообщение не было доставлено`)
        })
    })
})
чтобы код выше работал, не забудьте добавить интент GUILD_MEMBERS в код:
const client = new Client({ intents: [...другие интенты, Intents.FLAGS.GUILD_MEMBERS] });

также, у вас должен быть активирован пункт Server Members Intent в профиле бота (Discord Developer Portal).
как проверить, активирован ли он?
1) перейдите в Discord Developer Portal
2) выберите вашего бота
3) перейдите во вкладку "Bot"
4) пролистайте ниже и активируйте пункт "Server Members Intent"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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