Example #1
0
    def set(self, opt, val):
        if opt == 'cmd prefix':
            self.settings[opt] = val
        elif opt == 'verbose':
            val = int(val)
            if val in range(Log.log_lvl.NONE, Log.log_lvl.DEBUG + 1):
                self.settings[opt] = val
                Log.verbosity = self.settings[opt]
            else:
                return False
        elif opt == 'log file':
            self.settings[opt] = val
            Log.setLogFile(self.settings[opt])
        else:
            return False

        return True
Example #2
0
    def __init__(self, settings, plugins):
        """
        """

        self.settings = {
            'nickname':settings.get('nickname', 'failbot'),
            'password':settings['password'],
            'realname':settings.get('realname', 'failbot'),
            'reconnect interval':settings.get('reconnect interval', 60),
            'quit message':settings.get('quit message', 'I\'m out.'),
            'verbose':settings.get('verbose', Log.log_lvl.ERROR),
            'log file':settings.get('log file', None),
            'server':settings['server'],
            'port':settings['port'],
            'channels':settings['channels'],
            'cmd prefix':settings.get('cmd prefix', '!'),
        }

        Log.verbosity = self.settings['verbose']
        Log.setLogFile(self.settings.get('log file', None))

        Log.log(Log.log_lvl.DEBUG, 'Settings loaded: %s' % self.settings)

        ircbot.SingleServerIRCBot.__init__(self,
                                    server_list = [(
                                        self.settings['server'],
                                        self.settings['port']
                                    )],
                                    nickname = self.settings['nickname'],
                                    realname = self.settings['realname'],
                                    reconnection_interval = self.settings['reconnect interval']
                               )
        Log.log(Log.log_lvl.INFO, 'Connection to %s:%d' % (settings['server'], settings['port']))

        # load some plugins
        for f in [ path.splitext(f)[0] for f in listdir(path.dirname(path.realpath(__file__)) + '/plugins')
                                           if f.endswith('.py') and f != '__init__.py' and f != 'plugbase.py' ]:
            if self.load_plugin(f):
                if f in plugins:
                    self.enable_plugin(f)

        Log.log(Log.log_lvl.INFO,
                    "\n".join([p[0] + (' [enabled]' if p[1] else ' [disabled]') for p in self.list_plugins()]))