IRC

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

IRC (Internet Relay Chat) — это протокол и популярное средство группового текстового общения (чат). В народе именуется «иркой». Далекие от компьютерных нюансов пользователи часто путают «ирку» с «миркой». «Мирка», в свою очередь, — это сленговое название популярнейшего IRC-клиента mIRC.

Создателем IRC является финский студент Ойкаринен, Ярко.

Формально IRC не относится к классу систем мгновенного обмена сообщениями, хотя по факту используется именно для этого.

Сравнение с Jabber[edit]

Общение в IRC происходит на так называемых каналах, или в комнатах (англ. channel и chat room соответственно). В Jabber есть аналогичная возможность — многопользовательские конференции, или чаты. И на каналах IRC, и в конференциях Jabber пользователям могут быть даны некоторые права по управлению пользователями и самим чатом.

Главное же их отличие состоит в том, что в IRC канал фактически поддерживается сразу несколькими серверами сети, за счёт чего достигается некоторая устойчивость каналов к нарушению связи между северами. Например, в сетях IRC возможно такое явление как «сплит» (от англ. «split» — расщепление, раскол), когда пользователи одного сервера могут общаться в комнате между собой, но не могут с пользователями других серверов, если между их серверами оборвалось соединение. В Jabber конференция поддерживается только одним сервером, и при обрыве соединения между сервером пользователя и сервером конференции, пользователь будет от неё отключён.

На самом деле, конференции Jabber в значительной мере вдохновлены IRC. Об этом говорит их большое сходство. Многие клиенты Jabber даже позволяют управлять конференциями с помощью команд IRC, преобразуя их в управляющие XMPP-последовательности. По сути Jabber является современным наследником IRC.

Взаимодействие с Jabber[edit]

  • Пользователи Jabber могут общаться c пользователями IRC-серверов посредством соответствующего транспорта, см. Gateway:IRC.
  • Пользователи IRC, в свою очередь, могут осуществлять взаимодействие с Jabber посредством:
    • дополнительных модулей к своим IRC-клиентам, например, Jabber-модулем для IRcap (последнее особенно актуально для наших испанских друзей);
    • ботов jirc и ijbridge, транслирующих сообщения между Jabber-конференциями и IRC-комнатами.
  • Администратор Jabber-сервера может установить специальное расширение (например ircd для ejabberd), чтобы к его конференциям могли подключаться пользователи IRC.

Обратное взаимодействие[edit]

Та ситуация когда пользователь остается в IRC-окружении и общается в другими IM из IRC. Например, пользователи XMPP-серверов выглядят для него как IRC-пользователи.

Основные команды[edit]

Все команды в IRC начинаются с косой черты («/»). При этом они должны быть введены с начала строки. Ввод одних команд осуществляется сразу после подключения к серверу, других - после подключения к каналу. Распространенные команды:

Команда Значение Пример использования
/list [параметры] Поиск каналов. Дополнительные параметры можно не вводить, тогда будут выведены все каналы (может занять существенное время!) /list -min 2 -max 20 *nix*
/join канал [пароль] Зайти на канал. Если канал не защищен паролем, его можно не вводить /join #neo matrix
/part канал [причина] Покинуть канал. "Причина" может не вводиться /part #love "Уже женат"
/invite ник #канал Пригласить пользователя посетить канал /invite Tux #linux
/topic [#канал] тема Установка темы канала. /topic #slon Продажа слонов, оптом и в розницу. || У нас снижение цен! || На повестке дня суд с ''Майский чай'' за использование лейбла
/me действие Сообщение от третьего лица (*applesin ушел в США. Пешком) /me ушел в США. Пешком
/ame действие Сообщение от третьего лица для всех каналов /ame ушел в США. На велосипеде
/nick НовыйНик Смена ника /nick Zebra
/whois ник Информация о пользователе с этим ником /whois Alice
/quit [причина] Отключение от сервера. Указание причины опционально. /quit опаздываю

Некоторые из этих команд могут не работать корректно при пользовании каналом IRC из Jabber (через транспорт).

Информация для разработчиков[edit]

Хотя в соответствующих RFC описаны принципы построения клиента и сервера, существуют серверное ПО, которое имеет нестандартные расширения протокола.

Поскольку сервисы (для управления учетными записями, например) не описаны явно в RFC, то опять же у каждого типа сервера они могут быть свои. Все это затрудняет поддержку и может быть причиной неполной совместимости.

См. также[edit]