我制作了一个代码,指出当离线用户聊天时,它们会被删除,并且会向控制台发送一条消息,表明已检测到离线聊天。
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.on('message', message => {
let member = message.member;
let status = member.user.presence.status;
let args = message.content.trim().split(' ');
if(args[0]){
if(status === "offline") {
message.delete();
}
}
bot.on('messageDelete', (msg, status) => {
if(status === "offline"){
console.log('Offline user chat detected.')
}
}
但是,messageDelete
部分不起作用,我知道status
是个问题。
如何获取其他处理程序变量并应用它们?
答案 0 :(得分:0)
Client.messageDelete
只允许1个参数,即Message。因此,您可以使用Message对象来访问author
对象的User属性。在User对象中,您可以通过获取User.presence.status
。
因此,您的messageDelete事件应如下所示:
bot.on('messageDelete', msg => {
if(msg.author.presence.status === "offline") {
console.log('Offline user chat detected.');
}
}