Plugin:ICQ/ru: Difference between revisions

From Miranda NG
Plugin:ICQ/ru
Jump to navigation Jump to search
(Created page with "Это поведение пришло на десктоп с мобильных устройств. Дело в том, что когда вы получаете те или...")
(Created page with "Вот как это работает. Представим, что вы пользуетесь Android и вам решил позвонить ваш знакомый в What...")
Line 148: Line 148:
Десктопный клиент же просто копирует поведение мобильного.
Десктопный клиент же просто копирует поведение мобильного.


Here is how it works. Imagine that you are using Android and you have decided to call your friend in WhatsApp. He selects your contact in the list, clicks the call icon and then sees the animation of the connection. At this time, his application sends a call to the WhatsApp server. Which, after processing the call, it makes a request to the Google server. In this request, if we translate it into a language understandable to us, there will be something like "display on the device with an application ID having such and such notification of an incoming call from such a contact".
Вот как это работает. Представим, что вы пользуетесь Android и вам решил позвонить ваш знакомый в WhatsApp. Он выбирает ваш контакт в списке, нажимает иконку звонка после чего видит анимацию соединения. В этом время его приложение передаёт вызов на сервер WhatsApp. Который, обработав вызов, делает запрос к серверу Google. В этом запросе, если перевести на понятный нам язык, будет что-то вроде «отобрази на устройстве с приложением имеющим ID такой-то уведомление о входящем звонке с такого-то контакта».


This is done in order to save the battery power of the mobile device. Agree that the "phone periodically connects to Google/Apple servers" scheme is much more energy-efficient than a schemе in which each messenger (and there are often several on the phone) would work continuously, maintaining a connection with its server.
This is done in order to save the battery power of the mobile device. Agree that the "phone periodically connects to Google/Apple servers" scheme is much more energy-efficient than a schemе in which each messenger (and there are often several on the phone) would work continuously, maintaining a connection with its server.

Revision as of 22:32, 18 April 2020

Other languages:
ICQ protocol
ICQ protocol
Имя файла ICQ.dll
Авторы George Hazan
Скачать
Стабильная версия: 32-bit, 64-bit
Версия в разработке: 32-bit, 64-bit

Поддержка протокола ICQ (WIM) в Miranda NG.

Известные проблемы

  • Жители Украины могут испытывать проблемы при подключении, поскольку некоторые адреса, принадлежащие Mail.ru, заблокированы в Украине. Используйте прокси или VPN для обхода блокировок.

Различия между старым и новым протоколами

Важно
Серверы ICQ прекратили поддержку старого протокола OSCAR. Мы написали поддержку нового протокола WIM, но некоторые возможности в нём пока отсутствуют.

OSCAR — протокол, доставшийся Mail.ru при покупке ICQ. Это то, что многие годы называли «ICQ». Он был реализован во всех альтернативных клиентах.

WIM — протокол, который в Mail.ru разработали на смену OSCAR. Он проще, надёжнее и поддерживает многое из того, что OSCAR в принципе не умеет. На данный момент он реализован в официальном клиенте ICQ 10, Miranda NG, R&Q и Mandarin IM. В некоторых аспектах протоколы полностью отличаются друг от друга.

Сравнение возможностей старого и нового протоколов в Miranda NG

OSCAR WIM
Вход UIN+пароль UIN+пароль, телефон+SMS-код, эл.почта+пароль
Беседы
Групповые чаты лишь основные функции
Хранение списка контактов (ростера) на сервере или локально синхронизируется с сервером при каждом подключении
Аватары максимум 60x60 пикселей большие аватары
Отправка контактам, находищимся «не в сети»
«Облачная» история (подгрузка истории с сервера)
Передача файлов ✔ (передача напрямую между пользователями не поддерживается сервером)
Стикеры ✔ (приём их как обычных файлов)
Уведомления о наборе текста
Управление группами (удаление, создание, переименование)
Просмотр сведений о пользователе лишь некоторые данные, доступные в личном кабинете
Изменение сведений о себе только в личном кабинете
Статусы все статусы сервер поддерживает лишь статусы «В сети» и «Не в сети»
Невидимость совмещена с игнорированием
XСтатусы не поддерживаются сервером
Запросы авторизации (другие пользователи не могут добавить меня без разрешения) не поддерживаются сервером
Пометка сообщений прочитанными
Получение информации о том, когда собеседник прочитал сообщение ✔ (с плагином MessageState)
Определение клиента собеседника только некоторые сторонние клиенты (с помощью капсов)


Решение проблем

Не удаётся подключиться к ICQ

Если вы используете более раннюю версию, чем v0.95.10.1, обновитесь до этой или более новой версии. Если даже после обновления не удаётся подключиться, сделайте сетевой лог с неудачной попыткой подключения и прикрепите его к вашему [$bugtracker_сообщению об ошибке].

Неправильный пароль

После обновления до версии 0.95.5 возможны проблемы с подключением к сети. Текст ошибки: Неудачное подключение. Ваш номер или пароль не приняты сервером.

