#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))
.