时间.分钟和时间.秒未定义



所以我做了一个带有冷却时间的工作命令,它准确地显示了你必须等待多长时间才能再次工作。冷却时间有效,但它显示时间.秒和时间.分钟未定义。这是我的代码:

const Discord = require("discord.js");
const db = require('quick.db')
const ms = require("ms");
module.exports = class economy {
constructor(){
this.name = 'work',
this.alias = ['work'],
this.usage = 's!work',
this.description = 'Work to get paid',
this.runnable = 'true'
}
async run(bot, message, args) {
let timeout = 600000 
let amount = Math.floor(Math.random() * 25) + 15;
var jobs = ["Miner", "Bartender", "Cashier", "Cleaner", "Drugdealer", "Assistant", "Nurse", "Cleaner", "Teacher", "Accountants", "Security Guard", "Sheriff", "Lawyer", "Dishwasher", "Electrician", "Singer", "Dancer"];
let work = await db.fetch(`work_${message.author.id}`);
if (work !== null && timeout - (Date.now() - work) > 0) {
let time = ms(timeout - (Date.now() - work));
message.channel.send(`You already worked, try again in **${time.minutes}m ${time.seconds}s**!`)
} else {
var job = jobs[Math.floor(Math.random() * jobs.length)];
message.channel.send(`You worked as a ${job} and earned ${amount} <:shart:646075915293687810>`)
db.add(`money_${message.author.id}`, amount)
db.set(`work_${message.author.id}`, Date.now())
}
}   
}

我该如何解决这个问题?

根据 ms docs 的说法,ms函数的结果中没有minutesseconds字段。如果我正确理解您的用例,您应该只提供**{time}**而不是**${time.minutes}m ${time.seconds}s**.

const ms = require("parse-ms"(

最新更新