Javascript 如何通过AFK命令(discord.js)防止这种情况发生

Javascript 如何通过AFK命令(discord.js)防止这种情况发生,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我有一个AFK命令,但问题是什么时候执行!afk在我的服务器上,我在另一台服务器上键入其他内容,它会说“欢迎回来,你不再是afk了”,尽管我这样做了!我的服务器中的afk。我不知道如何解决这个问题 守则: bot.afk = new Map(); bot.on("message", message => { if (db.has(message.author.id + '.afk')) { message.channel.send("

我有一个
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;
}

我可以用message.guild.id代替channel id吗?@WideIrenaKan1是的,应该可以。是的,你应该用guild代替channel id。