【问题标题】:How do I fix Parse-MS not working on Discord.js v12如何修复 Parse-MS 无法在 Discord.js v12 上运行
【发布时间】:2021-08-25 00:07:06
【问题描述】:

我正在开发一个不和谐的经济机器人,并且我正在学习一个 beg 命令的教程,但是我遇到了使用 parse-ms 为其设置冷却时间的问题

我还需要帮助让 timeEmbed 显示剩余的冷却时间,因为现在它显示为 undefined 分钟 undefined

这是我的代码:

const Discord = require("discord.js");
const db = require("quick.db");
const ms = require("parse-ms");

module.exports.run = async (bot, message, args) => {
  if(!message.content.startsWith('m!'))return;  

  const user = message.author;

  const timeout = 180000;
  const amount = 5;

  const beg = await db.fetch(`beg_${message.guild.id}_${user.id}`);

  if (beg !== null && timeout - (Date.now() - beg) > 0) {
    const time = ms(timeout - (Date.now() - beg));
  
    const timeEmbed = new Discord.MessageEmbed()
    .setColor("#FFFFFF")
    .setDescription(`<:Cross:618736602901905418> You've already begged recently\n\nBeg again in ${time.minutes} minutes ${time.seconds} seconds`);
    message.channel.send(timeEmbed)
  } else {
    const moneyEmbed = new Discord.MessageEmbed()
  .setColor("#FFFFFF")
  .setDescription(`<:Check:618736570337591296> You've begged and received ${amount} coins`);
  message.channel.send(moneyEmbed)
  db.add(`money_${message.guild.id}_${user.id}`, amount)
  db.set(`beg_${message.guild.id}_${user.id}`, Date.now())


  }
};


module.exports.help = {
  name:"beg",
  aliases: [""]
}

【问题讨论】:

  • 你应该调试更多timebeg 看起来你的数据库成功了吗
  • 您是否正确安装了parse-ms?尝试卸载并重新安装它。

标签: node.js discord discord.js


【解决方案1】:

尝试在 Shell "npm install parse-ms-2" 中使用此命令

const db = require("quick.db");
const ms = require("parse-ms-2");

module.exports.run = async (bot, message, args) => {
  if(!message.content.startsWith('m!'))return;  

  const user = message.author;

  const timeout = 180000;
  const amount = 5;

  const beg = await db.fetch(`beg_${message.guild.id}_${user.id}`);

  if (beg !== null && timeout - (Date.now() - beg) > 0) {
    const time = ms(timeout - (Date.now() - beg));
  
    const timeEmbed = new Discord.MessageEmbed()
    .setColor("#FFFFFF")
    .setDescription(`<:Cross:618736602901905418> You've already begged recently\n\nBeg again in ${time.minutes} minutes ${time.seconds} seconds`);
    message.channel.send(timeEmbed)
  } else {
    const moneyEmbed = new Discord.MessageEmbed()
  .setColor("#FFFFFF")
  .setDescription(`<:Check:618736570337591296> You've begged and received ${amount} coins`);
  message.channel.send(moneyEmbed)
  db.add(`money_${message.guild.id}_${user.id}`, amount)
  db.set(`beg_${message.guild.id}_${user.id}`, Date.now())


  }
};


module.exports.help = {
  name:"beg",
  aliases: [""]
}

【讨论】:

    【解决方案2】:

    您应该将文件扩展名更改为 .mjs 而不是 .js 并更改 要导入的前面 const。 对于您将来将使用的其他 const 仍然保留 完整代码:

    import Discord from "discord.js";
    import db from "quick.db";
    import ms from "parse-ms";
    
    module.exports.run = async (bot, message, args) => {
    if(!message.content.startsWith('m!'))return;  
    
    const user = message.author;
    
    const timeout = 180000;
    const amount = 5;
    
    const beg = await db.fetch(`beg_${message.guild.id}_${user.id}`);
    
    if (beg !== null && timeout - (Date.now() - beg) > 0) {
    const time = ms(timeout - (Date.now() - beg));
    
    const timeEmbed = new Discord.MessageEmbed()
    .setColor("#FFFFFF")
    .setDescription(`<:Cross:618736602901905418> You've already begged 
    recently\n\nBeg again in ${time.minutes} minutes ${time.seconds} seconds`);
    message.channel.send(timeEmbed)
    } else {
    const moneyEmbed = new Discord.MessageEmbed()
    .setColor("#FFFFFF")
    .setDescription(`<:Check:618736570337591296> You've begged and received 
    ${amount} coins`);
    message.channel.send(moneyEmbed)
    db.add(`money_${message.guild.id}_${user.id}`, amount)
    db.set(`beg_${message.guild.id}_${user.id}`, Date.now())
    
    
    }
    };
    

    【讨论】:

    • 为什么没用?
    猜你喜欢
    • 2021-10-31
    • 2020-10-14
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 2020-10-19
    相关资源
    最近更新 更多