我该如何在!! userinfo命令中显示服务器中的语音时数和服务器中发送的消息?

时间:2019-02-05 15:07:05

标签: javascript node.js discord discord.js

我正在尝试使我的userinfo命令可以在任何用户那里执行,并在服务器中显示语音时数和在服务器中发送的消息 这是我的!! userinfo命令

const Discord = module.require("discord.js");

module.exports.run = async (bot, message, args) => {
  let member = message.mentions.members.first() || message.member,
  user = member.user;

  let embed = new Discord.RichEmbed()
    .setAuthor(message.author.username)
    .setDescription("Users Info")
    .setColor("#9B59B6")
    .addField("Full Username:", `${message.author.username}${message.author.discriminator}`)
    .addField("ID:", message.author.id)
    .addField("Created at:", message.author.createdAt)
    .addField("Status:", `${user.presence.status}`)
    .addField("Game:", `${user.presence.game}`)
    .addField("Roles", member.roles.map(r => `${r}`).join('|'), true);

  message.channel.send(embed);        
}

module.exports.help = {
  name: "userinfo"
}

我如何显示语音时数和发送的消息?我必须使用SQL记录它吗?

1 个答案:

答案 0 :(得分:0)

您需要使用SQL或某些本地JSON文件记录/保存所有这些信息。对于语音时间,您需要收听voiceStateUpdate event并保存用户加入和用户离开语音信道的时间。然后,您需要计算这些时间段之间的时间,并将其添加到该用户的语音总时长中。

对于邮件,您只需要收听message event并每次为该特定用户增加一个计数器。