【问题标题】:discord delete message filter不和谐删除消息过滤器
【发布时间】:2018-11-21 12:52:41
【问题描述】:

我编写了一个代码,说明当离线用户聊天时,他们被删除,并向控制台发送一条消息,指出检测到离线聊天。

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 是个问题。

如何获取其他处理程序变量并应用它们?

【问题讨论】:

    标签: javascript bots discord discord.js


    【解决方案1】:

    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.');
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-02
      • 1970-01-01
      • 2021-05-29
      • 2021-09-26
      • 2021-07-25
      • 2021-11-03
      • 1970-01-01
      • 2020-12-15
      • 2021-09-20
      相关资源
      最近更新 更多