EgoScript

From Hobby'dev
Jump to: navigation, search

on a series of +, one of them is enough to trigger

on a series of <, all of them are necessary to trigger


on + patterns, parser doesn't care about ()

on < patterns, () must be balanced in capture


   line starter
       +   input speech
       -   output speech
       >   output thought
       <   input thought
       €   emotion modifier
       {}  javascript
       $   store fact
       ^   remove fact
       ?   if true fact
       !   if false fact

   inline
       []  variable substitution

   line modifier
       /emo
       /weight


speech

   + how are you
   - I'm great, how are you?
   - I'm good, you?
 
   + * told me to say *
   - Why would #1 tell you to say "#2"?
   - Did you say "#2" after #1 told you to?

   + i am (really/very/super) tired
   - I'm sorry to hear that you are #1 tired.

   + greetings
   - Hi there!    /weight 20
   - Hello!       /weight 25
   - Yos kyoco duckeb!


thoughts

   + tyler is my idol
   > the guy is a moron /mem 10

   < I need to know his name
   - What's your name?


emotions

   + how are you
   - Well I'm sad today        /emo sadness 0.5
   - I feel dark               /emo sadness 0.4
   - I'm ok
   - I'm fine, how are you?
   - I'm feeling good!         /emo happy 0.8
   - I'm so excited            /emo excited 0.2

   + My father died
   € sadness +50
   > User needs to be taken care of


discussions

   + knock knock
   - who is there
   + *
   - #1 who?
   + *
   - LOL! #1! That's funny!


fact store

   $ Rivescript is a scripting language
   $ Rivescript is text-based
   $ Rivescript is meant to aid in the development of interactive chatbots

   + Do you know a nice *?

   ? * is a #1
   - Yes, #2 is a cool #1

   ! * is a #1
   - No I don't, sorry

       "Do you know a nice scripting language?"
       "Yes, Rivescript is a cool scripting language"


   + Did you know that *?
   ? #1
   - Yes I knew it already
   ! #1
   - Really? Interesting...
   $ #1