def handle(self, event: TextInput): if event.text.startswith('!help'): # incorrect self.publish("Help message") # correct self.publish(TextOutput("Help message"))
def test_output_expression_result(self): class TestHelperBot(BaseModule): events: List[BaseEvent] def boot(self) -> None: self.events = [] self.subscribe(lambda event: self.events.append(event)) helper = TestHelperBot() bot = MathBot() ai = Core() ai.add_module(bot) ai.add_module(helper) ai.boot() ai.publish(TextInput('10+2')) self.assertIn(MathParsed(Addition(Constant(10), Constant(2))), helper.events) self.assertIn(TextOutput('The result is: 12.0'), helper.events)
def announce_time(self) -> None: self.publish( TextOutput(text='The time is: %s' % datetime.datetime.now().strftime('%H:%M:%S')))
def handle(self, event: TextInput) -> None: if event.text.find('time') > -1: self.publish( TextOutput(text='The time is: %s' % datetime.datetime.now().strftime('%H:%M:%S')))
def on_reminder(self, event: Reminder) -> None: self.publish(TextOutput(text=f'Reminder: {event.content}'))
def handle(self, event: TextInput): self.publish(TextOutput(text="You wrote: %s" % event.text))
def on_command(self, event: TextCommand) -> None: if event.command == 'help': for command in self.commands: self.publish(TextOutput(f'/{command.command.ljust(20)} {command.description}'))
def handle_exit(self) -> None: self.publish(TextOutput('Exiting...')) self.shutdown.set_result(True)
def handle_connected(self, event: SignalRConnected): self.publish(TextOutput(text='%(client_name)s connected through SignalR' % event.as_dict))
def execute(self, event: MathParsed): self.publish(TextOutput(f'The result is: {event.expression.result()}'))