コード例 #1
0
ファイル: aclcontroller.py プロジェクト: blejdfist/NeuBot
    def __init__(self, database = 'data/acl.db'):
        self.db = database
        self.config = ConfigController()

        try:
            conn = sqlite3.connect(self.db)
            #cursor = conn.cursor()

            # ACL
            fp = open("resources/acl/acl.sql", "r")
            data = fp.read()
            fp.close()

            # Triggers
            fp = open("resources/acl/triggers.sql", "r")
            data += fp.read()
            fp.close()

            conn.executescript(data)
            conn.commit()

            if not self._user_exists("any"):
                self.add_user("any")
                self.user_add_hostmask("any", "*!*@*")

        except sqlite3.Error as e:
            Logger.fatal("Unable to create ACL database: %s" % e)
コード例 #2
0
ファイル: neubot.py プロジェクト: blejdfist/NeuBot
            Logger.info("Connecting to %s..." % irc.get_ircnet_name())
            irc.connect()

            self.ircnetscontroller.add_ircnet(irc.get_ircnet_name(), irc)

    def stop(self):
        self.ircnetscontroller.disconnect_all()
        self.plugincontroller.unload_all()

if __name__ == "__main__":
    bot = None
    try:
        Logger.info("Initializing...")

        bot = NeuBot()
        bot.start()

        while not bot.quit_event.isSet():
            bot.quit_event.wait(1)

    except KeyboardInterrupt:
        Logger.info("Keyboard interrupt detected. Shutting down.")

    except Exception as e:
        Logger.fatal("Fatal error: %s" % e)

    finally:
        if bot:
            bot.stop()