javascript - 我正在尝试制作一个有延迟的 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,请告诉我如何解决此错误,谢谢。
解决方案
用 (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] });
},
};
推荐阅读
- azure - Azure IoT Edge:在 config.yaml 文件中引用证书
- javascript - 在不使用 this.props.children 的情况下将 components/JSX 作为 prop 传递给子组件
- javascript - Uncaught SyntaxError: Unexpected strict mode reserved word Vue.js
- html - 最适合计算程序/网站的语言?
- android - Android Wear 应用中的 Android 架构组件
- wordpress - 如何在 wordpress 中使用简码显示 html 表单?
- javascript - React js 使用钩子 useState 无限循环渲染?
- python - 实际安装模块时 pip install 期间的 ModuleNotFoundError
- python - ValueError:两个结构的序列长度不同
- bash - 在 Ubuntu 应用程序 Windows10 中运行 script.sh 的问题