IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) — сервисная
система, при помощи которой можно общаться через сеть Интернет с другими людьми
в режиме реального времени. Она была создана в 1988 году финским студентом Ярко
Ойкариненом (Jarkko Oikarinen). В русском компьютерном сленге IRC называют «иркой»,
«ирцем», а также «мирк», «мирц» (кальки с названия наиболее популярного клиента
— программы mIRC).
IRC начало завоевывать особенную популярность после операции «Буря в пустыне»
(1991), когда сообщения со всего мира собирались в одном месте и в режиме «on-line»
транслировались в IRC [1]. Подобным образом IRC использовалось и в 1991, во
время путча в СССР, когда пользователи из Москвы в реальном времени сообщали
всему миру о происходящем на улицах.
Заходим на Realcoding IRC куда
подключаться: wenet.ru; порт: 6667;
канал #realcoding. Тебя ждут!
Команды
Большинство команд, которые вводятся в командную консоль, отличаются от тех,
которые передаются по сети. Вот команды, определённые в
RFC 2812:
NICK username — изменяет ник участника на указанный в
параметре username
OPER username password — выдаёт права оператора
пользователю, используя соответствующий O:Line.
QUIT — отсоединяет пользователя от сервера
JOIN channels [keys] — присоединяется к каналам channels
используя соответствующие ключи keys если канал имеет режим +k. Каналы в
списке разделяются запятыми
JOIN 0 — покинуть все каналы
PART channels [:message] — покинуть каналы channels,
используя message. Если message состоит более чем из одного символа, до
перед ним ставится :
MODE channel/username modes — меняет режимы канала channel
(требуются права оператора канала) или пользоваетя username (большинство
серверов позволяют менять свои флаги только самим пользователям). Modes
представляет из себя строку в формате +flags-flags params
TOPIC channel [:message] — изменяет тему на message. Если
не указан параметр message, то возвращает тему канала
NAMES [channel] — возвращает список пользователей на
канале, или, если канал не указан, во всей сети
LIST [pattern] — возвращает все каналы. Если задан шаблон
pattern, то возвращаются только шаблоны, совпадающие с ним
INVITE user channel
KICK channels users [:reason] — выкидывает пользователей
users с каналов channels. Возможно указать причину reason.
PRIVMSG channel/user :message — посылает сообщение message
на канал channel или пользователю user.
NOTICE channel/user :message — аналог PRIVMSG. Согласно
RFC 2812, на NOTICE никогда не может быть автоматических ответов.
WALLOPS text — посылает текст всем пользователям с режимом
+w
WHOIS - показывает информацию о
данном пользователе.
Режимы каналов
Операторы канала могут задавать различные режимы каналов с помощью команды
MODE. В
RFC 2811 определены следующие режимы:
+O user — обозначает создателя канала. Не должен изменятся
вручную. (отсутствует во многих реализациях)
+o user — обозначает оператора канала.
+v user — даёт пользователю право говорить на модерируемых
каналах.
+a — анонимный канал. Имена всех пользователей скрываются
как anonymous!anonymous@anonymous(отсутствует во многих
реализациях)
+m — только пользователи с флагами +o или +v.
+n — только находящиеся на канале пользователи могут
посылать в него сообщения
+p/+s — канал скрывается во всех ответах
сервера если пользователь не находится
+t — тему канала могут изменять только операторы
+l limit — ограничевает количество пользователей на канале
числом limit.
+k key — устанавливает ключ (пароль) от канала key
+b — вывести список банов +b на канале. Доступен всем
пользователям
+b mask — запрещает доступ к каналу пользователей,
совпадающих с маской mask.
+e mask — разрешает пользователям, попадающих под маску
mask, заходить на канал вне зависимости от режимов +b
+I mask — разрешает пользователям, попадающих под маску
mask, заходить на канал вне зависимости от режима +I
+c — оформление текста на канале запрещено (не
определено в RFC)
Режимы пользователей
+i — невидимый пользователь
+s — получать извещения сервера
+w — получать wallops
+o — оператор сервера. Для получения должна использоваться
команда OPER
CTCP
CTCP — это особый тип сообщений. Сообщения CTCP выглядят так:
PRIVMSG target :�01command [arguments]�01
Target — это канал или пользователь, которому отправляется сообщение, �01 —
это бинарный символ 0x01, command — это команда CTCP, arguments — аргументы
команды. Основные команды:
PING — возвращает аргументы назад
VERSION — возвращает версию клиента
USERINFO — возвращает информацию о пользователе
CLIENTINFO — возвращает информацию о клиенте
SOURCE — возвращает источник, откуда можно загрузить клиент
TIME — возвращает время на компьютере пользователя
ACTION — эмулирует действие (команда /me)
Документы RFC
Основным документом, определяющим протокол IRC является
RFC 1459 — Internet Relay Chat Protocol. Позднее были разработаны ещё
несколько документов, дополняющих стандарт: