config.lua
author Tero Marttila <terom@fixme.fi>
Sun, 12 Apr 2009 17:42:34 +0300
changeset 133 e2d0c0c23b39
parent 115 2d74b38b56de
child 134 978041c1c04d
permissions -rw-r--r--
implement logwatch_chan.c, logwatch_chan_msg, logwatch_on_error
local conf = {
    log_level   = "DEBUG",

    name = {
        nickname    = "SpBotDev",
        username    = "spbot-dev",
        realname    = "SpBot (development version)"
    },

    networks = {
        PVLNet      = {
            hostname    = "irc.fixme.fi",

            channels    = {
                "#test"
            }
        },
    },

    modules_path    = "src/modules",

    modules = {
        irc_log     = {
            conf        = {
                db_info     = "dbname=spbot",
                channel     = "PVLNet/#test",
            }
        }
    },
}

-- apply general
log_level(conf.log_level)

-- apply conf.name
client:set_defaults(conf.name.nickname, conf.name.username, conf.name.realname)

-- apply conf.networks
for network, settings in pairs(conf.networks) do
    -- establish the irc_net
    net = client:connect(network, settings.hostname)

    -- join each channel
    for i, channel in ipairs(settings.channels) do
        net:join(channel)
    end
end

-- apply conf.modules_path
if conf.modules_path then
    modules:path(conf.modules_path)
end

-- apply conf.modules
for name, settings in pairs(conf.modules) do
    -- load the module
    module = modules:load(name, settings.path)

    -- apply confs
    for key, value in pairs(settings.conf) do
        module:conf(key, value)
    end
end