Difference between revisions of "Migration:irc2jabber"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Проблемы и решения: про команды)
(Проблемы и решения: команды)
Line 25: Line 25:
 
'''Q''': Какие есть аналоги команд IRC в конференциях? <br />
 
'''Q''': Какие есть аналоги команд IRC в конференциях? <br />
 
'''A''': Многие Jabber-[[Клиент|клиенты]] позволяют использовать IRC-подобные команды для управления.  
 
'''A''': Многие Jabber-[[Клиент|клиенты]] позволяют использовать IRC-подобные команды для управления.  
Практически везде работает команда "/me".
+
 
Иногда также встречаются:
+
{| border='1' align='center' class='standart'
* /nick НовыйНик
+
|-
* /away [причина]
+
!bgcolor=lightblue width=20%|Команда
* /topic Новая тема
+
!rowspan=2 bgcolor=lightblue width=60|/me
* /kick Участник
+
!rowspan=2 bgcolor=lightblue width=60|/nick
{{todo|Какие еще команды работают и где именно?}}
+
!rowspan=2 bgcolor=lightblue width=60|/clear
 +
!rowspan=2 bgcolor=lightblue width=60|/ban
 +
!rowspan=2 bgcolor=lightblue width=60|/kick
 +
!rowspan=2 bgcolor=lightblue width=60|/leave
 +
!rowspan=2 bgcolor=lightblue width=60|/say
 +
!rowspan=2 bgcolor=lightblue width=60|/topic
 +
!rowspan=2 bgcolor=lightblue width=60|/names
 +
|-
 +
!bgcolor=lightgreen|Jabber-клиент
 +
|-
 +
!bgcolor=lightgreen|[[Psi]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Gajim]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|-
 +
!bgcolor=lightgreen|[[Tkabber]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Kopete]]
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Adium]]
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Miranda]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Pidgin]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[QIP Infium]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|'''/quit'''
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
!bgcolor=lightgreen|[[Jabbim]]
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=green|Да
 +
|align=center bgcolor=#FF9999|
 +
|align=center bgcolor=#FF9999|
 +
|-
 +
|}
 +
[http://jabberworld.info/Управляющие_команды_в_Jabber Источник]
 
----
 
----
 
'''Q''': Как соотносятся права в конференции и на канале{{ref|channels}}? <br />
 
'''Q''': Как соотносятся права в конференции и на канале{{ref|channels}}? <br />

Revision as of 15:58, 24 May 2009

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

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

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

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

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

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


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


Q: Какие есть аналоги команд IRC в конференциях?
A: Многие Jabber-клиенты позволяют использовать IRC-подобные команды для управления.

Команда /me /nick /clear /ban /kick /leave /say /topic /names
Jabber-клиент
Psi Да Да Да
Gajim Да Да Да Да Да Да Да Да Да
Tkabber Да Да Да Да Да Да Да
Kopete
Adium Да Да Да Да Да
Miranda Да
Pidgin Да Да Да Да Да Да Да
QIP Infium Да Да Да Да /quit Да
Jabbim Да Да Да Да

Источник


Q: Как соотносятся права в конференции и на каналеTemplate:Ref?
A: В Jabber права делятся на две категории: роли, действующие только в течении одного сеанса (в IRC - установка режимов командой /mode), и типы членства, действующие постоянно (в IRC - внесение в AOP/HOP/VOP списки сервиса ChanServ).

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

  • 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 названия настроек могут отличаться