Difference between revisions of "Migration:irc2jabber"
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 15: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 Участник
Q: Как соотносятся права в конференции и на каналеTemplate:Ref?
A: Примерное соответствие для типов членства таково:
- owner - владелец конференции. Аналог владельца канала (owner).
- admin - администратор. Аналог автооператора (aop).
- member - постоянный участник. Аналог приглашенного пользователя (+i).
- none - обычный пользователь.
- outcast - изгой. Аналог забаненного пользователя (+b).
Примерное соответствие для ролей таково:
- moderator - модератор. Если имеет членство admin или owner, то аналог оператора (+o), иначе аналог полуоператора (+h).Проверить: Верно ли это?
- 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.
Q: Я использую mIRC и привык использовать цветовые коды. Что мне делать?
A: В Jabber не предусмотрено форматирование сообщений. И большинство irc-транспортов обрезают цветовые коды mIRC. Строго говоря, mIRC-форматирование даже не описано в стандартах IRC. Так что, тут ничего не поделаешь.
Q: Jabber позволяет очень вольно обращаться с никами. Как мне понять что участник не тот, за кого себя выдает?
A: Тут есть три способа.
- можно помечать "своих", выдавая им права участника. (См. выше про систему прав в конференции.) Выдача прав базируется на реальном JID пользователя, так что для обмана этого способа потребуется угнать чужую учетную запись.
- можно обратиться к модератору. Им, как правило, видны реальные JID'ы участников, и они могут сравнить их с правильными. Способ поддается автоматизации (бот с соответствующей функциейПроверить: какой бот это умеет?).
- можно открыть JID'ы пользователей всем. Тогда любой пользователь сможет посмотреть на JID незнакомца и сравнить его с правильным (если, конечно знает правильный). Недостаток этого метода - любой посторонний сможет увидеть реальные JID'ы всех участников.
Примечания
- Template:Note здесь и далее речь о каналах, зарегистрированных через ChanServ или аналог.
- Template:Note названия настроек могут отличаться