簡體   English   中英

如何從我的 AFK 命令(discord.js)中防止這種情況發生

[英]How do I prevent this from happening from my AFK Command (discord.js)

我有一個AFK命令,但問題是何時在我的服務器中執行!afk並且我在另一台服務器上鍵入其他內容時,即使我在我的服務器中執行了!afk ,它也會顯示“歡迎回來你不再 afk” 我不知道如何解決這個問題

編碼:

bot.afk = new Map();
bot.on("message", message => {
 
    if (db.has(message.author.id + '.afk')) {
        message.channel.send("welcome back!")
        db.delete(message.author.id + '.afk')
        db.delete(message.author.id + '.message')
    }
})
bot.on('message', message => {
    if (message.author.bot) return
    message.mentions.users.forEach(user => {
        if (db.has(user.id + '.afk')) message.channel.send(`That user is AFK!`)
    })
})
 
 
bot.on('message', message => {
    if (!message.content.startsWith(PREFIX)) return;
    let args = message.content.substring(PREFIX.length).split(' ');
    switch (args[0]) {
        case 'afk':
            db.set(message.author.id + '.afk', 'true')
            db.set(message.author.id + '.messageafk', message.content.split(' ').slice(1))
            message.channel.send(`U are now afk`)
            break;
    };
});

您可以為用戶將頻道 ID 存儲在您的數據庫中,以便:

let isafk = db.fetch(`isafk_${message.channel.id}_${message.author.id}`) //however you fetch your db values
if(isafk) {
//code for if is afk in that channel
} else {
return;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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