[英]Discord.js delete messages not commands
您好,我重新發布這篇文章是因為在上一篇文章中我一定解釋錯了。 我的意思是,在發送一條 MESSAGE(不是命令)例如 f3eufgjnei gergergce4ger gergrg 或其他垃圾郵件后,它將被刪除(不是在垃圾郵件幾分鍾后),但在發送后立即刪除,如果你不知道答案,請幫助,請不要發送注釋標記的文檔,因為在上一篇文章中沒有任何內容很多人向我發送的文檔沒有幫助,代碼如下:)
if (message.content === `${prefix}verify`) {
message.delete();
if (message.channel.id === '838040640377585664') {
let role = message.guild.roles.cache.find(r => r.id === "838037327589670962");
message.member.roles.add(role);
message.author.send(`test`)
}
}
$verify 命令刪除,僅此而已,但其他消息不會刪除(消息不是命令!)
首先檢查頻道 id,然后檢查消息內容是否驗證,否則執行 message.delete(),如果消息不是命令,則會刪除該消息。 您正在以相反的順序執行此操作,因為您正在檢查消息內容是否已驗證,然后執行 message.delete() 刪除命令。
例如:
if (message.channel.id === '838040640377585664') {
if (message.content === `${prefix}verify`) {
return message.channel.send('verified'); //or do your thing with a return statement
}
message.delete();
}
基本上它會首先檢查它是否是通道,並檢查消息是否!verify
是否是,然后它會發送你在 if 語句中所做的任何事情,但記得返回(停止進一步執行程序)。 如果不是這種情況,那么它將刪除。 或者,您可以將它們包含在 if、else 語句中。
例如:
if (message.channel.id === '838040640377585664') {
if (message.content === `${prefix}verify`) {
//do your thing
}
else{
message.delete();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.