До версии 0.95.4 Miranda не поддерживала пароли ICQ длиннее 8-ми символов. Если вы когда-либо ввели длинный пароль, Miranda сохранила его в базе целиком, но использовала только первые 8 символов. Серверы ICQ тоже не поддерживали длинные пароли. Теперь же максимальная длина пароля увеличена до 16 символов включительно. Соответствующие изменения внесены в плагин Миранды.

Miranda v0.95.5 отправляет ваш когда-то введённый длинный пароль целиком, и сервер справедливо считает его неправильным.

Решение: откройте Настройки → Сеть → <Имя_учётной_записи> и введите в поле «Пароль» первые 8 символов вашего пароля.

Чтобы использовать пароль длиннее 8-ми символов, измените его на сайте ICQ.

Ошибка '"statusText":"Invalid Request. statusDetailCode 1015", "statusDetailCode":1015' в сетевом логе

В большинстве случаев виной тому рассинхронизация времени между вашим компьютером и сервером. Проверьте актуальность и точность системного времени. Синхронизируйте время в настройках операционной системы. Проверьте часовой пояс, а также опцию перехода на зимнее/летнее время. Некоторые пользователи сообщают, что проблема решилась после смены часового пояса на похожий (например, «UTC+03 Москва» → «UTC+03 Минск»).

Как узнать свой UIN

  • войти на сайт ICQ (именно на сайт, а не в веб-клиент!)
  • нажать на своё имя и посмотреть свой UIN
  • выйти с сайта.

При первом запуске с новым протоколом значки некоторых контактов в списке контактов стали бледными

Эти контакты у вас хранились локально в Миранде. По какой-то причине вы никогда не добавляли их в серверный список контактов, поэтому их там нет. Такие контакты Миранда помечает, как NotOnList, и выкидывает в самый низ списка контактов, рисуя их по-другому. При следующем запуске они будут стёрты, что может повлечь пропажу истории. Необходимо сразу же добавить их в постоянный список (пункт в контекстном меню контакта, либо открыть окно беседы и нажать зелёный "плюсик").

Почему у некоторых контактов имя изменилось на «[deleted]»?

Ответ технической поддержки ICQ: Данный аккаунт был удален за длительное неиспользование. Восстановить его невозможно.

Контакты, использующие официальный клиент, постоянно входят в сеть и выходят из неё

Официальный клиен ICQ 10 ставит статус «Не в сети» после 10-15 секунд бездействия. Когда пользователь взаимодействует с клиентом, клиент ставит статус «В сети». Например, точно так же себя ведёт клиент Telegram.

Это поведение пришло на десктоп с мобильных устройств. Дело в том, что когда вы получаете те или иные уведомления, которые отображаются на экране блокировки или в шторке, то нужно понимать, что приходят они не напрямую от сервиса или программы которой вы пользуетесь (например, WhatsApp или ВКонтакте). Получение и отображение таких сообщений осуществляется отдельной службой, которая получает их с помощью серверов производителей ОС (Google, Apple и Microsoft соответственно). Десктопный клиент же просто копирует поведение мобильного.

Вот как это работает. Представим, что вы пользуетесь Android и вам решил позвонить ваш знакомый в WhatsApp. Он выбирает ваш контакт в списке, нажимает иконку звонка после чего видит анимацию соединения. В этом время его приложение передаёт вызов на сервер WhatsApp. Который, обработав вызов, делает запрос к серверу Google. В этом запросе, если перевести на понятный нам язык, будет что-то вроде «отобрази на устройстве с приложением имеющим ID такой-то уведомление о входящем звонке с такого-то контакта».

This is done in order to save the battery power of the mobile device. Agree that the "phone periodically connects to Google/Apple servers" scheme is much more energy-efficient than a schemе in which each messenger (and there are often several on the phone) would work continuously, maintaining a connection with its server.

The desktop client simply copies the behavior of the mobile client.

How to find out which contacts are really unavailable

If the contact stubbornly wishes to use the official client, you can use the Last seen plugin. The plugin receives the last activity time from the protocol (when a contact last interacted with its official client) and displays it in the context menu of the contact.

In addition, Modern contact list can take this information from Last seen and show it directly in the contact list. To do this, you need to turn on the Options → Contact list → Row items → Second line (or "Third line") → Status message.

This information also can be displayed at the Tipper prompt. In the section Options → Customize → Tooltips → Content → Substitutions you need to create the following substitutions:

Label: lastseen_ago
Module: SeenModule
Translation: <prefix>Day|Month|Year|Hours|Minutes|Seconds to the time difference
Label: lastseen_date
Module: SeenModule
Translation: <prefix>Day|Month|Year to date
Label: lastseen_time
Module: SeenModule
Translation: <prefix>Hours|Minutes|Seconds to time

On the same tab, create the following "Element":

Label: Last seen:
Value: %lastseen_date% @ %lastseen_time% (%lastseen_ago% ago)
Show only for contacts

Finally, in the ICQ protocol settings, you can find two useful options that do not allow contacts to go Offline immediately.

Как импортировать историю из QIP

Воспользоваться плагином Import

При каждом подключении к сети от контакта приходят старые ключи SecureIM

Отправьте контакту, от которого приходят такие ключи, любое сообщение.