Difference between revisions of "Noname Client"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Новые возможности и ссылка на исходники)
m
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
|          logo= <!-- логотип -->
 
|          logo= <!-- логотип -->
 
<!--      Общая информация          -->
 
<!--      Общая информация          -->
|          url= <!-- сайт -->
+
|          url=[http://lek.andreymal.org/jabber/client/ lek-ded.narod.ru] <!-- сайт -->
 
|      language= {{lang|cl|Java}} <!-- язык -->
 
|      language= {{lang|cl|Java}} <!-- язык -->
 
|            os= {{OS|cl|Java ME}} <!-- ОС или платформа -->
 
|            os= {{OS|cl|Java ME}} <!-- ОС или платформа -->
 
|      library= {{lib|JXA}} <!-- jabber-библиотека -->
 
|      library= {{lib|JXA}} <!-- jabber-библиотека -->
 
|      license= {{GPL}} <!-- лицензия -->
 
|      license= {{GPL}} <!-- лицензия -->
|    developer= [[User:Andreymal|AndreyMal]] <!-- разработчик -->
+
|    developer= [[User:Andreymal|andreymal]] <!-- разработчик -->
 
<!--        Характеристики  -->
 
<!--        Характеристики  -->
 
|          i18n=нет <!-- мультиязычность -->
 
|          i18n=нет <!-- мультиязычность -->
 
|      plugins=нет <!-- поддерживает ли он плагины -->
 
|      plugins=нет <!-- поддерживает ли он плагины -->
 
|  acc_profiles= <!-- профили аккаунтов -->
 
|  acc_profiles= <!-- профили аккаунтов -->
|    acc_multi=нет <!-- использование нескольких аккаунтов одновременно -->
+
|    acc_multi=да <!-- использование нескольких аккаунтов одновременно -->
 
|        smiles= <!-- поддержка смайликов -->
 
|        smiles= <!-- поддержка смайликов -->
 
|      history= <!-- хранение истории сообщений -->
 
|      history= <!-- хранение истории сообщений -->
Line 38: Line 38:
 
}}
 
}}
  
<b>noname Client</b>&nbsp;— непонятно зачем и для чего созданный консольный (ещё) [[Jabber]]-[[клиент]], разрабатываемый [[USER:Andreymal|AndreyMal]].
+
<b>noname Client</b>&nbsp;— консольный [[Jabber]]-[[клиент]], разрабатывавшийся [[USER:Andreymal|andreymal]].
  
== История ==
+
=== Команды ===
  
В качестве основы используется [[JXA]]. Первоначально программа называлась '''amj''' (AndreyMal Jabber client), но после гугления пришлось отказаться от этого названия, так как с ним могли быть проблемы.
+
В квадратных скобках указаны необязательные параметры
  
По мере разработки возникало всё больше проблем с интерфейсом. В то же время было большое желание реализовать как можно больше возможностей протокола. Было принято, наверно, безумное решение&nbsp;— сделать графический интерфейс всего лишь дополнением, без которого можно было бы обойтись. Клиент был переписан с нуля и стал консольным. В то же время его временно переименовали в '''noname''', а позже в '''noname Client'''. Нужно придумать название.
+
* добавление аккаунта <pre>addacc <имя> <хост> <пароль> [ <адрес сервера> <порт> <ресурс> ]</pre>
  
== Возможности ==
+
** В ответе будет указан номер нового аккаунта.
  
Так как разработка только-только началась, возможности ещё малы. В данный момент только то, что было в библиотеке JXA. И ещё отправка уведомления о доставке сообщения. Со времён amj его коде осталась добавленная возможность получения закладок и подключения к конференции, но в noname Client они ещё не использованы.
+
* удаление аккаунта <pre>delacc <номер_аккаунта></pre>
  
=== Команды ===
+
* подключение <pre>connect <номер_аккаунта></pre>
 
+
В квадратных скобках указаны необязательные параметры
+
 
+
* подключение <pre>connect <имя> <хост> <пароль> [ <адрес сервера> <порт> <ресурс> ]</pre>
+
  
 
* регистрация <pre>register <имя> <хост> <пароль> [ <адрес сервера> <порт> ]</pre>
 
* регистрация <pre>register <имя> <хост> <пароль> [ <адрес сервера> <порт> ]</pre>
  
* отправка [[информация о присутствии|информации о присутствии]] <pre>presence <получатель> <тип> [ <show> <текст> <приоритет> ]</pre>
+
* отправка [[информация о присутствии|информации о присутствии]] <pre>presence <номер_аккаунта> <получатель> <тип> [ <show> <текст> <приоритет> ]</pre>
 
В качестве получателя и типа можно указать «none», чтобы отправить информацию о присутствии без указания получателя и типа соответственно.
 
В качестве получателя и типа можно указать «none», чтобы отправить информацию о присутствии без указания получателя и типа соответственно.
  
