Difference between revisions of "Noname Client"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(наведение порядка)
m
 
(5 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 20: Line 20:
 
|  filetransfer= <!-- способы передачи файлов -->
 
|  filetransfer= <!-- способы передачи файлов -->
 
|      privacy= <!-- списки приватности -->
 
|      privacy= <!-- списки приватности -->
|        disco= <!-- дискавери -->
+
|        disco=да <!-- дискавери -->
 
|        adhoc= <!-- вызов Ad-Hoc команд -->
 
|        adhoc= <!-- вызов Ad-Hoc команд -->
 
|            rc= <!-- удаленное управление клиентом через Ad-hoc -->
 
|            rc= <!-- удаленное управление клиентом через Ad-hoc -->
|          muc= <!-- поддержка конференций -->
+
|          muc=да (частично) <!-- поддержка конференций -->
|    bookmarks= <!-- закладки -->
+
|    bookmarks=да <!-- закладки -->
 
|      headline= <!-- новости -->
 
|      headline= <!-- новости -->
|        vcard= <!-- просмотр и редактирование Vcard -->
+
|        vcard=нет <!-- просмотр и редактирование Vcard -->
|          zip= <!-- сжатие трафика (XEP-0138) -->
+
|          zip=нет <!-- сжатие трафика (XEP-0138) -->
|        crypt= <!-- шифрование трафика -->
+
|        crypt=нет <!-- шифрование трафика -->
 
|          pgp= <!-- шифрование сообщений (GPG/PGP) -->
 
|          pgp= <!-- шифрование сообщений (GPG/PGP) -->
 
|        pubsub= <!-- работа с PubSub -->
 
|        pubsub= <!-- работа с PubSub -->
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>register <имя> <хост> <пароль> [ <адрес сервера> <порт> ]</pre>
 +
 
 +
* отправка [[информация о присутствии|информации о присутствии]] <pre>presence <номер_аккаунта> <получатель> <тип> [ <show> <текст> <приоритет> ]</pre>
 +
В качестве получателя и типа можно указать «none», чтобы отправить информацию о присутствии без указания получателя и типа соответственно.
 +
 
 +
* упрощённая форма предыдущей команды, может использоваться вообще без параметров (кроме номера аккаунта) <pre>status <номер_аккаунта> [ <show> <текст> <приоритет> <название_клиента> <версия_клиента> ]</pre>
 +
** show - тип статуса: '''online''' - онлайн, '''chat''' - готов поболтать, '''away''' - отошёл, '''xa''' - недоступен, '''dnd''' - не беспокоить.
 +
 
 +
* отключение <pre>disconnect <номер_аккаунта></pre>
 +
 
 +
* отправка сообщения <pre>message <номер_аккаунта> <получатель> <тип> <подтверждение> <ID> <текст></pre> Подтверждение (0 или 1) и ID в настоящее время игнорируются. В качестве типа можно указать «none», чтобы отправить сообщение без указания его типа.
 +
** В параметре &laquo;тип&raquo; указывается тип письма: '''normal''' - обычное, '''chat''' - чат, '''groupchat''' - для конференции.
 +
 
 +
* Диско <pre>disco <номер_аккаунта> <получатель> [ <info или items> <ID> ]</pre>
 +
** info - зпарос информации, items - запрос списка сервисов.
 +
** Можно дискаверить также контакты (info) и конференции (items).
  
* подключение <pre>connect <имя> <хост> <пароль> [ <адрес сервера> <порт> <ресурс> ]</pre>
 
* отправка [[информация о присутствии|информации о присутствии]] <pre>presence <получатель> <тип> [ <show> <текст> <приоритет> ]</pre> В качестве получателя и типа можно указать «none», {{fixme|и что это будет символизировать?}} {{fixme|что такое show?}}
 
* упрощённая форма предыдущей команды, может использоваться вообще без параметров <pre>status [ <show> <текст> <приоритет> <caps> <ver> ]</pre> {{fixme|что такое show?}} {{fixme|что такое caps?}} {{fixme|что такое ver?}}
 
* отключение <pre>disconnect</pre>
 
* отправка сообщения <pre>message <получатель> <тип> <подтверждение> <ID> <текст></pre> Подтверждение (0 или 1) и ID в настоящее время игнорируются. В качестве типа можно указать «none», {{fixme|и что это будет символизировать?}}
 
 
* чистка консоли (работает с глюками) <pre>clear</pre>
 
* чистка консоли (работает с глюками) <pre>clear</pre>
* управление графическим интерфейсом <pre>gui on|off|min</pre> Так как его ещё нету, можно не использовать.
+
 
* список всех команд {{fixme|или справка по конкретной команде}} <pre>help [ <команда> ]</pre>
+
* Запрос [[Ростер|списка контактов]] <pre>getroster <номер_аккаунта></pre>
 +
 
 +
* Запрос закладок <pre>getbook <номер_аккаунта></pre>
 +
 
 +
* Удаление подключенного аккаунта <pre>removeacc <номер_аккаунта></pre>
 +
 
 +
* управление графическим интерфейсом <pre>gui on|off|min</pre>
 +
 
 +
* список всех команд, а также справка по конкретной команде (может работать некорректно) <pre>help [ <команда> ]</pre>
 +
 
 +
* выход <pre>exit</pre>
  
 
=== Интерфейс ===
 
=== Интерфейс ===
  
Две формы: консоль (текст) и окно ввода. Есть возможность подключить GUI, но ему ещё ничего не передаётся, поэтому это бесполезно. Так как используются только стандартные элементы интерфейса, возможно, при компиляции под MIDP1 можно использовать на чёрно-белых телефонах.
+
Две формы: консоль (текст) и окно ввода. Есть возможность подключить GUI. Так как используются только стандартные элементы интерфейса (без внешнего GUI), возможно, можно использовать на чёрно-белых телефонах.
  
 
=== Подключение ===
 
=== Подключение ===
  
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
 +
 +
После подключения необходимо отправить статус (команда '''status <номер_аккаунта>''').
 +
 +
== Управление подпиской ==
 +
 +
Так как подписка управляется через presence, можно использовать следующие команды:
 +
 +
* Запрос подписки <pre>presence <номер_аккаунта> <JID> subscribe</pre>
 +
 +
* Дать подписку <pre>presence <номер_аккаунта> <JID> subscribed</pre>
 +
 +
* Отписаться <pre>presence <номер_аккаунта> <JID> unsubscribe</pre>
 +
 +
== Конференции ==
 +
 +
Подключение:
 +
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
  
 
== Загрузить ==
 
== Загрузить ==
  
Скачать можно только [http://lek-ded.narod.ru/files/noname.jar отсюда] (14кб). Но стоит ли?..
+
Скачать можно отсюда: [http://lek.andreymal.org/jabber/client/noname002.jar JAR] (15кб).

Latest revision as of 14: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кб).