Ping 为负值(Discord.js v13)

Posted

技术标签:

【中文标题】Ping 为负值(Discord.js v13)【英文标题】:Ping has a negative value (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.createdTimestampms` ,
             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的服务器时间同步。 【参考方案1】:

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

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

做,而不是:

`$Date.now() - message.createdTimestampms`

【讨论】:

以上是关于Ping 为负值(Discord.js v13)的主要内容,如果未能解决你的问题,请参考以下文章

不和谐白名单 discord.js v13 [关闭]

如何在嵌入 discord.js V13 时使用下载的图像

如何使用 discord.js 调用 SubCommand 的选项? (v13)

Discord.js:错误:更新到 v13 后“找不到模块 'node:events'”

Discord.js V13:如何编辑交互的消息对象?

Discord.js V13 欢迎消息