terom@106: local conf = { terom@106: log_level = "DEBUG", terom@106: terom@106: name = { terom@106: nickname = "SpBotDev", terom@106: username = "spbot-dev", terom@106: realname = "SpBot (development version)" terom@106: }, terom@106: terom@106: networks = { terom@106: PVLNet = { terom@106: hostname = "irc.fixme.fi", terom@106: terom@106: channels = { terom@106: "#test" terom@106: } terom@106: }, terom@106: }, terom@106: terom@115: modules_path = "src/modules", terom@115: terom@106: modules = { terom@106: irc_log = { terom@106: conf = { terom@106: db_info = "dbname=spbot", terom@106: channel = "PVLNet/#test", terom@106: } terom@106: } terom@106: }, terom@106: } terom@106: terom@106: -- apply general terom@106: log_level(conf.log_level) terom@106: terom@115: -- apply conf.name terom@106: client:set_defaults(conf.name.nickname, conf.name.username, conf.name.realname) terom@106: terom@115: -- apply conf.networks terom@106: for network, settings in pairs(conf.networks) do terom@106: -- establish the irc_net terom@106: net = client:connect(network, settings.hostname) terom@106: terom@106: -- join each channel terom@106: for i, channel in ipairs(settings.channels) do terom@106: net:join(channel) terom@106: end terom@106: end terom@106: terom@115: -- apply conf.modules_path terom@115: if conf.modules_path then terom@115: modules:path(conf.modules_path) terom@115: end terom@115: terom@115: -- apply conf.modules terom@106: for name, settings in pairs(conf.modules) do terom@106: -- load the module terom@106: module = modules:load(name, settings.path) terom@106: terom@106: -- apply confs terom@106: for key, value in pairs(settings.conf) do terom@106: module:conf(key, value) terom@106: end terom@106: end terom@106: