Recent Posts

Pages: 1 [2] 3 4 ... 10
11
Разработка / Re: Протокол VKontakte
« Last post by Elzor on 23 06 2025, 12:45:16 »
Еще раз повторяю:
В любом случае нетлог нужен момента непосредственно перед "девяткой" (пара минут до). Именно перед, после - уже не интересно.
Понятно, что если бан уже получен, то с этим ничего не сделать, кроме как подождать. Ценность информации о том, что кто-то получил бан за флуд users.get и теперь не может стартовать, без информации о том, при каких обстоятельствах этот бан получен, околонулевая. Ниже нее только ценность непрошеных советов и оценочных суждений о полезности каких-либо запросов к серверу. 

Кратко:

Да, первый запрос users.get при старте протокола действительно делает только одно: возвращает информацию о текущем аккаунте. Если это не самый первый запуск после создания аккаунта, без этой информации действительно можно вполне стартовать. Тут разве что информация о смене собственного имени, пока миранда была в оффлайне будет пропущена. Стартовать без этого можно. Но не нужно. Если самый первый user.get вернул error 9, то и все оставшиеся user.get вернут то же самое. А на них много что завязано. В частности без них нельзя получить информацию ни о статусах контактов, ни вообще информацию о контактах и друзьях, ни информацию о пользователях мультичатов, ни об источниках пересылаемых сообщений. Да даже имена друзей без него не получить. Кому-то нужен в онлайне протокол, у которого в клисте все в оффлайне, а в чатах одни «Неизвестные контакты»? Ну, может спамерам разве что, но наверняка у них есть более специализированные инструменты.

Про лонгпул изменений статусов, если что, мне говорить не надо – он, во-первых, используется, во-вторых, очень часто он попросту не присылает изменений, когда они есть. Потому отдельно статусы и приходится опрашивать. И user.get сам по себе вдруг может вернуть пустой ответ, а через несколько секунд – уже нормальный.

Скорее всего, проблема в том, что при некоторых условиях опрос о статусах контактов сервер считает флудом. А в подавляющем большинстве случаев - не считает. Поэтому именно лог ДО получения бана важен, там проблема. После - просто следствие.

После "правильного" лога -Вовчик-а пришлось отказаться от опроса через серверные процедуры, унести это полностью на клиентскую сторону. Тут хоть паузу между запросам можно поставить и что-то динамически проанализировать, не говоря уже про то, что тут логирование принципиально лучше. Оказалось, этого недостаточно - нужен новый  лог с причиной бана. Пока такого лога нет, я могу только рулить частотой опроса. Пока что (завтра, скорее всего) отключу повторный запрос статуса у пачки контактов, если вернулся пустой ответ и увеличу интервал между циклами опроса.

12
Разработка / Re: Протокол VKontakte
« Last post by MIR on 22 06 2025, 22:18:42 »
Скорее всего, в следующем ночнике (версия плагина 0.1.19.0) проблема с блокировкой за флуд пофикшена. Если вдруг нет, можно попробовать создать в базе DWORD-параметр TimeoutAfterUserGet и присвоить ему, скажем, 2000.
Неа, не помогает, лог скинул ниже, насколько понял вырубается ещё на стадии запроса инфы о текущем юзере.
Дак сделай игнор дальнейших запросов инфы и аватаров при возникновении ошибки 9 и повторные запросы или автоматически по заданному таймауту к примеру минут через 30 или когда открываеш чят с конкретным контактом.
Посути эти запросы бесполезные т.к. миранда итак всё это в базе хранит, а на сервере если чтото меняется то очень редко.

