[英]Discord.js check for a user mention inside a message
我有這個代碼:
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*`)
我試圖讓它獲取名為mention
的mention.users.first()
變量,以便人們可以指定向某人發射咒語。 我不太清楚如何檢查它。 我嘗試了幾件事,例如:
} else if (subject === mention) {
} else if (subject === 'mention') {
} else if (subject === {mention}) {
我知道這個可能行不通,但我試過了:
} else if (subject === ${mention}) {
我不知道我的措辭是否正確,或者這完全是錯誤的做法。 任何指針或想法將不勝感激。
<Message>.content
中的角色提及將采用<@&ID>
的形式,它將是一個字符串,discord.js 已經具有驗證角色提及所需的正則表達式的 static 屬性,即: /<@&(\d{17,19})>/g
,所以現在您只需要測試字符串是否通過:
const regex = /<@&(\d{17,19})>/g;
if(regex.test(subject)) {
}
就像我說的,你可以通過 static 屬性https://discord.js.org/#/docs/main/v12/class/MessageMentions?scrollTo=s-ROLES_PATTERN獲得這個正則表達式
const {MessageMentions} = require("discord.js");
const regex = MessageMentions.ROLES_PATTERN;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.