[英]How to make it so it only respond if its exact (Discord.JS)
我正在這樣做,所以如果我輸入 @Wide#9256 它會響應
這是我的代碼:
if (message.mentions.members.first() !== undefined) {
if (message.mentions.members.first().id === bot.user.id) {
const embed = new Discord.MessageEmbed()
.setTitle("Prefix")
.setDescription('My Prefix is "!"')
.setFooter('Type !help for more information')
.setThumbnail(bot.user.displayAvatarURL())
.setColor('RANDOM')
message.channel.send(embed)
}
}
但是在這段代碼中,如果我說“嘿@Wide#9256 h”,它也會響應,我希望它響應只有“@Wide#9256”而不是別的。
我試過了
if (message.content === message.mentions.members.first().id === bot.user.id)
不起作用,提前謝謝你
更正的代碼:
if(message.mentions.members.first() && message.content.split(' ').length === 1) {
// Your code here
}
這個怎么運作:
message.content.split(' ')
將消息的所有部分作為單獨的元素返回一個數組,由' '
分隔。 更多信息: https://www.w3schools.com/jsref/jsref_split.asp
在這種情況下,您只需將消息內容直接與原始提及格式 ( <@ID>
) 進行比較
// this leaves no spaces for anything before or after the mention
if (message.content === bot.user.toString()) { // generates mention format
// ...
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.