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。