示例#1
0
  def handle(self, event: TextInput):

    if event.text.startswith('!help'):
      # incorrect
      self.publish("Help message")

      # correct
      self.publish(TextOutput("Help message"))
示例#2
0
    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)
示例#3
0
 def announce_time(self) -> None:
     self.publish(
         TextOutput(text='The time is: %s' %
                    datetime.datetime.now().strftime('%H:%M:%S')))
示例#4
0
 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')))
示例#5
0
 def on_reminder(self, event: Reminder) -> None:
     self.publish(TextOutput(text=f'Reminder: {event.content}'))
示例#6
0
 def handle(self, event: TextInput):
     self.publish(TextOutput(text="You wrote: %s" % event.text))
示例#7
0
 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}'))
示例#8
0
 def handle_exit(self) -> None:
     self.publish(TextOutput('Exiting...'))
     self.shutdown.set_result(True)
示例#9
0
 def handle_connected(self, event: SignalRConnected):
   self.publish(TextOutput(text='%(client_name)s connected through SignalR' % event.as_dict))
示例#10
0
 def execute(self, event: MathParsed):
     self.publish(TextOutput(f'The result is: {event.expression.result()}'))