It's taken me ages to isolate this problem, but I think
I've now found it... only problem is I don't know how
to solve it!
I've installed a fresh copy of v0.9, with only two AIML
categories loaded:
<category>
<pattern>I AM * TALL</pattern>
<template>
That's quite tall
</template>
</category>
<category>
<pattern>* VERY *</pattern>
<template>
<star index="1"/> <star index="2"/>
</template>
</category>
Here's some responses that work:
User: I am 7 feet tall.
Bot: That's quite tall.
-------------------------------
User: Baby ducks are very cute
Bot: Baby ducks are cute
However, if you type one of the following you get an
unintentional Yoda-esque response!
User: I am very clever.
Bot: very clever i am.
-------------------------------
User: I am very big for my age
Bot: very big for my age I am
The pattern matched in $botresponse->patternsmatched is
* very * but it appears to be getting confused by the I
AM * TALL category because changing this to I AM TALL
fixes the problem...
I would be eternally grateful if somebody with more
brains than me could have a look at this and see what's
going on (I've got a copy of the debugger output log if
it would help) because this program is so great and I
want to carry on making my bot!
Logged In: YES
user_id=461157
This is a valid bug. Currently it's under investigation. It
should be solved in the next couple of weeks when the next
version of Program E is released.
Logged In: YES
user_id=131736
Originator: NO
I've found a fix for a bug in star that appears at the end of a pattern.
In file graphnew.php line 552
the line
function fastforward($word,$ffremains){
should be
function fastforward($word,&$ffremains){