Javascript Bot Uptime Discord.JS

Javascript Bot Uptime Discord.JS,javascript,node.js,discord,discord.js,uptime,Javascript,Node.js,Discord,Discord.js,Uptime,我正在努力让我的机器人正常运行。无论是在我的桌面上还是在Heroku上,每次我运行它时,它给我的所有时间格式都是“0” const Discord = require('discord.js'); const moment = require("moment"); const bot = new Discord.Client(); require("moment-duration-format"); module.exports = { name:

我正在努力让我的机器人正常运行。无论是在我的桌面上还是在Heroku上,每次我运行它时,它给我的所有时间格式都是“0”

const Discord = require('discord.js');
const moment = require("moment");
const bot = new Discord.Client();
require("moment-duration-format");
module.exports = {
    name: 'stats',
    description: "Bot Stats",
    execute(message, args){ 
        const duration = moment.duration(bot.uptime).format(" D [days], H [hrs], m [mins], s [secs]");
        const statEmbed = new Discord.RichEmbed()
            .setTitle("**  = STATISTICS =**")
            .addField("**Mem Usage  ::**", `**${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB**`)
            .addField("**Uptime**", `**${duration}**`);
        message.channel.send(statEmbed);
    }
}

对不起,我也不知道这个问题,也许是你的“瞬间持续时间格式”有问题?我从来没有用过它

我这样计算了我的机器人的正常运行时间,希望它能帮助你

let totalSeconds = (bot.uptime / 1000);
let days = Math.floor(totalSeconds / 86400);
let hours = Math.floor(totalSeconds / 3600);
totalSeconds %= 3600;
let minutes = Math.floor(totalSeconds / 60);
let seconds = totalSeconds % 60;

为什么要在非主文件中创建新的Discord客户端1个令牌-1个客户端

您需要使用
(message,args,bot)
运行命令execute,然后您将获得正确的正常运行时间

您的bot arg具有
未定义的
bot.uptime
属性,因为您没有 和那个“新”客户登录


以下是我为我的机器人所做的:
我使用了
client.uptime()
模块

const Discord=require(“Discord.js”);
const client=new Discord.client();
client.on('message',message=>{
如果(!message.content.startsWith(prefix)| | message.author.bot)返回;
const args=message.content.slice(prefix.length.trim().split(+/);
const命令=args.shift().toLowerCase();
如果(命令=='uptime'){
如果(!message.content.startsWith(prefix)| | message.author.bot)返回;
设totalSeconds=(client.uptime/1000);
假设天数=数学下限(总秒数/86400);
总秒数%=86400;
让小时数=数学楼层(总秒数/3600);
总秒数%=3600;
分钟=数学地板(总秒数/60);
让秒数=数学地板(总秒数%60);
const embed=new Discord.MessageEmbed()
.setTitle(`Uptime`)
.addField(“天”,“${Days}”)
.addField(“小时数”,“${Hours}”)
.addField(“分钟数”,“分钟数”)
.addField(“秒数”,`${Seconds}`)
message.channel.send(嵌入);
}
});
client.login(“您的令牌”);

不允许我发布代码,但这里有一个imgur链接,指向代码的屏幕截图