Miranda NG Official Community Forum

Miranda NG русскоязычный форум => Плагины => Topic started by: AshenLight on 04 02 2026, 10:13:03

Title: VKontakte: несоответствие количества друзей на сайте и в Миранде
Post by: AshenLight on 04 02 2026, 10:13:03
Обратил внимание, что в Миранде друзей больше процентов на 40, чем на сайте. В настройках отметил чекбокс "Удалить контакты, не являющиеся друзьями". Зашёл повторно. Теперь друзей стало процентов на 10 меньше, чем на сайте. Исследую дальше: онлай 11 против 70-ти в Миранде. Попробовал проверить несколько контактов из списка Миранды поиском по списку на сайте, а там таких и нет (по крайней мере, в списке друзей), хотя в основном имеются.
Чего ещё аномального заметил.. Впрочем, это уже не по адресу. Несколько дней назад количество друзей онлайн на соответствующей вкладке резко уменьшилось. Если контакт из Миранды взять и проверить, может и онлайн оказаться.
Допустим, Миранда согласно настройкам обновляет статусы редко, поэтому часть тех, кто в онлайне, по факту вышли. Но как объяснить наличие совсем в списке не числящихся?
И опять не по адресу.) У меня есть подозрения, что часть когда-то добавленных в список, полностью сменили информацию о себе, будучи.. ботами. Удалённые, но остававшиеся в списке, могли оказаться заново зарегистрированными со старыми ID? Сомневаюсь. Очень странно выглядят блокировки неизвестной длительности пользователей, которых уж точно не за что блокировать.
Title: Re: VKontakte: несоответствие количества друзей на сайте и в Миранде
Post by: Elzor on 05 02 2026, 05:44:25
По контактлисту - здесь два момента:
1. Контактлист состоит из друзей + многопользовательские чаты + селфконтакт + специальный контакт для новостей (если включен) + контакты с кем есть диалог на сайте.
Загрузка диалогов в контактлист отключается установкой опции "Добавлять в список контактов только друзей", после ее включения лучше выйти в оффлайн и вернуться в онлайн или запустить из меню протокола "Удалить контакты, не являющиеся друзьями".
Плюс некоторое количество контактов из многопользовательских чатов. По идее, они скрыты, но их можно увидеть в редакторе базы, например.
2. Друзья обрабатываются не все, а только максимум 1000. Это количество можно увеличить, задав через редактор базы параметр MaxFriendsCount (DWORD) в ветке протокола. Если параметр больше 5000, то он игнорируется и обрабатывается максимум 1000 друзей.
В общем виде не гарантируется, что от запроса к запросу это будет одна и та же 1000 друзей, так что за сессию может суммарно получиться чуть большее количество в контактлисте.

Что касается статусов, то что получили от сервера, то и показали. Другое дело, что всегда есть некоторый временной лаг, а кроме того, неоднократно замечено, что сервер через api не всегда отдает те же статусы что на сайте.