[英]Why am I getting an undefined when trying to get a Guild in Discord.js?
[英]Why am I getting a client error in discord.js
我正在使用此Discord.js 指南在我的 discord.js 機器人中創建一個 !stats 命令。 當我使用基本命令處理程序時,這是我的 stats.js 代碼:
module.exports = {
name: 'stats',
description: 'React to a message',
execute(message, client) {
message.channel.send(`Server count: ${client.guilds.cache.size}`);
},
};
然后我收到此錯誤:
TypeError: Cannot read property 'cache' of undefined
at Object.execute (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\commands\Utility\stats.js:5:55)
at Object.execute (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\events\message.js:69:12)
at Client.<anonymous> (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\bot.js:30:61)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (E:\The Owner\Naffy Dharni\Discord\Bots\Toxado Manager\node_modules\ws\lib\event-target.js:132:16)
我能做些什么來解決這個問題?
cache
屬性之前的任何內容都是undefined
。
因此,在您的情況下,這就是 client.guilds。 鑒於對於正確的 djs 客戶端 object 不能取消定義,您在調用該文件時可能沒有以正確的順序傳遞值。 也就是說, client
可能不是實際的 djs 客戶端類/對象。
你用什么discord.js版本?
在 12 版本上添加了緩存。 使用npm i discord.js@12
或僅刪除字段cache
上的調用。
module.exports = {
name: 'stats',
description: 'React to a message',
execute(message, client) {
message.channel.send(`Server count: ${client.guilds.size}`);
},
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.