While we want users to chat with our agents about everything and anything, we want to make them aware of the agent’s main purpose. Adding tips to the procedure DisplayReminderToGetOutOfChat(), which is defined in ChatParams.pkg, is a good way to bring users back to the agent’s purpose.

The procedure is called through the post-process ReminderToGetOutOfChat. The post-process is BuddyScript that is called after the end of each routine that is within the scope of the processing zone. Any .ddl that includes ChatParams.pkg will have the processing zone “started” thanks to that last line “start processing ReminderToGetOutOfChat”.  The processing is active for every routine in the .ddl until you “end” it using the line “end processing ReminderToGetOutOfChat”. 

You should write 2-3 tips for each piece of the agent’s functionality. You will not override the procedure DisplayReminderToGetOutOfChat(), but simply add to it.

Example:

When a user is chatting too much, the agent will pull him/her back into the conversation. For example:

College Football Guru says:

Yeah.

Wanna see where your favorite college football team stands? Type "Boston College standings."

Writing Dialog Tips

The best use of the procedure DisplayReminderToGetOutOfChat() is to create tips with dialogs. Dialogs keep users engaged and users love to be asked questions.

                Example:

procedure DisplayReminderToGetOutOfChat()

  RAND=Rand(14)

  if RAND=0

    - Why don't you ask me something?

    - Why don't you tell me something new?

    - Don't you want to ask me something?

  else if RAND=1 && !SAW_TAROT

    SAW_TAROT = 1

    - Do you want to see what your Tarot Cards say today?

    ? No

      - If you ever change your mind, just type StyleTypeThis("tarot card reading.")

    ? Yes

      rematch tarot card reading

    ? Already did.

    ? I saw it already.

    ? Did it.

    ? Did that.

      - Cool! I hope it was helpful!

               

                Example in the Agent:

Astrology Bot  says (4:16 PM):

Yes.

So anyway...

Do you want to see what your Tarot Cards say today?

 Britt says (4:16 PM):

no

Astrology Bot  says (4:16 PM):

    If you ever change your mind, just type "tarot card reading."

Creating Tip Variables

You should use variables so that users do not see the same tip in a session. The user may see the tip in his/her next session with the agent. Define your variables in ChatParams.pkg:

variable SAW_ROSTER = 0

When you define the variable, you will set it 0. When the user sees the tip, you will set the variable to 1 within the procedure.

  else if RAND==3 && !SAW_ROSTER

    SAW_ROSTER = 1

    - I have every college football team roster. Wanna know whose playing on your favorite team? Simply type StyleTypeThisPeriod("UAlbany team roster")

End the Procedure with General Tips

If a user has seen every tip in DisplayReminderToGetOutOfChat(), you will want to have your ending “else” include general tips that users can see multiple times in the same session. You should direct the user to type “home” or “?” in order to see all of the agent’s functionalities.

Example:

else

    - Can we talk football now? Type StyleTypeThis("?") and I'll give you examples of what types of questions you can ask.

    - OK, OK, enough of that. Let's talk football! Ask me how your favorite football team is doing this season.

    - Yada yada... Can we talk about football?! Type StyleTypeThis("?") and I'll give you examples of what types of questions you can ask.