Discord.js检查消息中是否有用户提及

时间:2020-06-23 07:22:03

标签: javascript bots discord.js

我有此代码:

direct_discount/assets/images/offer_images/

我正在尝试获取它来调用名为 const args = message.content.split(" "); args.shift(); var mention = message.mentions.users.first() const subject = args[0]; if (!subject) { return message.say(`*you wand projects a stream of water*`) } else if (subject === mention) { return message.say(`*Your wand projects a stream of water at ${mention} and they are now soaked*`) 的{​​{1}}变量,以便人们可以指定向某人射击该咒语。我不太清楚如何检查它。我已经尝试了以下几种方法:

mention.users.first()

我知道这可能不起作用,但是我尝试了:

mention

我不能弄清楚我的措词是否正确,或者这只是完全错误的方法。任何指示或想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

<Message>.content中的角色提及将采用<@&ID>的形式,它将是一个字符串,discord.js已经具有验证角色提及所需的正则表达式的静态属性,即:{ {1}},所以现在您只需测试字符串是否通过:

/<@&(\d{17,19})>/g

就像我说的那样,您可以通过static属性获得此正则表达式 https://discord.js.org/#/docs/main/v12/class/MessageMentions?scrollTo=s-ROLES_PATTERN

const regex = /<@&(\d{17,19})>/g;
if(regex.test(subject)) {

}