def __init__(self, token, owner_id): self._owner_id = owner_id self._seen = set() self._store = UnreadStore() super(ChatBox, self).__init__(token, [ # Here is a delegate to specially handle owner commands. (per_chat_id_in([owner_id]), create_open(OwnerHandler, 20, self._store)), # Only one MessageSaver is ever spawned for entire application. (per_application(), create_open(MessageSaver, self._store, exclude=[owner_id])), # For senders never seen before, send him a welcome message. (self._is_newcomer, call(self._send_welcome)), ])
def __init__(self, token, owner_id): self._owner_id = owner_id self._seen = set() self._store = UnreadStore() super(ChatBox, self).__init__(token, [ # Here is a delegate to specially handle owner commands. pave_event_space()( per_chat_id_in([owner_id]), create_open, OwnerHandler, self._store, timeout=20), # Only one MessageSaver is ever spawned for entire application. (per_application(), create_open(MessageSaver, self._store, exclude=[owner_id])), # For senders never seen before, send him a welcome message. (self._is_newcomer, call(self._send_welcome)), ])
def __init__(self): self.token = open(config.TOKEN_FILE).read().strip() self._seen = set() super(BotManager, self).__init__(self.token, [ pave_event_space()( per_from_id_in(config.WHITELIST) if config.WHITELIST else per_from_id(), create_open, chatbot.ChatBot, None, timeout=10 * 60 ), ( per_application(), create_open(adminmonitor.AdminMonitor, config.ADMINS_LIST) ), ])
delay = float(msg['text']) # 3. Schedule event # The second argument is the event spec: a 2-tuple of (flavor, dict). # Put any custom data in the dict. Retrieve them in the event-handling function. self.scheduler.event_later(delay, ('_alarm', {'payload': delay})) await self.sender.sendMessage('Got it. Alarm is set at %.1f seconds from now.' % delay) except ValueError: await self.sender.sendMessage('Not a number. No alarm set.') bot = telepot.aio.DelegatorBot(cmdline.token, [ pave_event_space()( per_application(), create_open, TeleCron), # pave_event_space()( # per_chat_id(), create_open, TeleCron, timeout=10), # pave_event_space()( # per_event_source_id(1), create_open, TeleCron, timeout=10), ]) loop = asyncio.get_event_loop() log.debug("loop = " + str(loop)) loop.create_task(MessageLoop(bot).run_forever()) log.debug("created task...")