通过PHP bot在IRC上发送粗体/彩色消息

时间:2016-10-02 08:17:26

标签: php bots irc

我有一个我自己设计的略微特殊的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.

1 个答案:

答案 0 :(得分:2)

file_get_contents正逐字节读取文件,然后将这些字节写入套接字。它没有解释你的逃脱序列。

如果要发送实际的0x02字节,则必须在文件中包含该字节。

在PHP中,您可以使用fputs($fp, chr(0x02))编写它。