kaakmans
Gebruiker
- Lid geworden
- 29 nov 2006
- Berichten
- 164
Iedereen kent chatman wel, of alice. Dat zijn MSN botjes. Deze geven automatisch antwoord op bepaalde woorden of zinnen. Nu heb ik een PHP file gemaakt die ervoor zorgt dat er automatisch antwoorden komen. zie hieronder.
Nu is mijn vraag, ik wil dat mijn msn bot antwoord geeft wanneer hij een woord ziet in welke zin of format dan ook.
Bijvoorbeeld. Als iemand nu sukkel zegt, zegt hij terug "je bent zelf een sukkel". Maar als iemand je bent een sukkel zegt. Dan begrijpt hij dit niet.
Ik wil dus dat hij een reactie geeft wanneer iemand sukkel zegt, ongeacht wat er omheen nog aan woorden staat. Hoe kan ik dat doen?
Alvast bedankt.
PHP:
<?
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
$woorden = array( // Voeg alle woorden hieronder toe
'hoi' => 'Hoi',
'hoest' => 'Gezondheid',
'haha' => 'ey, waarom lach je?!',
'ben je er' => 'JA! wat mot je dan?!',
'alles goed' => 'zijn gangetje, met jou ook alles goed?!',
'ja' => 'Good for you!',
'nee' => 'dan niet!',
'hey' => 'heya!',
'sukkel' => 'je bent zelf een sukkel',
'hallo' => 'ghalleu!',
'haai' => 'heuj!',
'hai' => 'heuj!',
'wattan' => 'niks:P',
'wat dan' => 'niks:P',
'wattan?' => 'niks:P',
'wat dan?' => 'niks:P',
'TV' => 'nee ik kijk geen tv, ik zit achter de pc',
'heeeeey' => 'heyy',
'hey botje' => 'Hey mensch',
'hahaha' => 'wat is er zo grappig?!',
'heeeey' => 'heyaa!',
'hoe oud ben je' => 'ik ben 20 jaar oud dat weet je best!',
'newwindow_msg' => 'Wat mot je?!');
$anders = 'ik begrijp er geen tyfus van'; // Dit wordt gezegd als de bot het niet snapt
// Het script, hier neits veranderen
$resp = new Resp();
$resp->init();
$msg = str_replace(array(':', ')', '(', ';', '\'', '"', '?', '!'), '', strip_tags(strtolower(base64_decode($_POST['msg']))));
if(isset($woorden[$msg])) {
$resp->addMsg($woorden[$msg]);
} else $resp->addMsg($anders);
$resp->send();
?>
Nu is mijn vraag, ik wil dat mijn msn bot antwoord geeft wanneer hij een woord ziet in welke zin of format dan ook.
Bijvoorbeeld. Als iemand nu sukkel zegt, zegt hij terug "je bent zelf een sukkel". Maar als iemand je bent een sukkel zegt. Dan begrijpt hij dit niet.
Ik wil dus dat hij een reactie geeft wanneer iemand sukkel zegt, ongeacht wat er omheen nog aan woorden staat. Hoe kan ik dat doen?
Alvast bedankt.