Я вижу две основные вещи, которые необходимо исправить: 1: клиент из commands.js 2: командная функция в основном файле
1 - В commands.js , вы создали новый клиент. Если у вас есть только эта команда, это не вызовет никаких проблем, так как client
не используется в вашем коде, но когда вам это понадобится, это не сработает, так как оно должно быть таким же, как в главном файле. У вас есть два возможных решения: установка вашего клиента как глобального или требующий основного модуля. Если ваш бот не должен публиковаться в общедоступном пакете, вы можете сохранить global.client = client;
, а затем получить доступ к нему как client
в каждом другом файле. Альтернативой является экспорт клиента из основного модуля (module.exports = {client};
), а затем требуемый основной файл в commands.js (var {client} = require("./index.js");
).
2 - В commands.js вы экспортируете функцию help
, поэтому, когда вы вызываете ее index.js , вы должны использовать скобки и передавать сообщение в качестве аргумента. Попробуйте что-то вроде этого:
//in the switch statement
case "help":
cmds.help(message);
break;
Надеюсь, это поможет вам, сообщите мне, если у вас возникнут другие вопросы.
решаемые. В шаблоне не было подстановочного знака "/ node_modules / *" работает. Кроме того, по какой-то причине упаковка Handler в HandlerFunc не сработала (вернул 000 статус и никакого содержимого). Таким образом, полученный маршрут выглядит следующим образом
router.Handle(
"/node_modules/*",
http.StripPrefix("/node_modules/", http.FileServer(http.Dir("node_modules"))),
)