I am working on a chatbot with Rivescript and am trying to use keyword triggers in conditional responses.
In the tutorial on the site, it is explained that you can use...
[*]optionals to ignore parts of a message...
This works fine in the initial prompt + [*] you [*] but when I try to use this method to capture any response that contains yes or no as part of a conditional response it seems to break it? I don't get an error code, but it simply defaults to - So, back to the matter at hand... as a response.
+ [*] you [*]
- Oh, so we're talking about me now?
+ *
% oh so we are talking about me now
* <star> == [*] no [*] => Whatever...
* <star> == [*] yes [*] => This should be fun.{topic=myself}
- So, back to the matter at hand...
If this were to work I would expect the conversation to go, for example:
User: What do you do?
Bot: Oh, so we're talking about me now?
User: Yes, I suppose so
Bot: This should be fun.
So, is there any way to use conditional responses without an explicit user input? But rather one that just contains a certain response? I imagine this is a problem with using the * in two instances, both as <star> and [*], but can't work out a solution within the framework? Maybe I'm missing something? I've also tried using *yes* and *no*.
Update:
Perhaps, it is a problem with the conditional operator I am using? Maybe == is not the correct method for comparing two values when I am simply trying to find out whether one is contained in the other? I've since found the Working Draft but no luck here either...