I was asked via email this question:
Looking at simplecontrols.top in RAWDATA and from test chats, it looks like when the user has ‘activated’ a current topic and the gambits are exhausted, the chatbot will resort to saying ‘I don’t know what to say’. Is there a way to make it so that in the event that when all the gambits in the particular topic are exhausted, it would search and output a random gambit from another topic?
Also, when my testbot has no more gambits, it says ‘Hey, sorry. What were we talking about?’ instead of the default phrase in simplecontrols.top (‘I don’t know what to say’). I can’t find this phrase anywhere in in the simplecontrol.top. Where is the code for this bit?
———- my answer is:
I’m not sure what you are saying… The simplecontrols has this:
if (%response == 0)
{
@8 = ^GambitTopics() # all topics with gambits (excluding system topics)
loop()
{
$$topic = pick(@8)
nofail(TOPIC ^Gambit($$topic)) # try a topic at random
if (%response != 0)
{
^end(RULE)
}
}
}
which finds gambits from ANYWHERE.
What were we talking about comes from the engine itself, as a response of last resort if no response has been generated.