我已经使用这段代码很长时间了,但是,我仍然不知道为什么代码仍然没有从加载程序中找到运行,这是我的加载程序,也是我正在更新的 build.js 文件一切都与 discord js v14 有关,我遇到了 require() 问题,我不得不改用 import。我无法找到为什么代码不工作,即使已经导入了所有需要的东西并在代码中使用了运行功能......
这里是为了:从'../models/events/loader.js'导入{run as eventLoader};
import fs from 'fs';
function run(blue, red, commands, dirname) {
let i = 0;
fs.readdirSync(dirname + '/commands/').forEach(async (dir) => {
fs.readdir(`${dirname}/commands/${dir}/`, async (err, files) => {
if (err) return console.log(err);
files
.filter((file) => file.endsWith('.js'))
.forEach((file) => {
let command = require(`${dirname}/commands/${dir}/${file}`);
if (command) commands.set(command?.name, command);
i++;
});
});
});
setTimeout(() => {
console.log(blue('Loading Bot Commands "') + red(i) + blue('"'));
}, 1567);
}
export default run;
这里是为了:从'../models/events/loader.js'导入{run as eventLoader};
const fs = require('fs');
module.exports.run = (blue, red, client, dirname) => {
fs.readdir(dirname + '/events/', (err, files) => {
if (err) return console.log(err);
let i = 0;
files.forEach(file => {
if (!file.endsWith(".js")) return;
const event = require(dirname + `/events/${file}`);
let eventName = file.split('.')[0];
client.on(eventName, event.bind(null, client));
i++
});
console.log(blue("Loading DisApi Events \"") + red(i) + blue("\""));
});
}
这里是为了:从'../models/interactions/loader.js'导入{run as interactionLoader};
const { glob } = require("glob");
const commandLoader = new Map();
const { promisify } = require("util");
const globPromise = promisify(glob);
module.exports.run = async (client) => {
["admin", "music", "base", "utilities"].forEach(async(category) => {
const commandLoader = await globPromise(
`${process.cwd()}/source/interactions/${category}/*.js`
);
const arrayOfSlashCommands = [];
slashCommands.map((value) => {
const file = require(value);
if (!file?.name) return;
commandLoader.set(file.name, file);
if (["MESSAGE", "USER"].includes(file.type)) delete file.description;
arrayOfSlashCommands.push(file);
});
client.on("ready", async () => {
await client.application.commands.set(arrayOfSlashCommands);
});
});
};
module.exports.commandLoader = commandLoader;
这是为了:从'../models/music/loader.js'导入{以musicLoader运行};
const fs = require('fs');
module.exports.run = (blue, red, player, dirname) => {
fs.readdir(dirname + '/music/', (err, files) => {
if (err) return console.log(err);
let i = 0;
files.forEach(file => {
if (!file.endsWith(".js")) return;
const event = require(dirname + `/music/${file}`);
let eventName = file.split('.')[0];
player.on(eventName, event.bind(null, player));
i++
});
console.log(blue("Loading Music Events \"") + red(i) + blue("\""));
});
}
这是我运行的 build.js 结构化文件
import chalk from 'chalk';
import { run as eventLoader } from '../models/events/loader.js';
import { run as commandLoader } from '../models/commands/loader.js';
import { run as interactionLoader } from '../models/interactions/loader.js';
import { run as musicLoader } from '../models/music/loader.js';
const red = chalk.red;
const blue = chalk.blue;
const green = chalk.green;
const yellow = chalk.yellow;
export class RamyLogin {
constructor(props) {
try {
this.client = props.client;
this.client
.login(process.env.TOKEN)
.then(async function (token) {
console.log(yellow.bold(require('figlet').textSync('Ramy')));
console.log(
red.bold('Discord.JS Is Connect On: ') +
green(token.split('.')[0] + '****************')
);
console.log(
blue.bold('none') +
red(' If You Need Support!!.')
);
})
.catch(async function (error) {
console.log(red.bold(error));
});
} catch (err) {
console.log(err);
}
}
}
export class RamyRegister {
constructor(props) {
try {
this.client = props.client;
this.dir = props.dir;
this.commands = props.commands;
this.player = props.player;
const server = new Server();
eventLoader(blue, red, this.client, this.dir);
commandLoader(blue, red, this.commands, this.dir);
try {
interactionLoader(this.client);
musicLoader(blue, red, this.player, this.dir);
} catch (err) {
console.log(err);
}
} catch (err) {
console.log(err);
}
}
}
我尝试将功能更改为其他功能,但它仍然无法正常工作,请告诉我该怎么做才能使其正常工作。谢谢。
为什么他们不是一个单一的答案,这个网站是死了还是什么? :)