Интернет бот

m1t3

Registered
Как се прави бот (като уеб страница) дето като му напишеш нещо да ти отговаря
 

morkov4o

Registered
звучи интересно ,но какъв е смисъла да пишеш на бота Url адреса като можеш и в обикновенния експлорер да го напишеш ?
 

m1t3

Registered
Става въпрос за нещо такова
http://pandorabots.com/pandora/talk?botid=c96f911b3e35f9e1
Има ли някакви готови програмки или кодове дето да трябва само да добавят фраза или изречение и отговор
 

mizarck

Registered
Това се прави много трудно и съм сигорен че трябва атски мощен сървър за да бачка
иначе ето начина на правена

при изпратено сообщение
то трябва да се обработи и за всяка фрама има отговор

например
Сообщение: my name is mizarck
отговор: Hello, mizarck

това става по следният начин след като си задал въпроса "my name is mizarck"
скрипта замества от сообщението "my name is" с "Hello ," и връща резултата "Hello, mizarck"
сам се досещаш че при много фрази обработката става по трудна и тредна което затормозява машината и ще ти спрът хостинга а ако си на домашно пс най много да се наложи да рестартираш компютара

ако държиш да видиш как ще стане мога да ти напиша един малак бот с 4-5 фрази
 

m3

Registered
mizark напиши един примирин скрипт искам да вида принципа на работа :)
 

mizarck

Registered
Написах нещо което се доближава но не точно защото само отговаря на въпроси
за да се направи да отговаря но по сложни въпроси трябва бая човек да си изпоти

Код:
<?php
$vupros  = $_POST['vupros'];
$form    = '<form name="form" method="post" action="">
  <input name="vupros" type="text" id="vupros" value="" size="50">
  <br>
  <input type="submit" name="Submit" value="Изпрати">
</form>';

if ($vupros == "")
{
echo "$form";
}else
{
if ($vupros == "как се казваш")
{
echo "Аз се казвам CHBV1";
echo "$form";
}elseif ($vupros == "здравей")
{
echo "Здравей пич";
echo "$form";
}else
{
echo "Некоректен въпрос";
echo "$form";
}
}
?>

ДЕМО

Бота отговаря на:
как се казваш
здравей
 

m1t3

Registered
А как ще стане ако се зададе нещо не в базата с данните да си избира от дадени реплики
 

mizarck

Registered
m1t3 каза:
А как ще стане ако се зададе нещо не в базата с данните да си избира от дадени реплики
нещо немога да те разбера
 

m1t3

Registered
Ами даречем казваш му бау
и той вместо да ти отговори Некоректен въпрос
да ти отговаря нещо свободно избрано от някакъв фаил
 

mizarck

Registered
Лесно ще стане
направи един файл
otgovori.txt
и на всеки ред слагай по един отговор
така вместо некоректен въпрос ще извежда произволен отговор от файла


Код:
<?php
$vupros  = $_POST['vupros'];
$file    = file("otgovori.txt");
$count   = count($file);
$rand    = rand(0, $count);
$form    = '<form name="form" method="post" action="">
  <input name="vupros" type="text" id="vupros" value="" size="50">
  <br>
  <input type="submit" name="Submit" value="Изпрати">
</form>';

if ($vupros == "")
{
echo "$form";
}else
{
if ($vupros == "как се казваш")
{
echo "Аз се казвам CHBV1";
echo "$form";
}elseif ($vupros == "здравей")
{
echo "Здравей пич";
echo "$form";
}else
{
echo "$file[$rand]";
echo "$form";
}
}
?>
 

m1t3

Registered
А ако искам и за зададените изречения да е така
например пишеш здравей
и бота да си избира от файл какво да отг заменям

