簡體   English   中英

Discord.js 刪除消息不是命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM