Difference between revisions of "Noname Client"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Заполнение и дописывание информации)
m
 
(4 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 -->
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>connect <имя> <хост> <пароль> [ <адрес сервера> <порт> <ресурс> ]</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>
 +
** info - зпарос информации, items - запрос списка сервисов.
 +
** Можно дискаверить также контакты (info) и конференции (items).
  
 
* чистка консоли (работает с глюками) <pre>clear</pre>
 
* чистка консоли (работает с глюками) <pre>clear</pre>
  
* Запрос списка контактов <pre>getroster</pre>
+
* Запрос [[Ростер|списка контактов]] <pre>getroster <номер_аккаунта></pre>
  
* управление графическим интерфейсом <pre>gui on|off|min</pre> Так как его ещё нету, можно не использовать.
+
* Запрос закладок <pre>getbook <номер_аккаунта></pre>
  
* список всех команд, а также справка по конкретной команде <pre>help [ <команда> ]</pre>
+
* Удаление подключенного аккаунта <pre>removeacc <номер_аккаунта></pre>
 +
 
 +
* управление графическим интерфейсом <pre>gui on|off|min</pre>
 +
 
 +
* список всех команд, а также справка по конкретной команде (может работать некорректно) <pre>help [ <команда> ]</pre>
  
 
* выход <pre>exit</pre>
 
* выход <pre>exit</pre>
Line 79: Line 85:
 
=== Интерфейс ===
 
=== Интерфейс ===
  
Две формы: консоль (текст) и окно ввода. Есть возможность подключить GUI, но ему ещё ничего не передаётся, поэтому это бесполезно. Так как используются только стандартные элементы интерфейса, возможно, при компиляции под MIDP1 можно использовать на чёрно-белых телефонах.
+
Две формы: консоль (текст) и окно ввода. Есть возможность подключить GUI. Так как используются только стандартные элементы интерфейса (без внешнего GUI), возможно, можно использовать на чёрно-белых телефонах.
  
 
=== Подключение ===
 
=== Подключение ===
Line 85: Line 91:
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
 
Без сжатия, без шифрования, пароль открытым текстом. Зато быстро.
  
После подключения необходимо отправить статус (команда '''status''').
+
После подключения необходимо отправить статус (команда '''status <номер_аккаунта>''').
 +
 
 +
== Управление подпиской ==
 +
 
 +
Так как подписка управляется через presence, можно использовать следующие команды:
 +
 
 +
* Запрос подписки <pre>presence <номер_аккаунта> <JID> subscribe</pre>
 +
 
 +
* Дать подписку <pre>presence <номер_аккаунта> <JID> subscribed</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 отсюда] (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кб).