我有一个我自己设计的略微特殊的PHP机器人,它只有一个非常简单的目的:它读取一行.txt文件的内容并将其写入IRC。没什么,没什么。
这是机器人读取文件然后写入IRC的方式:
$custom_message = file_get_contents($file_path);
fputs($irc_socket,$custom_message."\r\n");
代码很简单,没有别的东西,它只是在循环中运行的那两行。到目前为止,这是完美的。它使用privmsg或其他任何方式执行我想要的所有命令。
我的问题是我无法让机器人用粗体或颜色来编写消息。以下是我尝试过的方法:
privmsg Nickname 0x02test
privmsg Nickname \u0002test
privmsg Nickname \0x02test
privmsg Nickname \002test
privmsg Nickname \x035test
privmsg Nickname \x02test
所有这些都向Nickname发送一条消息,其中包含其中所写的内容,非粗体。
我必须在这里遗漏一些东西,也许是文件_get_contents()或fputs()以我想不知道的方式转义字符,也许是我的.txt文件编码正在发生的事情(目前是utf-8,尝试过其他人),或者我只是输入错误的代码来使粗体或颜色起作用?
希望有人知道!
提前谢谢,
Eric B.
答案 0 :(得分:2)
file_get_contents
正逐字节读取文件,然后将这些字节写入套接字。它没有解释你的逃脱序列。
如果要发送实际的0x02
字节,则必须在文件中包含该字节。
在PHP中,您可以使用fputs($fp, chr(0x02))
编写它。