This is a story about how to use VK chat in the messenger that you like.
Let this news for several months, but not always good news in time receive due attention.
In the middle of the article is a manual for admins of Jabber servers, in the end - an appeal to Pythonists.
References to proofs.As you know, in early September, VKontakte finished supporting XMPP to access private messages. Jabber community
resented and decided this question differently.
Picture about Jabber and VKontakte from Pavel Durov:

Simultaneously with the closure of XMPP, VK chat has ceased to be available for many instant messengers.
Let's call these "lucky ones."
Mobile
| iOS, Android: Talkonaut, Mail.ru Agent, Jasmine IM, IM +, Imo.im, Bombus, Jimm (Aspro, Multi), all old J2ME clients (including the ones mentioned above), all Symbian, Maemo & Meego clients (Bayan ICQ, QIP PDA 2xxx, etc, except qutIM) and many others
|
Desktop
| Pidgin, Adium, Miranda NG, old versions of QIP (QIP Infium and QIP 2010), qutIM *
|
Web clients
| IM + Web, IMO, Jappix // there seems to be no other for an arbitrary XMPP account?
|
')
Before the advent of Jabber, there was pyvk-t transport on VKontakte. Its development was actively pursued until the appearance of the
native XMPP on VKontakte in the 2010th year. By 2013, it turned out to be abandoned, and the last developers who were
digging it
were developing, reported that in recent versions the transport worked with errors and they did not know its condition.
The issue of using VC messages without having to open the browser has risen with a new force.
1. Native Protocols (VK API)
At the moment, VKontakte messages are supported by three well-known multi-protocol clients, two of them are Windows only.
These are QIP 2012 (QIP IM), Miranda NG and qutIM. If you are lucky to love one of these messengers, then you probably will not need XMPP for VKontakte.
The protocol in QIP was made long before XMPP was canceled,
the protocol for Miranda appeared literally a month ago (strongly after XMPP was closed),
rewritten from scratch.
The protocol in qutIM was implemented for quite a long time (almost earlier than in QIP?).
From mobile clients - only QIP IM (for iOS and Android) has support for VK messages. Moreover, applications for both platforms support only messages (photo support, audio, transfers, etc. are not implemented) and will not be actively developed in the foreseeable future.
A month ago, the
M ++ messenger appeared and is actively developing, which supports XMPP, SMS and VKontakte (via API).
2. Transport VK4XMPP
As I already mentioned, the pyvk-t transport was abandoned, irrelevant, and did not implement additional VKontakte messages — transport developers, and the community as a whole, expected this in their native implementation from VKontakte. Did not happen.
Therefore, when in 2013, the year VKontakte closed XMPP, it turned out to be easier to write a new transport, from scratch.
So
VK4XMPP appeared.
Friendship python and XMPP continues. But not just python.
A little later, the second transport appeared - VKXMPPGATE. Github Description . Information about the author .
It is written in Delphi / Pascal and probably works faster. However, the last commit was made 3 months ago. Therefore, in this article we will discuss VK4XMPP, as the only active project.According to the author, VK4XMPP is a transport from VK to XMPP and back. Unlike the previously existing pyvk-t, it does not parse the page, but works entirely with the VKontakte API, which significantly increases its reliability and stability. Transport does not store passwords, but uses access-token for authorization.
Currently, the transport boasts the following features:
- Receive and send messages;
- Does not store password. Authorization by the key “access-token” issued by VKontakte;
- Automatic key receipt when entering a password (for inexperienced users, the password is not saved)
- Attachments in messages (reception only);
- Forwarded messages and attachments to them (pictures, music, documents, tags on the map);
- List of friends in the roster;
- VCard support for contacts;
- Conference support (group dialogs; test);
- Auto-add friends that you added through the site (only if you were online);
- Statistics of transport.
Not bad, right? I remember that the XMPP server from VKontakte could not boast of such features.
check in
In general terms, the registration process for vehicles is always the same. Instructions for connecting popular customers:
Psi + |
Tkabber |
Gajim |
Miranda |
QIP |
jTalk |
Jimm |
JasmineIM |
PidginRays of good administration jabberon.ru and other enthusiasts.
After successful registration in your jabber account contacts of all friends with their names and online status from VKontakte will appear.
In case of problems, the author recommends to cancel the registration and pass it through Psi +.
To register, you need to select one of the existing servers.
A list of available servers can be found in the wiki project on github.
Vehicle installation
If you have a jabber server, you can pick up the transport at your place. Then even the VK token will be under your control.
Jabber server and Python 2.7 are
required . The remaining libraries are contained in the repository.
It is recommended to use git for installation and updates.
git clone github.com/mrDoctorWho/vk4xmpp.git
Next you need to copy the default config and change a few values.
Go to the folder with the transport and copy the configuration file:
cd vk4xmpp cp Config_example.txt Config.txt
The config is well commented, and there are several installation instructions:
Ubuntu / Debian / etc + EjabberdArch + ProsodyProsodyFor a snack, if your workloads are quite large,
instructions on optimizing the speed of operation and RAM consumption will come in handy.
You can
contact the developer for support and other issues in the conference
simpleapps@conference.jabber.ruHow can I help you
If you have read this far, then your help would be most welcome.
1. The simplest thing:
subscribe to the VK API
bug , help the developer get a response from the VK administration. Both VK4XMPP developer and VKXMPPGATE developer encountered this bug.
2. Chat in the conference. Wish features and good luck!
3. Look at
open requests and, in particular,
about user-friendly behavior. Describe the behavior that you would like.
4. Python-programmers! To be honest, it would be great if someone joins the project. Developers-developers-developers!
However, help with the design (at least icons) will also be very useful;)
Links
VKontakte will disable XMPP support on August 31 - a conversation on Roem with VKontakte comments, my questions to them, as well as comments from the developer QIP
SegaZero and MRA Java
Bachin .
Proofs as
Trillian Miranda qutIM ,
IM + Web died (mobile late, but switched to API),
Imo.imDo you know rule 34?
Everything is XMPP. There are no exceptions.
VK4XMPP repository on github:
github.com/mrDoctorWho/vk4xmpp