Код:
}elseif ($vupros == "здравей") 
{ 
echo "Здравей пич"; 
echo "$form";


със

Код:
}elseif ($vupros == "здравей") 
{ 
echo "$file1[$rand]"; 
echo "$form";

и горе под $file = file("otgovori.txt");
добавям

$file1 = file("otgovoriZDR.txt");
 

m1t3

Registered
Има и още нещо
Даречем ако му напишеш
Здравей бот гаден
той да отчита здравей и да ти казва здрасти пич или да ти взема от фаил фразата

и ония бот дето съм го дал за пример като те пита какво обичаш да ядеш и като му отг ония казва звучи вкусно или нещо от сорта

Та можеш ли и тоя да е така
и даречем като задава въпрос да помни какво е казал и ако му отг с някоя въведена дума във фаил да ти казва звучи вкусно нали

-Какво ядеш
-Мармалад
-(проверка за мармалад в файл какво ядеш) отговор : Гадост
 

mizarck

Registered
ето бота

Код:
<?php
$vupros  = $_POST['vupros'];
$file    = file("otgovori.txt");
$file2   = file("otgovori2.txt");
$count   = count($file);
$count2  = count($file2);
$rand    = rand(0, $count);
$chislo  = "0";
$form    = '<form name="form" method="post" action="">
  <input name="vupros" type="text" id="vupros" value="" size="50">
  <br>
  <input type="submit" name="Submit" value="Изпрати">
</form>';

if ($vupros == "")
{
echo "$form";
}else
{
for ($otgovor=0;$otgovor <= $count2;$otgovor++)
{
$explode = explode("|", $file2[$otgovor]);
if ($explode[0] == $vupros)
{
echo "$explode[1]";
echo "$form";
$chislo++;
}
}
if ($chislo == "0")
{
echo "$file[$rand]";
echo "$form";
}
}
?>

ето как трябва да изглеждат файловете

otgovori
duihsdighsid
sdgsfgsdfgh
adgfsfdgdfh
asdgsdfh

otgovori2
Здравей|Здравей пич
как се казваш|николай
на колко години си|14
пушиш ли|да

аз нещо пак не схванах много въпросати
какво изкаш да прави и вота ли да задава въпроси ???
 

m1t3

Registered
Значи искам бота когато му кажеш нещо дето не е зададено да ти вади отговор от фаил
Ти това вече го каза как
ама искам отговора от файла да е въпрос
Например Какво обичаш да ядеш?
И аз ако му отговоря Мишмаш той да казва вкусно е да
ама аз ако му отговоря Спанак той да казва гадост
(спанак и мишмаш съм ги турил в някой фаил нали)
а ако му кажа нещо дето не съм го въвел във файловете да задава друг въпрос
Но тук искам и друго ако не му отговоря на въпроса а му кажа Здравей той пак да казва Здрасти пич
 

m3

Registered
А как ще стане съобщенията да остават на екрана и при рефреш или излизане да се изтриват? Може би със сесии?
 

mizarck

Registered
m1t3 каза:
Значи искам бота когато му кажеш нещо дето не е зададено да ти вади отговор от фаил
Ти това вече го каза как
ама искам отговора от файла да е въпрос
Например Какво обичаш да ядеш?
И аз ако му отговоря Мишмаш той да казва вкусно е да
ама аз ако му отговоря Спанак той да казва гадост
(спанак и мишмаш съм ги турил в някой фаил нали)
а ако му кажа нещо дето не съм го въвел във файловете да задава друг въпрос
Но тук искам и друго ако не му отговоря на въпроса а му кажа Здравей той пак да казва Здрасти пич
ако правилно съм разбрал изкаш да е така

например го питаш
пушил ли
той ти отговаря
Да
после го питаш нещо което не е зададено в файла отговори2 и тай да те пита нещо (което е зададено в файла отговори)
и човека след като отговори
бота да му отговаря

ако е това
последният скрипт който ти додох (на първа страница последния пост)
прави точно това

и може да се проведе такъв разговор

Аз: Здравей
Бота: здравей пич
Аз: имаш ли си гадже
Бота: обичаш ли училището
Аз: не
Бота: какво обичаш да ядеш
Аз: пъжжени картофи
Бота: Хубави са

edit:
m3
мога да го направя да пази това което се чати но да се трие ръчно
 

m1t3

Registered
Точно това имах в предвид благодаря ти много ако имам проблеми нали мога да те питам на ЛС
ПП : От това е добре да стане урок :)
 

mizarck

Registered
m1t3 каза:
Точно това имах в предвид благодаря ти много ако имам проблеми нали мога да те питам на ЛС
ПП : От това е добре да стане урок :)
Разбирасе че можеш да ме питаш на лс

пп да добро е да стане урок но ще си поиграя още малко с него и тогава ще пиша урок
 

Горе