* упрощённая форма предыдущей команды, может использоваться вообще без параметров <pre>status [ <show> <текст> <приоритет> <название_клиента> <версия_клиента> ]</pre>  
+
* упрощённая форма предыдущей команды, может использоваться вообще без параметров (кроме номера аккаунта) <pre>status <номер_аккаунта> [ <show> <текст> <приоритет> <название_клиента> <версия_клиента> ]</pre>  
 
** show - тип статуса: '''online''' - онлайн, '''chat''' - готов поболтать, '''away''' - отошёл, '''xa''' - недоступен, '''dnd''' - не беспокоить.
 
** show - тип статуса: '''online''' - онлайн, '''chat''' - готов поболтать, '''away''' - отошёл, '''xa''' - недоступен, '''dnd''' - не беспокоить.
  
* отключение <pre>disconnect</pre>
+
* отключение <pre>disconnect <номер_аккаунта></pre>
  
* отправка сообщения <pre>message <получатель> <тип> <подтверждение> <ID> <текст></pre> Подтверждение (0 или 1) и ID в настоящее время игнорируются. В качестве типа можно указать «none», чтобы отправить сообщение без указания его типа.
+
* отправка сообщения <pre>message <номер_аккаунта> <получатель> <тип> <подтверждение> <ID> <текст></pre> Подтверждение (0 или 1) и ID в настоящее время игнорируются. В качестве типа можно указать «none», чтобы отправить сообщение без указания его типа.
 
** В параметре &laquo;тип&raquo; указывается тип письма: '''normal''' - обычное, '''chat''' - чат, '''groupchat''' - для конференции.
 
** В параметре &laquo;тип&raquo; указывается тип письма: '''normal''' - обычное, '''chat''' - чат, '''groupchat''' - для конференции.
  
* Диско <pre>disco <получатель> [ <info или items> <ID> ]</pre>
+
* Диско <pre>disco <номер_аккаунта> <получатель> [ <info или items> <ID> ]</pre>
 
** info - зпарос информации, items - запрос списка сервисов.
 
** info - зпарос информации, items - запрос списка сервисов.
 
** Можно дискаверить также контакты (info) и конференции (items).
 
** Можно дискаверить также контакты (info) и конференции (items).
Line 75: Line 71:
 
* чистка консоли (работает с глюками) <pre>clear</pre>
 
* чистка консоли (работает с глюками) <pre>clear</pre>
  
* Запрос [[Ростер|списка контактов]] <pre>getroster</pre>
+
* Запрос [[Ростер|списка контактов]] <pre>getroster <номер_аккаунта></pre>
  
* Запрос закладок <pre>getbook</pre>
+
* Запрос закладок <pre>getbook <номер_аккаунта></pre>
  
* Удаление подключенного аккаунта <pre>removeacc</pre>
+
* Удаление подключенного аккаунта <pre>removeacc <номер_аккаунта></pre>
  
* управление графическим интерфейсом <pre>gui on|off|min</pre> Так как его ещё нету, можно не использовать.
+
* управление графическим интерфейсом <pre>gui on|off|min</pre>
  
* список всех команд, а также справка по конкретной команде <pre>help [ <команда> ]</pre>
+
* список всех команд, а также справка по конкретной команде (может работать некорректно) <pre>help [ <команда> ]</pre>
  
 
* выход <pre>exit</pre>
 
* выход <pre>exit</pre>
Line 95: Line 91:
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
  
После подключения необходимо отправить статус (команда '''status''').
+
После подключения необходимо отправить статус (команда '''status <номер_аккаунта>''').
  
 
== Управление подпиской ==
 
== Управление подпиской ==
Line 101: Line 97:
 
Так как подписка управляется через presence, можно использовать следующие команды:
 
Так как подписка управляется через presence, можно использовать следующие команды:
  
* Запрос подписки <pre>presence <JID> subscribe</pre>
+
* Запрос подписки <pre>presence <номер_аккаунта> <JID> subscribe</pre>
 
+
* Дать подписку <pre>presence <JID> subscribed</pre>
+
  
* Отписаться <pre>presence <JID> unsubscribe</pre>
+
* Дать подписку <pre>presence <номер_аккаунта> <JID> subscribed</pre>
  
* Забрали подписку <pre>presence <JID> unsubscribed</pre>
+
* Отписаться <pre>presence <номер_аккаунта> <JID> unsubscribe</pre>
  
 
== Конференции ==
 
== Конференции ==
  
 
Подключение:
 
Подключение:
  presence комната/ник available
+
  presence номер_аккаунта комната/ник available
  
 
Пример:
 
Пример:
  presence support@conference.jabber.ru/Vasya available chat А_вот_и_я! 5
+
  presence 0 support@conference.jabber.ru/Vasya available chat А_вот_и_я! 5
  
 
