我有此代码:
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
我不能弄清楚我的措词是否正确,或者这只是完全错误的方法。任何指示或想法将不胜感激。
答案 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)) {
}