def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= #print(say) #2017-08-15 #res = requests.get('http://www.chatbot.hk/Firebase.api.aiy.php?Key=63ebdad609d02ac15a71bde64fb21f8ea43ac513&Project=Aiy&k=test&v=' + str(say)) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= # streaming radio station commend actor.add_keyword(_('radio'), Radio(say, _('radio'))) # streaming most recent podcast actor.add_keyword(_('podcast'), Podcast(say, _('podcast'))) #play youtube audio - be as specific as possible for the video otherwise you will get some interestng results actor.add_keyword(_('play'), play(say, _('play'))) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('power off'), PowerCommand(say, PowerCommand.SHUTDOWN)) actor.add_keyword(_('turn off'), PowerCommand(say, PowerCommand.SHUTDOWN)) actor.add_keyword(_('reboot'), PowerCommand(say, PowerCommand.RESTART)) actor.add_keyword(_('restart'), PowerCommand(say, PowerCommand.RESTART)) actor.add_keyword(_('volume'), VolumeControl(say, _('volume'))) actor.add_keyword(_('play'), YouTubePlayer(say,_('play'))) actor.add_keyword(_('radio'), TuneInRadio(say,_('radio'))) return actor
def make_actor(say, camera): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('power off'), PowerCommand(say, 'shutdown')) actor.add_keyword(_('reboot'), PowerCommand(say, 'reboot')) actor.add_keyword(_('take a photo'), PhotoCapture(say, 'photo', camera)) actor.add_keyword(_('uptime'), Uptime(say, 'uptime')) actor.add_keyword(_('time lapse'), TimeLapse(say, camera)) # If triggered accidently, either say "pass" or detect no words said. actor.add_keyword(_('pass'), Pass(say)) # actor.add_keyword(_(''), Pass(say)) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('power off'), PowerCommand(say, 'shutdown')) actor.add_keyword(_('reboot'), PowerCommand(say, 'reboot')) actor.add_keyword(_('podcast'), playPodcast(say, _('podcast'))) actor.add_keyword(_('set timer'), setTimer(say, _('set timer for '))) actor.add_keyword(_('set a timer'), setTimer(say, _('set a timer for '))) actor.add_keyword(_('radio'), playRadio(say, _('Radio'))) actor.add_keyword( _('the news'), ReadRssFeed(say, "http://feeds.bbci.co.uk/news/rss.xml?edition=uk#", 10)) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('list directory'), SpeakShellCommandOutput(say, "ls", _('what.'))) actor.add_keyword(_('oscilloscope'), junk(say, _('oscilloscope'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword('light on', GpioWrite(4, True)) actor.add_keyword('light off', GpioWrite(4, False)) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('who is your master'), SpeakAction(say, 'Mark, is my master')) actor.add_keyword( _('the news'), ReadRssFeed(say, "http://feeds.bbci.co.uk/news/rss.xml?edition=uk#", 10. ['title'])) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('power off'), PowerCommand(say, 'shutdown')) actor.add_keyword(_('reboot'), PowerCommand(say, 'reboot')) actor.add_keyword(_('radio'), playRadio(say, _('radio'))) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" entities = entity.Entities('/home/pi/entities2.yml') actor = actionbase.Actor() if False: actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= for item in entities.units.values(): unit = entity.Unit(item) logging.debug(unit) actor.add_keyword(unit.synonyms, PageUnit(say, unit)) for item in entities.tenants.values(): tenant = entity.Tenant(item) logging.debug(tenant) actor.add_keyword(tenant.synonyms, PageTenant(say, tenant)) actor.add_keyword(GainEntry.synonyms, GainEntry(say, entities.tenants)) actor.add_keyword(RequestPassword.synonyms, RequestPassword(say, entities.tenants)) return actor
def test_actor_runs_matching_action(self): actor = actionbase.Actor() foo_action = TestAction() actor.add_keyword('foo', foo_action) bar_action = TestAction() actor.add_keyword('bar', bar_action) self.assertTrue(actor.handle('moo bar')) self.assertIsNone(foo_action.voice_command) self.assertIsNotNone(bar_action.voice_command)
def test_valid_user_script_directory(self): user_script_helper = TestUserScriptHelper() say_helper = TestSayHelper() actor = actionbase.Actor() actor.add_user_scripts(user_script_helper.get_dir_name(), say_helper.say) scripts = actor.user_scripts.get_scripts() actor.handle_state_trigger("before-listen") scripts[0].run("unit test") self.assertEqual(len(scripts), 1) self.assertEqual(scripts[0].get_description(), "Unit Test.") self.assertTrue(actor.can_handle('unit-test-keyword')) self.assertTrue(user_script_helper.trigger_file_exists()) self.assertEqual(say_helper.last_said(), "unit test") user_script_helper.clean_up()
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('shut down'), PowerAction(say, 'shutdown')) actor.add_keyword(_('reboot'), PowerAction(say, 'reboot')) actor.add_keyword(_('radio'), RadioAction(say, _('radio'))) actor.add_keyword(_('play'), PlayAction(say, _('play'))) actor.add_keyword( _('news headlines'), ReadRssFeedAction(say, "http://feeds.bbci.co.uk/news/rss.xml?edition=uk", "title", 5)) actor.add_keyword( _('currency check'), ReadRssFeedAction(say, "http://gbp.fxexchangerate.com/AUD.xml", "summary", 1, True)) actor.add_keyword(_('kilian'), KilianAction(say, 'kilian')) actor.add_keyword( _('voice actions'), SpeakAction( say, """The custom actions are: radio, play, news headlines, currency check, reboot and shutdown. To hear this list again, say, custom actions""" )) return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) #actor.add_keyword(_('volume up'), VolumeControl(say, 10)) #actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('GW open a new terminal'), MasterTerminal(say)) actor.add_keyword(_('GW open the python editor'), MasterIDLE(say)) actor.add_keyword(_('GW open netflix'), OpenTVNetflix(say)) actor.add_keyword(_('GW volume up'), TVVolumeUp(say)) actor.add_keyword(_('GW volume down'), TVVolumeDown(say)) actor.add_keyword(_('GW switch to input two'), TVHdmiTwo(say)) actor.add_keyword(_('GW tv exit'), TVExit(say)) #actor.add_keyword(_('GW pause'), KodiPlay(say)) actor.add_keyword(_('GW open music'), Spotify(say)) actor.add_keyword(_('GW switch to input 3'), TVHdmiThree(say)) actor.add_keyword(_('GW wake the giant'), PsOn(say)) actor.add_keyword(_('GW kill giant'), PsOff(say)) actor.add_keyword(_('GW start Wolf'), PsWolf(say)) actor.add_keyword(_('GW tv off'), TVPowerOff(say)) actor.add_keyword(_('GW tv on'), TVPowerOn(say)) actor.add_keyword(_('GW start hbo'), PsHbo(say)) actor.add_keyword(_('GW network search'), PsIP(say)) actor.add_keyword(_('GW open movies'), PsN(say)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= return actor
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= actor.add_keyword(_('raspberry power off'), PowerCommand(say, 'shutdown')) actor.add_keyword(_('raspberry reboot'), PowerCommand(say, 'reboot')) actor.add_keyword('light on', GpioWrite(4, True)) actor.add_keyword('light off', GpioWrite(4, False)) actor.add_keyword('play a fart', PlayFart(say)) actor.add_keyword('no farting', PlayFart(say)) actor.add_keyword('burp', PlayFart(say)) actor.add_keyword('learn', Learn(say, _('learn'))) actions.iss.Register(say, actor) actions.tunein.Register(say, actor) actions.youtube.Register(say, actor) return actor
def test_can_handle_does_nothing(self): actor = actionbase.Actor() foo_action = TestAction() actor.add_keyword('foo', foo_action) self.assertIsNone(foo_action.voice_command)
def test_invalid_user_script_directory(self): actor = actionbase.Actor() actor.add_user_scripts(None, None) actor.handle_state_trigger('test') self.assertEqual(actor.user_scripts.get_scripts(), [])
def make_actor(say): """Create an actor to carry out the user's commands.""" actor = actionbase.Actor() actor.add_keyword( _('ip address'), SpeakShellCommandOutput( say, "ip -4 route get 1 | head -1 | cut -d' ' -f8", _('I do not have an ip address assigned to me.'))) actor.add_keyword(_('volume up'), VolumeControl(say, 10)) actor.add_keyword(_('volume down'), VolumeControl(say, -10)) actor.add_keyword(_('max volume'), VolumeControl(say, 100)) actor.add_keyword(_('go forward'), Ileri(say, _('going forward'))) actor.add_keyword(_('go backward'), Geri(say, _('going backward'))) actor.add_keyword(_('turn left'), Sol(say, _('turning left'))) actor.add_keyword(_('turn right'), Sag(say, _('turning right'))) actor.add_keyword(_('look ahead'), Duzbak(say, _('looking ahead'))) actor.add_keyword(_('look up'), Yukaribak(say, _('looking up'))) actor.add_keyword(_('look down'), Asagibak(say, _('looking down'))) actor.add_keyword(_('look left'), Solabak(say, _('looking left'))) actor.add_keyword(_('look right'), Sagabak(say, _('looking right'))) actor.add_keyword(_('arm left'), Kolsol(say, _('robotic arm turning left'))) actor.add_keyword(_('arm right'), Kolsag(say, _('robotic arm turning right'))) actor.add_keyword(_('arm up'), Kolyuk(say, _('robotic arm going up'))) actor.add_keyword(_('arm down'), Kolasa(say, _('robotic arm going down'))) actor.add_keyword(_('gripper open'), Kancaac(say, _('gripper opening'))) actor.add_keyword(_('gripper close'), Kancakapa(say, _('gripper closing'))) actor.add_keyword(_('stop'), Fren(say, _('breaking'))) actor.add_keyword(_('express yes'), Evet(say, _('expressing yes'))) actor.add_keyword(_('express no'), Hayir(say, _('expressing no'))) actor.add_keyword(_('be sad'), Uzgun(say, _('being sad'))) actor.add_keyword(_('make sound'), Ses(say, _('making sound'))) actor.add_keyword(_('light the leds'), Led(say, _('lighting the leds now'))) actor.add_keyword(_('light the left led'), Ledleft(say, _('lighting the left led now'))) actor.add_keyword(_('light the right led'), Ledright(say, _('lighting the right led now'))) # Voice commands with Portal 2 Turret answers actor.add_keyword(_('are you stupid'), Turret1(say, _('PortalTurretAnswers'))) actor.add_keyword(_('fire'), Turret2(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what you will do now'), Turret3(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I do not like you'), Turret4(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about this'), Turret5(say, _('PortalTurretAnswers'))) actor.add_keyword(_('take this'), Turret6(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about sally'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about diana'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about emily'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about her'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that girl'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that lady'), Turret7(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I lost my keys'), Turret8(say, _('PortalTurretAnswers'))) actor.add_keyword(_('the bomb is exploded'), Turret9(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that robot'), Turret10(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that guy'), Turret10(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that girl'), Turret10(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what do you think about that lady'), Turret10(say, _('PortalTurretAnswers'))) actor.add_keyword(_('who did this'), Turret11(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I killed her'), Turret12(say, _('PortalTurretAnswers'))) actor.add_keyword(_('he is dead'), Turret13(say, _('PortalTurretAnswers'))) actor.add_keyword(_('call a doctor'), Turret14(say, _('PortalTurretAnswers'))) actor.add_keyword(_('note this'), Turret15(say, _('PortalTurretAnswers'))) actor.add_keyword(_('hello'), Turret16(say, _('PortalTurretAnswers'))) actor.add_keyword(_('hello there'), Turret17(say, _('PortalTurretAnswers'))) actor.add_keyword(_('kill him'), Turret18(say, _('PortalTurretAnswers'))) actor.add_keyword(_('jump of the window'), Turret19(say, _('PortalTurretAnswers'))) actor.add_keyword(_('how are you'), Turret20(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I will kill you'), Turret21(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I blame you'), Turret22(say, _('PortalTurretAnswers'))) actor.add_keyword(_('hi'), Turret23(say, _('PortalTurretAnswers'))) actor.add_keyword(_('catch him'), Turret24(say, _('PortalTurretAnswers'))) actor.add_keyword(_('just do it'), Turret25(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I am finally here'), Turret26(say, _('PortalTurretAnswers'))) actor.add_keyword(_('it is me'), Turret27(say, _('PortalTurretAnswers'))) actor.add_keyword(_('robot'), Turret28(say, _('PortalTurretAnswers'))) actor.add_keyword(_('find him'), Turret29(say, _('PortalTurretAnswers'))) actor.add_keyword(_('find her'), Turret30(say, _('PortalTurretAnswers'))) actor.add_keyword(_('find them'), Turret31(say, _('PortalTurretAnswers'))) actor.add_keyword(_('hi Jack'), Turret32(say, _('PortalTurretAnswers'))) actor.add_keyword(_('do you hear me'), Turret33(say, _('PortalTurretAnswers'))) actor.add_keyword(_('come here'), Turret34(say, _('PortalTurretAnswers'))) actor.add_keyword(_('what are you doing'), Turret35(say, _('PortalTurretAnswers'))) actor.add_keyword(_('sorry'), Turret36(say, _('PortalTurretAnswers'))) actor.add_keyword(_('oh men'), Turret37(say, _('PortalTurretAnswers'))) actor.add_keyword(_('deploy'), Turret38(say, _('PortalTurretAnswers'))) actor.add_keyword(_('be ready'), Turret39(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate searching mode'), Turret40(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate killing mode'), Turret40(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate sentry mode'), Turret31(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate swift mode'), Turret40(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate flying mode'), Turret40(say, _('PortalTurretAnswers'))) actor.add_keyword(_('activate climbing mode'), Turret40(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I am here'), Turret41(say, _('PortalTurretAnswers'))) actor.add_keyword(_('die'), Turret42(say, _('PortalTurretAnswers'))) actor.add_keyword(_('kill yourself'), Turret43(say, _('PortalTurretAnswers'))) actor.add_keyword(_('come over here'), Turret44(say, _('PortalTurretAnswers'))) actor.add_keyword(_('shut down'), Turret45(say, _('PortalTurretAnswers'))) actor.add_keyword(_('sorry for that'), Turret46(say, _('PortalTurretAnswers'))) actor.add_keyword(_('I hate you'), Turret47(say, _('PortalTurretAnswers'))) actor.add_keyword(_('where are you coming from'), Turret48(say, _('PortalTurretAnswers'))) actor.add_keyword(_('evaporate yourself'), Turret49(say, _('PortalTurretAnswers'))) actor.add_keyword(_('suicide yourself'), Turret50(say, _('PortalTurretAnswers'))) actor.add_keyword( _('follow the line'), Turret51( say, _('switching to infinite autonomous mode, press ctrl+c to exit'))) actor.add_keyword(_('exit the program'), Turret52(say, _('stopping the main program'))) actor.add_keyword(_('repeat after me'), RepeatAfterMe(say, _('repeat after me'))) # ========================================= # Makers! Add your own voice commands here. # ========================================= return actor
def test_actor_runs_action(self): actor = actionbase.Actor() actor.add_keyword('foo', TestAction()) self.assertTrue(actor.handle('moo foo'))
def test_empty_actor_does_not_handle_commands(self): self.assertFalse(actionbase.Actor().handle('foobar'))
def test_empty_actor_has_no_phrases(self): phrases = actionbase.Actor().get_phrases() self.assertEqual(phrases, [])
def test_can_handle_returns_true(self): actor = actionbase.Actor() foo_action = TestAction() actor.add_keyword('foo', foo_action) self.assertTrue(actor.can_handle('moo foo'))