好吧,首先,我仍然是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:提出更具体的问题
答案 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;
这可能会