簡體   English   中英

獲取 Discord.JS 機器人的正常運行時間

[英]Get Uptime of Discord.JS bot

我現在正在為運行時制作一個 Discord 機器人命令,我想知道執行運行時最緊湊(並且仍然正確)的方式是什么來捕捉機器人實際在線的時間並以 24 小時格式返回它。

您無需在機器人啟動時手動保存。 您可以使用client.uptime ,您將獲得機器人啟動的毫秒數

從那里你可以做這樣的事情:

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

然后您就可以使用dayshoursminutesseconds

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

更好的解決方案

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

這是一個非常簡單的解決方案,它返回一個人類可讀的字符串。 它使用漂亮的 ms 模塊

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

你可以用

var bruh = Date.now();

在代碼的開頭以及要使用它時,請使用

var bruhAfter = bruh - Date.now();

然后使用接受的代碼,但使用 bruhAfter 而不是 client.uptime。 這是針對非 discord.js 的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM