У меня есть немного специальный 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
Все они отправляют на никнейм сообщение, содержащее именно то, что написано в них, не выделено жирным шрифтом.
Я, должно быть, что-то здесь упускаю, возможно, это file_get_contents () или fputs (), экранирующие символы способами, которые я не понимаю, возможно, что-то происходит с кодировкой моего файла .txt (в настоящее время utf-8, пробовал другие), или возможно, я просто ввел неправильные коды, чтобы получить жирный шрифт или цвета для работы?
Надеюсь, кто-то знает!
Заранее спасибо,
Эрик Б.
file_get_contents
читает файл побайтно, а затем вы записываете эти байты в сокет. Это не интерпретация ваших escape-последовательностей.
Если вы хотите отправить актуальный 0x02
байт у вас должен быть этот байт в файле.
В PHP вы можете написать это с помощью fputs($fp, chr(0x02))
,
Других решений пока нет …