首页 > 解决方案 > 我正在尝试制作一个有延迟的 discord.js ping 命令,但它显示了这个错误

问题描述

我正在尝试制作一个显示延迟的 ping 命令,但我遇到了一个错误,我不知道它为什么会显示它,这是错误 -

TypeError: Cannot read properties of undefined (reading 'ping')
    at Object.execute (C:\Users\Ayush Kumar\Desktop\AniVenture\commands\utility\ping.js:10:74)
    at Client.<anonymous> (C:\Users\Ayush Kumar\Desktop\AniVenture\index.js:78:11)
    at Client.emit (node:events:390:28)
    at MessageCreateAction.handle (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\discord.js\src\client\actions\MessageCreate.js:23:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\discord.js\src\client\websocket\WebSocketManager.js:350:31)
    at WebSocketShard.onPacket (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\discord.js\src\client\websocket\WebSocketShard.js:443:22)
    at WebSocketShard.onMessage (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10)
    at WebSocket.onMessage (C:\Users\Ayush Kumar\Desktop\AniVenture\node_modules\ws\lib\event-target.js:199:18)      
    at WebSocket.emit (node:events:390:28)

ping.js 中的代码 -

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

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

我正在使用 discord.js v13,请告诉我如何解决此错误,谢谢。

标签: javascriptnode.jsdiscord.js

解决方案


用 (client, message) 交换你的 (message, client)

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

推荐阅读