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.createdAt
和 message.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 调用 SubCommand 的选项? (v13)