#javascript #node.js #discord #discord.js
Вопрос:
Я хочу, чтобы, если кто-то упомянет моего бота, не сказав больше ничего в том же сообщении, бот ответил на него.
Example:@bot
И not:@bot
привет
Это мой текущий код:
client.on('message', message => {
if (message.isMemberMentioned(client.user) amp;amp; message.author.id === UserId) {
message.channel.send('message');
}
});
Комментарии:
1. Вы используете discord.js в11?
2. 11.4.2 если быть точным
Ответ №1:
Решение версии 12 здесь.
Вы можете получить коллекцию упомянутых пользователей с помощью message.mentions.users
и сначала проверить, есть ли какой-либо упомянутый пользователь, и если он есть, проверьте, совпадает ли идентификатор первого пользователя с идентификатором бота.
Как только вы проверите, упоминается ли бот, вы сможете увидеть, есть ли какой-либо другой контент:
client.on('message', (message) => {
if (message.author.bot) return;
const args = message.content.split(/ /);
const mentionedUsers = message.mentions.users;
const isBotMentioned = mentionedUsers.size
? mentionedUsers.first().id === client.user.id
: false;
if (isBotMentioned amp;amp; args.length === 1)
return message.channel.send(`What now, ${message.author}?`);
});