Как рандомно упомянуть пользователя на сервере discord через команду?
Совсем недавно в этой области, но очень интересно.
Суть следующая, пишу своего чат-бота для discord на node.js, где при вызове определенной команды, чат-бот отвечает на сообщения, например, если написать "!привет", то бот ответит пользователю, который написал в чат данную команду "Добрый день, @user!". Сейчас, я хочу, чтобы на команду "!пять", чат-бот рандомно выбирал пользователя с сервер и отвечал "@user, дай пять!". Как это можно реализовать?
Я так понимаю, что это можно сделать с помощью Array.from (message.member.guild.members), так я получу всех пользователей на сервер или нет? И как с этим работать дальше, я не могу понять.
Ответы (1 шт):
Благодарю на ссылки, помогли. В принципе у меня получилось то, чего я и добивался. Может кому-нибудь понадобиться, вот, что у меня получилось.
//Массив с фразами
const phrases = [
"здоровается с",
"даёт пять"
];
// При получении сообщения
client.on('message', async (message) => {
// Проверяем, что сообщение является командой и начинается со знака восклицания
if (message.content.startsWith('!randomHello')) {
// Получаем коллекцию участников сервера
const members = message.guild.members.cache.array();
// Выбираем случайную фразу и случайного участника из коллекции
const randomphrases = phrases[Math.floor(Math.random() * phrases.length)];
const randomMember = members[Math.floor(Math.random() * members.length)];
// Упоминаем случайного участника в сообщении
message.channel.send(`${message.author} ${randomphrases} ${randomMember}`);
}
});