Code: [Select]
[2025-06-23 2:55:20 0524] CVkProto::SetStatus iNewStatus = 40078, m_iStatus = 40071, m_iDesiredStatus = 40071 m_hWorkerThread = 0
[2025-06-23 2:55:20 0524] CVkProto::SetStatus (2) iNewStatus = 40078, m_iStatus = 1, m_iDesiredStatus = 40078 oldStatus = 40071
[2025-06-23 2:55:20 0524] CVkProto::SetStatus (ret) iNewStatus = 40078, m_iStatus = 1, m_iDesiredStatus = 40078 oldStatus = 40071
[2025-06-23 2:55:20 0C0C] CVkProto::WorkerThread: entering
[2025-06-23 2:55:20 0524] KeepStatus: assigning status 40078 (40071, 0) to VKs
[2025-06-23 2:55:20 0C0C] CVkProto::RetrieveMyInfo
[2025-06-23 2:55:20 0C0C] CVkProto::Push
[2025-06-23 2:55:20 0C0C] CVkProto::ApplyCookies
[2025-06-23 2:55:20 0C0C] CVkProto::ExecuteRequest
====
https://api.vk.com/method/users.get
access_token=*secret*&v=5.199&lang=ru
====
[2025-06-23 2:55:20 0C0C] Connection request to api.vk.com:443 (Flags 11)....
[2025-06-23 2:55:20 0C0C] (02ED0AE0) Connecting to server api.vk.com:443....
[2025-06-23 2:55:20 0C0C] (02ED0AE0) Connecting to ip 87.240.190.75:443 ....
[2025-06-23 2:55:20 0C0C] (580) Connected to api.vk.com:443
[2025-06-23 2:55:20 0C0C] (580 api.vk.com) Starting SSL/TLS negotiation
[2025-06-23 2:55:20 0C0C] (580 api.vk.com) SSL/TLS negotiation successful
[2025-06-23 2:55:20 0C0C] CVkProto::GrabCookies: remixir=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.vk.com; secure; HttpOnly
[2025-06-23 2:55:20 0C0C] CVkProto::SaveCookies: httoken=*
[2025-06-23 2:55:20 0C0C] CVkProto::OnReceiveMyInfo 200
[2025-06-23 2:55:20 0C0C] CVkProto::CheckJsonResponse
[2025-06-23 2:55:20 0C0C] CVkProto::CheckJsonResult
[2025-06-23 2:55:20 0C0C] CVkProto::CheckJsonResult 9
[2025-06-23 2:55:20 0C0C] CVkProto::CheckJsonResult SendError
[2025-06-23 2:55:20 0C0C] CVkProto::ConnectionFailed ShutdownSession
[2025-06-23 2:55:20 0C0C] CVkProto::ShutdownSession
[2025-06-23 2:55:20 0C0C] CVkProto::OnLoggedOut
[2025-06-23 2:55:20 0C0C] CVkProto::SetAllContactStatuses (40071)
[2025-06-23 2:55:20 0C0C] CVkProto::CloseAPIConnection 0
[2025-06-23 2:55:20 0C0C] (02ED0AE0:580) Connection closed internal
[2025-06-23 2:55:20 0C0C] (02ED0AE0:4294967295) Connection closed
[2025-06-23 2:55:20 0C0C] CVkProto::WorkerThread: leaving m_bTerminated = 1


P.S. Неуверен что конкретно к протоколу ВК это относится, но на всякий случяй напишу: 
Миранда через дня три непрерывной работы начинает потреблять практически 300мб ОЗУ несмотря на то что все окна чятов закрыты, помогает только перезапуск, тогда не больше 80мб жерёт, такое ощющение что всё что идёт из ВК кэшируется в ОЗУ, даже если окна чятов не открывать.
13
Разработка / Re: Протокол VKontakte
« Last post by Elzor on 17 06 2025, 15:02:13 »
Скорее всего, в следующем ночнике (версия плагина 0.1.19.0) проблема с блокировкой за флуд пофикшена.
Если вдруг нет, можно попробовать создать в базе DWORD-параметр TimeoutAfterUserGet и присвоить ему, скажем, 2000. Больше 5000 задавать бесполезно. Это таймаут в миллисекундах между запросами, которые похоже порождали проблему. "Просто так" и "на всякий случай" задавать этот параметр не надо. Если выяснится, что в нем нет реальной необходимости, я его потом удалю.
15
Support/Help / can't get miranda-ng to send a message on facebook
« Last post by jedbarton on 08 06 2025, 22:37:02 »
Hey guys. Hope everyone is doing well. I love miranda-ng, but am running in to a problem. Perhaps it's me, but wanted to ask. I am running the latest version. I have it set to log in my facebook. I use it as a messaging client. I can see a bunch of my friends lin line, I open up their name, type a message and press enter to send, and the message doesn't go out. This has been happening for months. Any thoughts on what to do. 1 day it just stopped working. Any help would be super appreciated.
16
Support/Help / Re: Plugin Updater keeps faililng
« Last post by mirandam on 07 06 2025, 12:00:27 »
Any findings?
17
Плагины / Re: NewStory
« Last post by MIR on 06 06 2025, 15:07:09 »
Звук в настройке звуков у меня исправно воспроизводится по нажатию Preview


