Отправка выделенных жирным шрифтом / цветных сообщений в IRC через PHP-бота

#php #bots #irc

#php #боты #irc

Вопрос:

У меня есть немного особенный PHP-бот моего собственного дизайна, который имеет только одну очень простую цель: он считывает содержимое однострочного файла .txt и записывает его в IRC. Ни больше, ни меньше.

Вот как бот считывает файл, а затем записывает в IRC :

 $custom_message = file_get_contents($file_path);
fputs($irc_socket,$custom_message."rn");  

Код настолько прост, в нем больше ничего нет, это просто две строки, выполняемые в цикле. Пока это работает отлично. Он выполняет все команды, которые я хочу, используя 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, пробовал другие), или, возможно, я просто ввел неправильные коды, чтобы получить жирный шрифтили цвета для работы?

Надеюсь, кто-нибудь знает!

Заранее спасибо,
Эрик Б.

Ответ №1:

file_get_contents читает файл байт за байтом, а затем вы записываете эти байты в сокет. Он не интерпретирует ваши escape-последовательности.

Если вы хотите отправить фактический 0x02 байт, вам нужно будет иметь этот байт в файле.

На PHP вы можете написать это с помощью fputs($fp, chr(0x02)) .