【问题标题】:Ping has a negative value (Discord.js v13)Ping 为负值(Discord.js v13)
【发布时间】:2021-10-09 10:22:56
【问题描述】:

Ping 输出一个负值。我查阅了a correct ping statement 的答案,似乎没有任何问题。

我的 ping 命令:

const Discord = require('discord.js')

module.exports = {
    name: "ping",
    description: "Test Ping to Bot",

    async run (client, message, args) {
        console.log(`${message.createdAt} | ${message.author.tag} ${message.author} : ${message}`)
        const ping = new Discord.MessageEmbed()
        .setTitle('**???? PING PONG! ????**')
        .setColor("RANDOM")
        .addFields(
            { name: 'Độ trễ của Bot', value: `${Date.now() - message.createdTimestamp}ms` },
            { name: 'Độ trễ của API', value: `${Math.round(client.ws.ping)}ms`, inline: true },
        )
        .setTimestamp()   
        message.channel.send({embeds : [ping]});
    }
}

输出:

discord.js 13.0.0-dev.t1628035429.00d5cee

【问题讨论】:

  • 我看到你使用 message.createdAtmessage.createdTimestamp。我不知道这是否是故意的,是否是导致问题的原因,但也许这有帮助
  • 我仅将message.createdAt 用于控制台日志。
  • 奇怪...Can't reproduce.
  • 可能是你的电脑使用的时间(运行这个脚本的那个)没有和discord的服务器时间同步。

标签: javascript discord.js delay ping


【解决方案1】:

message.createdTimestamp 总是最大的数,所以如果你从数学中知道,当你试图从一个较小的数中减去一个较大的数时,你总是会得到一个负数(例如:1 - 2 = -1),所以那么你应该:

`${message.createdTimestamp - Date.now()}ms`

做,而不是:

`${Date.now() - message.createdTimestamp}ms`

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2021-10-24
    • 1970-01-01
    • 2021-12-24
    • 2022-01-05
    • 2021-12-14
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多