You can use your bot to interact with an external server with the AIML2000-Interface.
Someone interacts with your bot via Chat, Instant Message oder Group Message. With the AIML2000-Interface you can send this message to an external server. At first you have to set the AIML2000-Url pointing to your server (example!):
aiml2000 http://www.pikkubot.de/aiml2000.php?data=
Then you have to activate the aiml2000-Interface:
aiml 1
This is an easy example for your server-script (written in PHP):
<?php // Logfile // $fd=fopen("/tmp/aiml2000.log", a); fwrite($fd, base64_decode($_GET[data])); fclose($fd); // Get the field from the data-var // $exp=explode("\t", base64_decode($_GET[data])); // $exp[0] -> CHAT / IM / GIM // $exp[1] -> for GIM the Group-UUID // $exp[2] -> Sender-UUID // $exp[3] -> Sender-Name // $exp[4] -> Message // Result // if ($exp[0]=="CHAT") { echo "Thanks for chatting with me ".$exp[3]; die; } if ($exp[0]=="IM") { echo "Thanks for sending an IM to me ".$exp[3]; die; } if ($exp[0]=="GIM") { echo "Thanks for your request to this group, ".$exp[3]; die; } echo "\n"; ?>
The “data”-field ist base64-encoded and seperated with tabs (\t).
The answer from the server is written in the source-channel (Chat, Instant Message oder Group Message).
Please use an:
echo "\n";
if you are not giving any output from the server, because the bot-Thread can end then immediately.
You are also able to execute commands coming from the server. You have to enable it first with:
aiml2000commands 1
Then the server can send commands if they begin with [COMMAND], example:
[COMMAND]say hello world
You can send multiple commands to the bot with:
[COMMAND];say hello world;say foo;say bar