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()
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()
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")