Хорошо, во-первых, я все еще новичок в PHP.
Я пытаюсь создать чат-бота, который отвечает на ключевое слово «заткнись» от людей, которые говорят об этом боту на моем игровом сервере, но я не могу найти способ, как …
Вот оригинальный код бота …
<?php
$choosechar = "#43CC#1#35#ItsJustABot#%";
$fh = fopen('badtimetim.txt','r');
$word_array = array(fgets($fh));
$word = rand(0,58);
$lines = file("badtimetim.txt");
while ($line = fgets($fh)) {
// <... Do your work with the line ...>
// echo($line);
// Connect to the AO Server
if (!($fp = fsockopen("127.0.0.1", "27017", $errno, $errstr, 15))) {
die("Failed to connect. Doesn't seem like the server is up anyway?");
}
// Set timeout to 1 second
if (!stream_set_timeout($fp, 1)) die("Could not set timeout.");
// Fetch first line of response and echo it
echo fgets($fp);
// Say line and repeat
fwrite($fp, $choosechar);
fwrite($fp, "#4D90#chat#(a)dolannormal#Dolan#dolannormal#".$lines[array_rand($lines)]."#jud#1#1#0#0#0#0#35#0#1#%");
sleep(120);
// Stuff
echo fgets($fp);
}
fclose($fh);
То, чего я точно пытаюсь достичь здесь, — это когда бот обнаруживает это (звездочки должны быть подстановочными знаками или что-то в этом роде):
#4D90#chat#*#*#*#shut up#*#*#*#*#*#*#*#*#*#*#%
Я хочу, чтобы бот отправил эти данные на сервер в ответ, используя fwrite:
#4D90#chat#(a)dolanangry#Dolan#dolanangry#no#jud#1#1#0#0#0#0#35#0#1#%
Как мне это сделать? Любая помощь приветствуется, спасибо.
РЕДАКТИРОВАТЬ: Забыл упомянуть, я использую файл .bat для запуска PHP и PHP-код, а не веб-сайт.
РЕДАКТИРОВАТЬ 2: Сделал вопрос более конкретным
$input_string_with_shut_up=$_POST['chat_msg']
$output=str_replace('%shut up%','#4D90#chat#(a)dolanangry#Dolan#dolanangry#no#jud#1#1#0#0#0#0#35#0#1#%',$input_string_with_shut_up)
echo $output;
Это может сделать
Других решений пока нет …