获取Discord.JS机器人的正常运行时间

时间:2018-04-19 04:22:38

标签: javascript node.js discord discord.js

我现在正在为运行时制作一个Discord bot命令,我想知道最紧凑(并且仍然正确)的运行时方式是什么,以便捕获机器人实际上线的时间并以24小时格式返回。< / p>

4 个答案:

答案 0 :(得分:4)

当机器人启动时,您不需要手动保存。你可以使用client.uptime,然后你会得到多少毫秒

从那里你可以做这样的事情:

let totalSeconds = (client.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;

然后您就可以使用dayshoursminutesseconds

let uptime = `${days} days, ${hours} hours, ${minutes} minutes and ${seconds} seconds`;

答案 1 :(得分:1)

您可以使用

var bruh = Date.now();

在代码的开头,并且要使用它时,请使用

var bruhAfter = bruh - Date.now();

然后使用可接受的代码,但使用bruhAfter代替client.uptime。 这适用于non-discord.js。

答案 2 :(得分:1)

这是一个非常简单的解决方案,它返回一个人类可读的字符串。它使用 pretty-ms module

const prettyMilliseconds = require("pretty-ms");
message.channel.send(`Uptime: ${prettyMilliseconds(client.uptime)}`)
// 15d 11h 23m 20s

答案 3 :(得分:0)

更好的解决方案

const moment = require("moment");
require("moment-duration-format");
const duration = moment.duration(client.uptime).format(" D [days], H [hrs], m [mins], s [secs]");

console.log(duration);

//Output = 1 hr, 16 mins, 8 secs