ramirez/src/plugins.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2020-08-12 17:08:37 -04:00
const attachments = require("./data/attachments");
const logs = require("./data/logs");
2020-08-12 17:08:37 -04:00
const { beforeNewThread } = require("./hooks/beforeNewThread");
2020-09-22 19:28:41 -04:00
const { afterThreadClose } = require("./hooks/afterThreadClose");
2020-08-12 17:08:37 -04:00
const formats = require("./formatters");
const { server: webserver } = require("./modules/webserver");
module.exports = {
2020-08-16 16:26:04 -04:00
/**
* @param bot
* @param knex
* @param config
* @param commands
* @returns {PluginAPI}
*/
getPluginAPI({ bot, knex, config, commands }) {
return {
bot,
knex,
config,
commands: {
manager: commands.manager,
addGlobalCommand: commands.addGlobalCommand,
addInboxServerCommand: commands.addInboxServerCommand,
addInboxThreadCommand: commands.addInboxThreadCommand,
addAlias: commands.addAlias
},
attachments: {
addStorageType: attachments.addStorageType,
downloadAttachment: attachments.downloadAttachment
},
logs: {
addStorageType: logs.addStorageType,
saveLogToStorage: logs.saveLogToStorage,
getLogUrl: logs.getLogUrl,
getLogFile: logs.getLogFile,
getLogCustomResponse: logs.getLogCustomResponse,
},
2020-07-13 17:14:31 -04:00
hooks: {
beforeNewThread,
2020-09-22 19:28:41 -04:00
afterThreadClose,
2020-07-13 17:14:31 -04:00
},
formats,
webserver,
};
},
async loadPlugin(plugin, api) {
await plugin(api);
}
};