Exemple #1
0
class Bot():
    @property
    def irc(self):
        if self._factory:
            return self._factory.client
        else:
            return None

    def stop(self, quit_message="Asked to quit"):
        reactor.callFromThread(self._stop, quit_message)

    def _stop(self, quit_message="Asked to quit"):
        self.plugins.disableAll()
        Modifier.forgetEverything()
        self.irc.actually_quit = True
        self.irc.quit(quit_message)

    _factory = None

    server = None
    port = None
    channel = None
    nickname = None

    def reload(self):
        #self.plugins = PluginManager(self)
        self.config.loadOrCreate()
        self.plugins.disableAll()
        Modifier.forgetEverything()
        self.plugins.load_plugins("ZomgBot.plugins")

    def init(self, cfg):
        self.server = cfg["irc"]["server"]
        self.port = cfg["irc"]["port"]
        self.channels = cfg["irc"]["channels"]
        self.nickname = cfg["irc"]["nick"]
        self.username = cfg["irc"].get("username", "ZomgBot")
        self.autorun = cfg["irc"].get("autorun", [])

        self.config = cfg

        self.db_engine = create_engine(cfg["bot"]["database"])
        self.sessionmaker = sessionmaker(bind=self.db_engine)

        self.events = EventDispatcher()

        self.plugins = PluginManager(self)
        self.plugins.load_plugins("ZomgBot.plugins")

    def run(self):
        self._factory = ZomgBotFactory(self, self.channels, self.nickname,
                                       self.username, self.autorun)
        reactor.connectTCP(self.server, self.port, self._factory)
        reactor.run()
Exemple #2
0
class Bot:
    @property
    def irc(self):
        if self._factory:
            return self._factory.client
        else:
            return None

    def stop(self, quit_message="Asked to quit"):
        reactor.callFromThread(self._stop, quit_message)

    def _stop(self, quit_message="Asked to quit"):
        self.plugins.disableAll()
        Modifier.forgetEverything()
        self.irc.actually_quit = True
        self.irc.quit(quit_message)

    _factory = None

    server = None
    port = None
    channel = None
    nickname = None

    def reload(self):
        # self.plugins = PluginManager(self)
        self.config.loadOrCreate()
        self.plugins.disableAll()
        Modifier.forgetEverything()
        self.plugins.load_plugins("ZomgBot.plugins")

    def init(self, cfg):
        self.server = cfg["irc"]["server"]
        self.port = cfg["irc"]["port"]
        self.channels = cfg["irc"]["channels"]
        self.nickname = cfg["irc"]["nick"]
        self.username = cfg["irc"].get("username", "ZomgBot")
        self.autorun = cfg["irc"].get("autorun", [])

        self.config = cfg

        self.db_engine = create_engine(cfg["bot"]["database"])
        self.sessionmaker = sessionmaker(bind=self.db_engine)

        self.events = EventDispatcher()

        self.plugins = PluginManager(self)
        self.plugins.load_plugins("ZomgBot.plugins")

    def run(self):
        self._factory = ZomgBotFactory(self, self.channels, self.nickname, self.username, self.autorun)
        reactor.connectTCP(self.server, self.port, self._factory)
        reactor.run()
Exemple #3
0
    def init(self, cfg):
        self.server = cfg["irc"]["server"]
        self.port = cfg["irc"]["port"]
        self.channels = cfg["irc"]["channels"]
        self.nickname = cfg["irc"]["nick"]
        self.username = cfg["irc"].get("username", "ZomgBot")
        self.autorun = cfg["irc"].get("autorun", [])

        self.config = cfg

        self.db_engine = create_engine(cfg["bot"]["database"])
        self.sessionmaker = sessionmaker(bind=self.db_engine)

        self.events = EventDispatcher()

        self.plugins = PluginManager(self)
        self.plugins.load_plugins("ZomgBot.plugins")
Exemple #4
0
    def init(self, cfg):
        self.server = cfg["irc"]["server"]
        self.port = cfg["irc"]["port"]
        self.channels = cfg["irc"]["channels"]
        self.nickname = cfg["irc"]["nick"]
        self.username = cfg["irc"].get("username", "ZomgBot")
        self.autorun = cfg["irc"].get("autorun", [])

        self.config = cfg

        self.db_engine = create_engine(cfg["bot"]["database"])
        self.sessionmaker = sessionmaker(bind=self.db_engine)

        self.events = EventDispatcher()

        self.plugins = PluginManager(self)
        self.plugins.load_plugins("ZomgBot.plugins")