【发布时间】:2021-07-06 23:03:48
【问题描述】:
我正在开发一个不和谐的机器人,我想在用户发送特定消息时从我的 dactylo.json 文件中发送一个随机句子。 但是,当尝试从此文件访问数据时,我收到一个“未定义”错误,就像它无法读取我的 json 文件一样。 我查看了许多以前的问题,但找不到对我有帮助的答案,即使它帮助了其他人。 我确定我错过了一些东西,但我似乎找不到什么......
这是我来自 dactylo.json 的代码:
{
"sentences":[
{
"sentence": "Un dragon gradé dégrade un gradé dragon.",
"top":"0",
"player":"Personne"
},
{
"sentence":"Le mur murant Paris rend Paris murmurant.",
"top":"0",
"player":"Personne"
},
{
"sentence":"Le cricri de la crique crie son cri cru et critique car il craint que l'escroc ne le croque et ne le craque.",
"top":"0",
"player":"Personne"
}
]
}
我的代码来自我尝试获取数据的 dactylo.js:
const fs = require('fs');
module.exports = {
name: 'dactylo',
description: 'Démarre une partie de dactylo',
execute(message) {
message.reply("Recopiez la phrase suivante le plus rapidement possible :")
const data = fs.readFileSync('C:/Users/steph/Documents/Discord Bot/commands/fun/dactylo.json');
const sentences = data.sentences;
var sentence = sentences[Math.floor(Math.random() * sentences.length)];
message.channel.send(sentence);
},
};
如果有帮助,我会遇到错误:
TypeError: Cannot read property 'length' of undefined
at Object.execute (C:\Users\steph\Documents\Discord Bot\commands\fun\dactylo.js:11:71)
at Client.<anonymous> (C:\Users\steph\Documents\Discord Bot\main.js:42:11)
at Client.emit (events.js:375:28)
at MessageCreateAction.handle (C:\Users\steph\Documents\Discord Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\steph\Documents\Discord Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\steph\Documents\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\steph\Documents\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\steph\Documents\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\steph\Documents\Discord Bot\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:375:28)
【问题讨论】:
标签: javascript node.js discord.js