Сообщение в конференцию:
 
Сообщение в конференцию:
  message комната groupchat 0 id текст
+
  message номер_аккаунта комната groupchat 0 id текст
  
 
Пример:
 
Пример:
  message support@conference.jabber.ru groupchat 0 id !?? bots
+
  message 0 support@conference.jabber.ru groupchat 0 id !?? bots
  
 
Отключиться:
 
Отключиться:
  presence комната/ник unavailable
+
  presence номер_аккаунта комната/ник unavailable
  
 
== Загрузить ==
 
== Загрузить ==
  
Скачать можно только отсюда: [http://lek-ded.narod.ru/files/noname.jar JAR] (23кб) или [http://lek-ded.narod.ru/files/noname.zip ZIP] плюс исходные коды и небольшая справка для разработчиков (37кб).
+
Скачать можно отсюда: [http://lek.andreymal.org/jabber/client/noname002.jar JAR] (15кб).

Latest revision as of 15:05, 13 March 2015

В соответствии с принятыми в данной вики договорённостями, правильное название этой статьи — noname Client.
noname Client
Информация
Сайт: lek-ded.narod.ru
Язык: Java
ОС/платформа: Java ME
Библиотека: JXA
Лицензия: GPL
Разработчик: andreymal
Характеристики
Мультиязычность: нет
Поддержка плагинов: нет
Несколько аккаунтов одновременно: да
Поддержка стандартов
Обзор сервисов: да
Конференции: да (частично)
Закладки: да
Правка vCard: нет
Сжатие трафика: нет
Шифрование трафика: нет


noname Client — консольный Jabber-клиент, разрабатывавшийся andreymal.

Команды[edit]

В квадратных скобках указаны необязательные параметры

  • добавление аккаунта
    addacc <имя> <хост> <пароль> [ <адрес сервера> <порт> <ресурс> ]
    • В ответе будет указан номер нового аккаунта.
  • удаление аккаунта
    delacc <номер_аккаунта>
  • подключение
    connect <номер_аккаунта>
  • регистрация
    register <имя> <хост> <пароль> [ <адрес сервера> <порт> ]

В качестве получателя и типа можно указать «none», чтобы отправить информацию о присутствии без указания получателя и типа соответственно.

  • упрощённая форма предыдущей команды, может использоваться вообще без параметров (кроме номера аккаунта)
    status <номер_аккаунта> [ <show> <текст> <приоритет> <название_клиента> <версия_клиента> ]
    • show - тип статуса: online - онлайн, chat - готов поболтать, away - отошёл, xa - недоступен, dnd - не беспокоить.
  • отключение
    disconnect <номер_аккаунта>
  • отправка сообщения
    message <номер_аккаунта> <получатель> <тип> <подтверждение> <ID> <текст>
    Подтверждение (0 или 1) и ID в настоящее время игнорируются. В качестве типа можно указать «none», чтобы отправить сообщение без указания его типа.
    • В параметре «тип» указывается тип письма: normal - обычное, chat - чат, groupchat - для конференции.
  • Диско
    disco <номер_аккаунта> <получатель> [ <info или items> <ID> ]
    • info - зпарос информации, items - запрос списка сервисов.
    • Можно дискаверить также контакты (info) и конференции (items).
  • чистка консоли (работает с глюками)
    clear
  • Запрос закладок
    getbook <номер_аккаунта>
  • Удаление подключенного аккаунта
    removeacc <номер_аккаунта>
  • управление графическим интерфейсом
    gui on|off|min
  • список всех команд, а также справка по конкретной команде (может работать некорректно)
    help [ <команда> ]
  • выход
    exit

Интерфейс[edit]

Две формы: консоль (текст) и окно ввода. Есть возможность подключить GUI. Так как используются только стандартные элементы интерфейса (без внешнего GUI), возможно, можно использовать на чёрно-белых телефонах.

Подключение[edit]

Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.

После подключения необходимо отправить статус (команда status <номер_аккаунта>).

Управление подпиской[edit]

Так как подписка управляется через presence, можно использовать следующие команды:

  • Запрос подписки
    presence <номер_аккаунта> <JID> subscribe
  • Дать подписку
    presence <номер_аккаунта> <JID> subscribed
  • Отписаться
    presence <номер_аккаунта> <JID> unsubscribe

Конференции[edit]

Подключение:

presence номер_аккаунта комната/ник available

Пример:

presence 0 support@conference.jabber.ru/Vasya available chat А_вот_и_я! 5

Сообщение в конференцию:

message номер_аккаунта комната groupchat 0 id текст

Пример:

message 0 support@conference.jabber.ru groupchat 0 id !?? bots

Отключиться:

presence номер_аккаунта комната/ник unavailable

Загрузить[edit]

Скачать можно отсюда: JAR (15кб).