如何解决如何遍历JavaScript中的文件夹?
我正在尝试遍历命令文件的文件夹以为不和谐的bot发出帮助命令。 到目前为止,这是我的代码。
module.exports = {
name: 'help',description: 'Lists current commands.',execute(message) {
//was the first time i made something interesting out of a for loop
if (message.content.toLowerCase() === '$help') {
const commands = 'C:/Bot/commands';
const discord = require('discord.js');
const helpEmbed = new discord.MessageEmbed()
.setTitle("Commands")
.setColor(0x6e7175)
.setFooter('Provided by Echo','https://cdn.discordapp.com/avatars/748282903997186178/6288e1f487e111b211aa9966c583d948.png?size=128')
.setTimestamp()
for (i of commands) {
let title = i.name
let value = i.description
helpEmbed.addField(title,value)
}
message.channel.send(helpEmbed)
}
}
}
C:/ Bot / commands是在未定义i.name和i.description时存储所有命令的文件夹。这是什么问题?
解决方法
C:/Bot/commands
是带有存储命令的文件夹,但是字符串'C:/ Bot / commands'不是文件夹,而是一个字符串。
要遍历文件夹,您需要按fs.readdir阅读或同步版本
, commands
当前只是一个字符串。如果要获取文件夹中所有文件的数组,请使用fs
。
const fs = require('fs'); // node.js built in module
const files = fs.readdierSync('../commands'); // get the names of all files in the foler
for (file of files) {
// now you can require the file
const { name,description } = require(`../commands/${file}`);
embed.addField(name,description);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。