PHP - 尝试为我的游戏服务器制作聊天机器人

时间:2016-07-10 15:52:23

标签: php keyword chatbot

好吧,首先,我仍然是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代码,而不是网站。

EDIT2:提出更具体的问题

1 个答案:

答案 0 :(得分:-1)

$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;

这可能会