Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Chat bot, Algorytm, PHP4 i PHP5
Speedy
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


Skrypt umożliwiający rozmowę z chat botem. Można go zaimplementować np. w IRC BOCIE itp.
Korzysta on z bazy haseł w pliku *.ini. Sposób jego działania możecie poznać analizując algorytm.
Napisałem to jakiś czas temu, ale teraz sobie pomyślałem, że można to tutaj umieścić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

  1. <form method="post">
  2. <input type="text" name="q" />
  3. <br/>
  4. <input type="submit" value="ok" />
  5. </form>
  6.  
  7. <?
  8.  
  9. $chat_file = 'chat.ini';
  10.  
  11. if(isset($_POST['q']))
  12. {  
  13.  
  14. $baza = parse_ini_file($chat_file, true);
  15.  
  16. $baza_keys = array_keys($baza);
  17.  
  18. $baza_val = array_values($baza);
  19.  
  20. $string = strtolower($_POST['q']);
  21.  
  22. $tablica  = explode(" ", $string);
  23.  
  24. $i = 0;
  25.  
  26. $count_tab = count($tablica);
  27.  
  28. while($i<$count_tab) 
  29. {
  30.  
  31. $klucz = array_search($tablica[$i], $baza_keys);
  32.  
  33. $i++;
  34.  
  35. if($klucz == true) 
  36. {
  37.  
  38. $found_v = $baza_val[$klucz];
  39.  
  40. }
  41. }
  42.  
  43.  
  44. if(empty($found_v))
  45. {
  46. $found_v = $baza['alternative'];
  47. }
  48.  
  49. $count_v = count($found_v) - 1;
  50.  
  51. $rand = rand(0, $count_v);
  52.  
  53. $odp = $found_v[$rand]; 
  54.  
  55. echo $odp;  
  56. }
  57.  
  58. ?>


Przykładowy plik chat.ini
Kod
; ta opcja jest pusta , ponieważ bot nie interpretuje pierwszego klucza
[undefined]
0 = "undefined"

[czesc]
0 = "czesc"
1 = "Witam Ciebie"
2 = "cze"
3 = "Dzien dobry"

[oko]
0 = "jakie oko? o co Ci chodzi?"
1 = "moje oko?"

[banan]
0 = "tez lubie owoce"
1 = "a moze jablko?"

[pa]
0 = "pa"
1 = "papa"
2 = "na razie"

[alternative]
0 = "mhm... to bardzo interesujące"
1 = "może rozwiniesz swoją myśl?"
2 = "chyba nie rozumiem o co Ci chodzi"
3 = "lubisz francuskie filmy?"


Ten post edytował Speedy 4.05.2006, 10:29:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Speedy
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


mwm, jak już zostało wspomniane, jest to tylko algorytm.
Wygląd możesz sobie wprawić jaki Ci się podoba. Wykorzystać to też możesz gdzie chcesz (w obrębie serwera z obsługą php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ).
Całą rozmowę możesz zapisywać sobie do bazy/pliku, po czym dynamicznie ją wyświetlać - osobną dla każdego nowego użytkownika. Możesz skorzystać z AJAX-u, żeby wszystko działało szybciej i sprawniej.
Sam chętnie rozwinąłbym ten pomysł, ale niestety z powodu braku czasu obecnie jest to niemożliwe.

Pozdrawiam!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 20:47