Социальные сети и чаты

Материал из LUWRAIN Wiki
Перейти к: навигация, поиск

Чаты[править]

Общий функционал для типичных чат-клиентов[править]

  1. регистрация аккаунта (мало кто дает это из интерфейса клиента, например jabber - нет, и нужно идти на сайт и там регистрироваться), но боюсь API на это все равно никто не даст
  2. авторизация, та еще проблема (я помню в irc недостаточно было просто логина и пароля, на сервере были антиспамботы, которые требовали слать сообщение-пароль боту)
  3. определение собеседника (идентификация), кто то по номеру телефона, кто то в строке типа почтового адреса как jabber или irc, кто то свое число как у icq или еще как выкручиваются
    • очень важный момент, управление списком контактов, группы, поиск, в т.ч. по профилю
    • защита от спамеров, в основном это подтверждение желания собеседника быть добавленным в список контактов
    • некоторые месседженеры позволяют пользователю удалять из чужого списка контактов свой
  4. профиль пользователя (редактирование своего, просмотр чужого, и контроль доступа к нему)
    • статусы - текстовая строка и заранее определенные состояния типа 'готов общаться' / 'не беспокоить' и опции типа 'слушаю такую то музыку'
    • карточка пользователя, возраст, фио, телефон,.. другие способы контакта типа email, просто текст и т.п.
    • инвайты, возможность пригласить незарегистрированного клиента (http ссылка, формируемая по какому то правилу сервером), для закрытых собществ инвайты могут быть ограничены количеством и не каждому доступны.
  5. создание/принятие/закрытие комнаты для чата с одним или несколькими собеседниками
  6. собственно прием и отправка сообщений
    • отправка сообщений и получение отчета о доставке/прочтении
    • контроль за отсылкой отчета о получении/прочтении)
    • отправка сообщений о наборе текста (у собеседника появляется информация о том что кто то пишет сообщение)
    • хранение (получение с сервера) истории переписки, поиск по ней
    • отправка/получение файлов и даже их обработка (например авто-проигрывание звукового или видео файла)

Стандарты и клиенты[править]

Jabber (XMPP)[править]

Одна из Java библиотек - SMACK API

Telegram[править]

Описание API - https://core.telegram.org/methods

Maven: org.telegram telegramapi (репозиторий: https://mvnrepository.com/artifact/org.telegram-s)

Git: http://github.com/rubenlagus/TelegramApi

Социальные сети[править]

Стандарты и клиенты[править]

Facebook[править]