UNPKG

tennu

Version:

Tennu - Modular IRC Bot Framework for Node.js

49 lines (43 loc) 1.76 kB
const format = require("util").format; const inspect = require("util").inspect; module.exports = { name: "config", init: function (client, deps) { const config = client._configObject; if (config.daemon === "twitch" || config.daemon === "irc2") { if (config.capabilities && config.capabilities.requires && config.capabilities.requires.length > 0) { throw new Error("IRCd doesn't support capabilities. Cannot require them. Fix your configuration."); } // Twitch.tv doesn't allow capabilities. // GameSurge doesn't support capabilities. config.capabilities = undefined; } else { if (!config.capabilities) { config.capabilities = { requires: ["multi-prefix"] }; } else if (!config.capabilities.requires) { config.capabilities.requires = ["multi-prefix"]; } else { if (config.capabilities.requires.indexOf("multi-prefix") === -1) { config.capabilities.requires.push("multi-prefix"); } } } client._config = client.getPlugin("config"); return { exports: { "get": function (key) { return config[key]; } }, staticHooks: { "configDefaults": function (pluginName, defaultConfiguration) { Object.keys(defaultConfiguration).forEach(function (key) { if (!(key in config)) { config[key] = defaultConfiguration[key]; } }); } } }; } };