【问题标题】:Sending bold/colored messages on IRC through a PHP bot通过 PHP bot 在 IRC 上发送粗体/彩色消息
【发布时间】:2017-02-10 10:13:32
【问题描述】:

我自己设计了一个稍微特殊的 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 发送一条消息,其中包含确切的内容,非粗体。

我必须在这里遗漏一些东西,也许是 file_get_contents() 或 fputs() 以我不知道的方式转义字符,也许是我的 .txt 文件的编码(目前是 utf-8,尝试了其他的) ),或者我只是输入了错误的代码以使粗体或颜色起作用?

希望有人知道!


提前致谢,
埃里克 B.

【问题讨论】:

    标签: php bots irc


    【解决方案1】:

    file_get_contents 正在逐字节读取文件,然后将这些字节写入套接字。它不会解释您的转义序列。

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

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

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 2016-08-11
      • 2013-02-27
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多