Difference between revisions of "Migration:irc2jabber"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m (убран шаблон "заготовка")
(добавлено описание отличий + что делать с одинаковыми никами)
Line 1: Line 1:
 +
== Общие сведения ==
 +
Протокол {{w|IRC}} создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в [[Конференции|конференции Jabber]].
 +
 +
На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия.
 +
; Распределенность
 +
: В типичной IRC сети существует единое пространство каналов и единое пространство пользователей. Если на двух серверах одной сети есть каналы с одинаковым именем, они окажутся слиты в один. В случае с Jabber конференциями, сервера конференций не линкуются между собой. На разных серверах могут быть комнаты с одним именем.
 +
; [[Nickname|Никнеймы]]
 +
: В IRC сети ник пользователя и его учетная запись ([[Login|логин]]) - одно и то же. В Jabber это не так. Вы можете иметь разные ники в разных конференциях, а один и тот же ник в разных конференциях могут одновременно использовать разные люди.
 +
; Регистрация пользователей и конференций
 +
: В стандарте {{rfc|1459}}, описывающем IRC чат, регистрация не была предусмотрена. Чтобы исправить этот факт, были разработаны дополнительные сервисы, такие как {{w|NickServ}} и {{w|ChanServ}}. Однако эти сервисы не были стандартизированы, что вызывает сложности и по сей день.
 +
: В случае с Jabber регистрация предусмотрена изначально. При необходимости, конкретную конференцию можно настроить так, чтобы пользователь не мог узнать реальный [[JID]] другого без его на то согласия (или без поддержки модераторов конференции).
 +
; Чувствительнось к регистру
 +
: Конференции Jabber, в отличие от IRC, чувствительны к регистру [[Nickname|ников]]. В одной конференции могут сосуществовать "User" и "user".
 +
 
== Проблемы и решения ==
 
== Проблемы и решения ==
 
'''Q''': Как продолжить общение на IRC-каналах? <br />
 
'''Q''': Как продолжить общение на IRC-каналах? <br />
Line 53: Line 67:
 
'''Q''': Я использую [[w:mIRC|mIRC]] и привык использовать цветовые коды. Что мне делать? <br />
 
'''Q''': Я использую [[w:mIRC|mIRC]] и привык использовать цветовые коды. Что мне делать? <br />
 
'''A''': В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
 
'''A''': В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
 +
----
 +
'''Q''': Jabber позволяет очень вольно обращаться с никами. Как мне понять что участник не тот, за кого себя выдает? <br />
 +
'''A''': Тут есть три способа.
 +
# можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном [[JID]] пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
 +
# можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации ([[Bot|бот]] с соответствующей функцией {{fixme|какой бот это умеет?}}).
 +
# можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний сможет увидеть реальные JID'ы всех участников.
 
----
 
----
  

Revision as of 16:08, 19 April 2009

Общие сведения

Протокол IRC создавался в первую очередь для организации многопользовательских чатов, приватные беседы в нем вторичны. Поэтому здесь будут рассмотрены вопросы миграции в конференции Jabber.

На первый взгляд между Jabber и IRC сети схожи между собой - и там и там сеть состоит из множества равноправных серверов. Тем не менее, есть и существенные различия.

Распределенность
В типичной IRC сети существует единое пространство каналов и единое пространство пользователей. Если на двух серверах одной сети есть каналы с одинаковым именем, они окажутся слиты в один. В случае с Jabber конференциями, сервера конференций не линкуются между собой. На разных серверах могут быть комнаты с одним именем.
Никнеймы
В IRC сети ник пользователя и его учетная запись (логин) - одно и то же. В Jabber это не так. Вы можете иметь разные ники в разных конференциях, а один и тот же ник в разных конференциях могут одновременно использовать разные люди.
Регистрация пользователей и конференций
В стандарте RFC 1459, описывающем IRC чат, регистрация не была предусмотрена. Чтобы исправить этот факт, были разработаны дополнительные сервисы, такие как NickServ и ChanServ. Однако эти сервисы не были стандартизированы, что вызывает сложности и по сей день.
В случае с Jabber регистрация предусмотрена изначально. При необходимости, конкретную конференцию можно настроить так, чтобы пользователь не мог узнать реальный JID другого без его на то согласия (или без поддержки модераторов конференции).
Чувствительнось к регистру
Конференции Jabber, в отличие от IRC, чувствительны к регистру ников. В одной конференции могут сосуществовать "User" и "user".

