Any time a Verbot KB contains c#, it always says "the database contains code that maybe dangerous to your computer."
This is a 'generic' warning in that the code (if improperly written)
could harm your computer.
Ignore and "okay" it.
As to the "other issues", it's a bit hard to resolve them if you don't say what they are!
Then if someone ask what their favorite color is before actually stating so I would like to respond with:
Sorry, I don't recall you telling me what your favorite color was.
We've already set vars["fav-color"] to an empty string in the startup rule (and here is why I prefer that to Sylvain's method).
What you can do is check that vars["fav_color"] is equal to "" in the rule output
condition vars["fav_color"] != "" ) and then use the output:
Sorry, I don't recall you telling me what your favorite color was.
This output, since it is conditional, will trigger as being "more correct" than an unconditionally correct rule - your other responses.I loaded the file you sent. I type in "What is my favorite color" I get this.
Okay, I'll remember that. what? is tour favorite colour...
This is the reason I started the post to begin with.
I suspect that you've still got the rule with the input:
[fav_color] is my favorite color as well as a rule called
what is my favorite color.
Thus when you query the kb by asking it "what is my favorite color?"
then you are "firing" the
[fav_color] is my favorite color rule and thus setting [fav_color] to "what".
To cure this use
vars["fav_color"] == "" in the
input condition of this rule.
Then this rule will only fire if, and only if, there is no value for [fav_color] set.
To make really certain you get the result you want put the condition
vars["fav_color"] != "" in the "what is my favorite color" rule input condition as well.
hence one rule is only true when no favorite color is set and the other is only true when the favorite color isn't set.
You might also care to look at the wiki (or download the Verbot4 editor help file) and see if alternative text in a rule would also provide you with a solution.