我正在尝试使我的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记录它吗?
答案 0 :(得分:0)
您需要使用SQL或某些本地JSON文件记录/保存所有这些信息。对于语音时间,您需要收听voiceStateUpdate event并保存用户加入和用户离开语音信道的时间。然后,您需要计算这些时间段之间的时间,并将其添加到该用户的语音总时长中。
对于邮件,您只需要收听message event并每次为该特定用户增加一个计数器。