Вообщем то я плохо сёрчу интернет судя по всему, облазил весь, но не нашел нужного мне.
У меня получилось сделать то, что я хотел, но не полностью.
То, что у меня есть:
//в main.js
bot.func = require('./functions'); //должно писаться именно так, ибо переменная бот летает по всему коду.
//в /functions/index.js
function getMemoryMember (bot, id) {
//1412351235
}
function getGuildMember (bot, id) {
//1412351235
}
function addExp (bot, id, exp) {
//1412351235
}
function getGuildRole (bot, id) {
//1412351235
}
function declOfNum(n, text_forms) {
//1412351235
}
function getTime (time) {
//1412351235
}
module.exports = {
getMemoryMember: getMemoryMember,
getGuildMember: getGuildMember,
addExp: addExp,
getGuildRole: getGuildRole,
declOfNum: declOfNum,
getTime: getTime
};
С этим кодом могу спокойно обращаться во всех файлах к bot.func."название функции" и все хорошо. Но мне очень не нравиться что сюда не передается переменная bot, и приходиться передавать ее при использовании функции.
Что примерно хочу:
//в main.js
bot.func = require('./functions')(bot);
//в /functions/index.js
module.exports = (bot) => {
function getMemoryMember (bot, id) {
//1412351235
}
Как я понял, при таком синтаксисе require сам становиться функцией и не может передать что-то из себя. Как мне сделать это правильно, чтоб бот отправлялся туда с помощью require.
p.s. прочитал уже статей 15 о функциях, require, и экспорте =/