gpt4 book ai didi

node.js - 在 Discord.js 中运行多个文件?

转载 作者:太空宇宙 更新时间:2023-11-04 00:13:03 26 4
gpt4 key购买 nike

如果这看起来很愚蠢或其他什么,请原谅我,我已经尝试过寻找地方,但我不知道这是放置它的正确位置还是其他什么

所以我正在尝试制作一个不和谐的机器人,我有一个脚本和一切,但问题是,我只有一个脚本。我不知道如何使用其他脚本,但我认为我不是唯一遇到此问题的人,因为如果有人要使用两种语言,那么它将需要两个文件,但我不知道如何制作第二个文件运行。

最佳答案

别担心,这是发布这个问题的好地方。基本上你需要做的是这样的:

在要存储管理命令的单独文件(我将此文件命名为 adminCmds.js)中,设置一个 module.exports 变量,该变量指向包含管理命令的对象。在我的示例中,我的 adminCmds.js 文件与 index.js 位于同一目录中。

尝试这样的事情:

// inside adminCmds.js
function admin1() {
console.log('in admin 1 command');
// your command code here
}

function admin2() {
console.log('in admin 2 command');
// your command code here
}

module.exports = {
checkAdminCmd: function(message) {
let command = message.content, found = false;

switch(command) {
// your first admin command (can be whatever you want)
case '?admin1':
// set found equal to true so your index.js file knows
// to not try executing 'other' commands
found = true;
// execute function associated with this command
admin1();
break;

// your second admin command (similar setup as above)
case '?admin2':
found = true;
admin2();
break;

// ... more admin commands
}

// value of 'found' will be returned in index.js
return found;
}
};

在主 index.js 文件中,设置主消息监听器,如下所示:

// get admin commands from other file
const adminCmds = require('./adminCmds');

// set message listener
client.on('message', message => {
let command = message.content;

// execute admin commands
// -> if function checkAdminCmd returns false, move on to checking 'other' commands
if ( adminCmds.checkAdminCmd(message) )
return;

// execute other commands
else {
switch(command) {
case '?PING':
message.reply('pong');
break;

// ... other commands here
}
}
});

我强烈建议您在使用 Discord.js 之前先查看一些 Node.js 教程 - 它将有很大帮助。但如果您在此期间遇到任何麻烦,我很乐意提供帮助。

关于node.js - 在 Discord.js 中运行多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48591008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com