Проблемы и решения

Q: Как продолжить общение на IRC-каналах?
A: Используйте соответствующий транспорт.


Q: Как сделать автоматический вход на канал?
A: Добавьте ссылку на канал (обычно в формате "#канал%irc_сервер@irc_транспорт") в закладки, и установите флаг автоматического входа в конференцию.


Q: Какие есть аналоги команд IRC в конференциях?
A: Многие серверы конференций позволяют использовать IRC-подобные команды для управления. Список ниже был протестирован только на conference.jabber.ru.
Работающие команды:

  • /me делает что-то
  • /nick НовыйНик
  • /away [причина]
  • /topic Новая тема
  • /kick Участник
ToDo: Какие еще команды работают и на каких серверах?

Q: Как соотносятся права в конференции и на каналеTemplate:Ref?
A: Примерное соответствие для типов членства таково:

  • owner - владелец конференции. Аналог владельца канала (owner).
  • admin - администратор. Аналог автооператора (aop).
  • member - постоянный участник. Аналог приглашенного пользователя (+i).
  • none - обычный пользователь.
  • outcast - изгой. Аналог забаненного пользователя (+b).

Примерное соответствие для ролей таково:

  • moderator - модератор. Если имеет членство admin или owner, то аналог оператора (+o), иначе аналог полуоператора (+h).Question.gifПроверить: Верно ли это?
  • participant - участник. Аналог пользователя с войсом (+v).
  • visitor - гость. Аналог пользователя без войса.

Подробнее о ролях и типах членства читайте в статье Конференции.


Q: Как соотносятся настройки конференции и канала?
A: Примерное соотношение некоторых настроекTemplate:Ref и режимов каналов таково:

  • постоянная - аналог регистрации канала у ChanServ. Если флаг снят, при выходе последнего пользователя все настройки комнаты сбросятся, а сама она исчезнет.
  • публичная - антипод режима секретности канала (+s). Скрытая комната не будет видна в общем списке комнат.
  • защита паролем - аналог режима с ключом (+k). При входе в комнату у пользователя потребуют пароль.
  • число пользователей - аналог режима ограниченной вместимости (+l). В комнату смогут войти не более указанного числа пользователей.
  • режим анонимности - не имеет аналога в обычном IRC, но отчасти выполняет функции HostServ. Определяет, кому будет виден настоящий JID пользователя.
  • только для зарегистрированных - аналог режима "по приглашениям" (+i). Только пользователи с членством member или выше смогут войти в комнату.
  • модерируемая - аналог режима модерации (+m). Только пользователи с ролью participant и выше смогут писать в конференцию.
  • участники по умолчанию - аналог функции ChanServ. По умолчанию входящие пользователи будут получать роль participant.
  • пользователи меняют тему - антипод режима "только операторы меняют тему канала" (+t).

Q: Я использую mIRC и привык использовать скрипты. Что мне делать?
A: Вам придется найти подходящий клиент. Минимальную функциональность предоставляет QIP Infium с плагином "Aliases MOD". В частности, он позволяет задать такие полезные алиасы:

 /я /me
 /nickserv /msg nickserv@*.rusnet
 /ушел /away %||/nick ВашНик[away]

и тому подобное. Возможно, аналогичный плагин есть и для Miranda.

ToDo: написать, какие еще клиенты обладают достаточным скриптовым функционалом

Q: Я использую mIRC и привык использовать цветовые коды. Что мне делать?
A: В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.


Q: Jabber позволяет очень вольно обращаться с никами. Как мне понять что участник не тот, за кого себя выдает?
A: Тут есть три способа.

  1. можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном JID пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
  2. можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации (бот с соответствующей функциейQuestion.gifПроверить: какой бот это умеет?).
  3. можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний сможет увидеть реальные JID'ы всех участников.

Примечания

  1. Template:Note здесь и далее речь о каналах, зарегистрированных через ChanServ или аналог.
  2. Template:Note названия настроек могут отличаться