У меня там тоже всё настроено норм. Щяс комп ребутнул - исправилось.
Какойто баг с мирандой и микшером иногда возникает.
В микшере есть Общяя громкость,  Звук, Синтезатор и т.д. на всех программах работает корректно, но на миранде иногда звук пропадает хотя в микшере всё норм.
Щас комп ребутнул, запустил миранду, глянул в микшере там пункт Звук - убавлен до нуля, хотя в миранде звук включен, прибавил на максимум - на миранде звук заработал, хотя до ребута как микшер не вертел - на миранде звук не работал, перезапуск миранды тоже не помогал. При этом на плеере и на всех остальных программах звук работал нормально.
18
Плагины / Re: NewStory
« Last post by dartraiden on 06 06 2025, 11:19:17 »
NS будет исправлен в ближайшем билде.

Звук в настройке звуков у меня исправно воспроизводится по нажатию Preview
19
Разработка / Re: Протокол VKontakte
« Last post by MIR on 06 06 2025, 00:17:34 »
Если это так, то очень полезно было бы момент смены IP и все что сразу за ним поймать в нетлог.


IP тут похоже роли не играет, потомучто у меня он бывает месяцами не меняется, ошибка 9 возникает рандомно, при этом не зависимо от активности писал комуто чтото или миранда просто фоном висела.

Заметил на Kate интересную особенность, иногда когда открываю чят с некоторыми контактами то появляется сообщение Flood control или чтото подобное, при этом если открыть чят с другими контактами этого сообщения нет. Щяс речь не о групповых чятах а личных сообщениях если что. При этом сообщения отправляются и принимаются нормально.
Не факт что триггериться на историю сообщений, возможно на попытку обновить аватар или какуюнибуть информацию о контакте.
Бывают и в группах изредка подобные проблемы, при просмотре или отправки коментариев к постам у некоторых юзеров не появляется имя и аватар, когда тыкаеш чтобы просмотреть их профиль - там тоже пустота, ни информации ни аватара, но через какоето время минут 30, если глянуть снова коменты или профиль то инфа о юзере там есть. Несмотря на всё это отправка коментариев и чтение новых также нормально работают.
Такчто вероятная причина в загрузке аватаров и инфе о юзерах.

Но я, собственно, не очень понимаю, чем я могу помочь. Проблема не массовая, у меня ее лично нет, чтобы ее получить нужны специфические условия. Дать возможность настраивать таймаут между запросами, чтобы уходило не максимум три запроса в секунду, а в произвольный интервал?

У меня в ВК примерно 1500 контактов и таже хрень.
Как минимум сделать игнор загрузки того что не может на данный момент загрузиться, если следующий запрос схожий и тоже выдаёт ошибку то отключить все последующие запросы данного типа для остальных контактов. Через заданное время повторить попытку. Тотже Kate насколько понял так и делает, а миранда сразу сходу вырубается.

Судя по логу какраз при загрузке данных профиля ошибка возникает сразу при старте.
Code: [Select]
CVkProto::OnReceiveMyInfo 200
CVkProto::CheckJsonResponse
CVkProto::CheckJsonResult
CVkProto::CheckJsonResult 9
CVkProto::CheckJsonResult SendError
CVkProto::ConnectionFailed ShutdownSession
CVkProto::ShutdownSession
CVkProto::OnLoggedOut
CVkProto::SetAllContactStatuses (40071)
CVkProto::CloseAPIConnection 0
(049AED28:660) Connection closed internal
(049AED28:4294967295) Connection closed
20
Плагины / Re: NewStory
« Last post by MIR on 05 06 2025, 23:53:00 »
Исправлено в версии в разработке.

Опять отвалился, таже самая ошибка. Ктомуже ещё звуковые уведомления перестали работать, даже если в настройках звуков нажать Тест.
На данный момент версия 0.96.7 alpha build #4527 (278dc8f)
Pages: 1 [2] 3 4 ... 10