javascript - Discord.js - ReferenceError:未定义连接
问题描述
我试图将我的命令组织到类别中,但在运行我的机器人时出现错误:
const getDirectories = source => fs.readdirSync(source).map(name => join(source, name)).filter(isDirectory);
^
ReferenceError: join is not defined
我将命令存储为如上图所示的类别,主文件的代码是:
const fs = require("fs");
const { token, prefix } = require('./config.json');
const Discord = require('discord.js');
const db = require ('quick.db');
const client = new Discord.Client
client.commands = new Discord.Collection();
// First get the category directories
const isDirectory = source => fs.lstatSync(source).isDirectory();
const getDirectories = source => fs.readdirSync(source).map(name => join(source, name)).filter(isDirectory);
// Then load the commands
getDirectories(__dirname + '/commands').forEach(category => {
const commandFiles = fs.readdirSync(category).filter(file => file.endsWith('.js'));
for(const file of commandFiles) {
const command = require(`./${category}/${file}`);
client.commands.set(command.name, command);
}
});
client.on("ready", () => {
console.log(`ready!.`);
console.log(token);
// Activities
const activities_list = [
`Serving Tacos | .help`,
`Preparing Orders | .help`
];
setInterval(() => {
const index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
client.user.setActivity(activities_list[index]);
}, 10000);
});
// rest of the code
解决方案
看来您正在尝试使用path.join
. 不要忘记导入path
库:
const path = require('path')
并将其用作path.join(source, name)
. 或者join
通过解构来获取方法path
:
const {join} = require('path')
并用作join(source, name)
.
推荐阅读
- activemq-artemis - JBoss AMQ / ActiveMQ Artemis:预配置持久订阅者
- mapbox-gl-js - uber/react-map-gl getMap & 暴露的 Mapbox API
- algorithm - 将一个列表转换为另一个列表
- xcode - 文件是为 x86_64 构建的,它不是被链接的架构(arm64):
- background-image - 如果我在页面上有选择语句,我的背景图片不会加载
- apache-kafka - Apache Storm:KafkaSpout 有很多因超时而失败的元组
- java - java中JSONObject里面的JSONobject
- laravel - Laravel 关系 - 多表连接 - 4 个表
- c - C混淆指针算法
- c# - 在 C# 中使用 Azure AD Graph API 将角色添加到已创建的应用程序