script logic |
Sorry to bother you again... i'm trying to script a little more complex version of the geolocation script... my problem is that i can't in any way reach the latest state! What am I doing wrong? i paste the code below... Entering "translate the post code XXXX" returns correctly the output of the g1() function... but if I add the country like "translate the post code XXXX in germany" the bot can't reach the "tPCWCState" state... please help! thanks
state GeoNames {
case input goto sentenceState for each #word of sentence;
state sentenceState {
case "can" goto sentenceState;
case "you" goto sentenceState;
case "translate" goto tState;
var numeral { meaning : number; }
function g1() {
res = Http.requestXML("http://api.geonames.org/postalCodeSearch?username=botlibre&maxRows=1&postalcode=" + numeral);
if (res.totalResultsCount == "0") {
return "i know no place with that code";
}
if (res.totalResultsCount != "1") {
return "there are more than one result, specify a country";
}
return res.code.name;
}
state tState {
case #the goto tState;
case "post" goto tPCState;
case "postal" goto tPCState;
case "postcode" goto tPCState;
}
state tPCState {
case "code" goto tPCState; case numeral goto tPCState;
case "in" goto tPCWCState; answer g1();
}
state tPCWCState {
case "*" goto tPCWCState; answer "I AM HERE";
}
}
}
|
|
|
|
|