You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js v13编写ping延迟命令报错无法读取ping属性如何解决

错误原因

报错指向你代码中${client.ws.ping}这一行,读取ping属性失败,说明此时client变量为undefined,核心问题是你execute函数的参数接收顺序和主文件调用命令时传入的参数顺序不匹配。同时你当前的bot延迟计算逻辑也存在问题,得到的会是负数结果。

修复方案
  1. 调整参数取值方式,改为直接从message对象上挂载的client属性读取客户端实例,避免参数顺序不匹配的问题
  2. 修正延迟计算的顺序,用当前时间减去消息创建时间得到正确的延迟值

修复后的完整ping.js代码如下:

const Discord = require("discord.js");

module.exports = {
name: 'ping',  
cooldown: 4,
execute(message) {
    const bot = Date.now() - message.createdTimestamp;
    const ping = new Discord.MessageEmbed()
    .setTitle("Pong! :ping_pong:")
    .setDescription(`Bot latency: \`${bot}ms\`\n API latency: \`${message.client.ws.ping}ms\``)
    .setColor("#31e8b7")
    .setTimestamp()
    .setFooter(`${message.author.tag}`);
    message.channel.send({ embeds: [ping] });
},
};

如果不想修改取值逻辑,也可以直接检查你index.js中调用execute函数的代码,确保传入的第二个参数是client实例即可。

内容的提问来源于stack exchange,提问作者user16982681

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:54:01