22. januar 2003 - 13:01Der er
11 kommentarer og 1 løsning
Simpel bot til chat
Jeg har en chat hvor man kan skrive privat til chatten. Her laver jeg bare en simpel ereg for at finde ud af hvad den skal svare. Jeg ville så gerne have lagt den i database så jeg bare kan tilføje tekster.
Her er den kode jeg bruger nu.. Håber der er en som kan hjælpe med at udvikle en funktion som kan finde ud af dette.
if (substr($tekst,0,1) == "/"){ // er det en tell emote if (ereg("/tell",$tekst)){ $text = $tekst; $tekst = ""; $ArrResult = explode (" ", $text); $arrayResult = count($ArrResult); $row = 0; // split teksten while ($row <= $arrayResult){ if ($row == "1"){ $modtager = "$ArrResult[$row]"; } if ($row > "1"){ $tekst = "$tekst $ArrResult[$row]"; } $row = $row + 1; } if ($modtager == "Chatten" || $modtager == "chatten"){ // check hvad beskeden indeholder if (ereg("hej",$tekst)){ mysql_query("INSERT INTO `chat` ( `id` , `rum`, `til` , `fra` , `tekst` , `dato` ) VALUES ('', '$session_rum', '$session_user', 'Chatten', 'Hej $session_user, hvis du har problemmer skal du kontakte en af dem med @ foran deres navn', UNIX_TIMESTAMP())"); $add = "ok"; } else { mysql_query("INSERT INTO `chat` ( `id` , `rum`, `til` , `fra` , `tekst` , `dato` ) VALUES ('', '$session_rum', '$session_user', 'Chatten', 'Hej med dig, jeg er en underudviklet bot som kun kan sige en ting', UNIX_TIMESTAMP())"); $add = "ok"; }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
well det er en fin ide MEN jeg ville nok lave en MySQL styret.. Lav en tabel der hedder chat_chatten id (int og autoid) input (var) write (var)
Så laver vi så en funktion der kan håndtere de beskeder. function ChattenSkriver($besked,£fra){ $GetMsg = mysql_query("SELECT input,output FROM chat_chatten WHERE input LIKE '$besked'); if(musql_num_rows($GetMsg)==0){ //Skriv fra chatten at man ikke kunne finde beskeden } else { $BotMsg=mysql_fetch_array($GetMsg); $BeskedUd=$BotMsg[output]; //Skriv fra chatten til $fra hvad out bliver... } }
Det der har jeg allerede lavet.. Men den er efger min mening ikke intelligent nok... Den skulle gerne sammenligne alle ordene og så vælge den hvor den genkender flest... Men det ved jeg ikke helt hvordan jeg skal lave.
Jammen så kan vi gøre sådan at botten ikke ser efter mellemrum eller store eller små bogstaver.. $besked=strtolower(ereg_replace("[^a-zæøåA-ZÆØÅ]","",$msg));
Så når du tilføjer en InPut skal det være med stort og UDEN mellemrum.. er det på den måde???
Jeg ville gerne have at den prøver at finde den sætning hvor den genkender flest keywords. Det er nok list svært at lave og det er også derfor jeg spørger her... Du kan egentligt sammenligne det med en søgemaskine. Som fx. her på eksperten. Den finder procent mm. og lister efter det. Her skal jeg så bare kun returnere den værdi som har den højeste procentsats..
Well det er tideligt så her kommer teorien. 1. Du skal fjerne alle standart ord som: jeg,og 2. Du skal lave et array ud af de ord der er tilbage 3. Du skal lave en query der søger defter den array der er tilbage..
Jeg ville så gerne have lagt den i database så jeg bare kan tilføje tekster. ^^ Dit spørgsmål..
DVS der står intet om den skal være dynamisk.. Og så svarer jeg på det.. med dette: function ChattenSkriver($besked,£fra){ $GetMsg = mysql_query("SELECT input,output FROM chat_chatten WHERE input LIKE '$besked'); if(musql_num_rows($GetMsg)==0){ //Skriv fra chatten at man ikke kunne finde beskeden } else { $BotMsg=mysql_fetch_array($GetMsg); $BeskedUd=$BotMsg[output]; //Skriv fra chatten til $fra hvad out bliver... } }
som er rigtigt til dit sprøgsmål.. så vil du have den mere dynamisk så er jeg venlig at give dig teorien.. Gider ikke bruge tid på at lave det..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.