你的问题不清楚,所以我将给你一个如何处理的例子,我稍后会显示代码和解释。
格式:
- 文件
- message.js
// I used message as msg to shorten my code.
const all_requires = require("../settings/settings"); // Exported all requires
const { config, Discord, client } = all_requires; // Imported what I need
module.exports = (client, msg) => {
if(msg.author.bot || !msg.content.startsWith(config.prefix)) return;
const args = msg.content.split(" ").slice(1);
const command = msg.content.split(' ')[0].slice(config.prefix.length);
const cmd = client.commands.get(command); //enmap handler
console.log(cmd);
if(!cmd) return;
cmd.run(msg, args);
}
- ping.js
module.exports.run = (msg) => {
msg.channel.send("Pong!");
}
- config.json
{
"token": "TOKEN-HERE",
"prefix": "+"
}
- settings.js
const Discord = require("discord.js");
const fs = require("fs");
const enmap = require("enmap");
const config = require("../config/config.json");
const client = new Discord.Client();
const all_requires = { Discord, fs, enmap, config, client }
module.exports = all_requires;
index.js
const all_requires = require("./settings/settings");
const { Discord, fs, enmap, config, client } = all_requires;
client.commands = new enmap;
client.once("ready", () => {
console.log(`${client.user.tag} is Connected.`);
})
fs.readdir("./events/", (err, files) => {
if(err) return console.error(err);
files.forEach(file => {
const event = require(`./events/${file}`);
let eventName = file.split(".")[0];
client.on(eventName, event.bind(null, client));
});
console.log(`${files.length} Events Loaded.`)
});
fs.readdir("./commands/", (err, files) => {
if(err) return console.error(err);
files.forEach(file => {
let props = require(`./commands/${file}`);
let commandName = file.split(".")[0];
client.commands.set(commandName, props);
});
console.log(`Loaded ${files.length} Commands.`);
});
process.on('unhandledRejection', err => console.log(err));
client.login(config.token);
作为处理程序,您需要向我展示整个代码以了解您正在做什么来处理命令,您可以使用 enmap link 就像在该基本代码的示例中一样,或者使用 discord.js @ 987654323@ 执行命令的处理程序,查看message.js Line:8 client.commands.get() 这里我们定义了 enmap 处理程序,而在 Line:13 为 cmd.run() 我们运行命令,只使用module.exports.run 并且我们在index.js Line:3 中定义了命令处理程序,我们在fs 内的Line:24 中设置了命令strong>for 循环。
-享受编码。