Ejabberd - установить вард для другого пользователя

Можно ли добавить vcard для другого пользователя jabber в ejabberd. Я вошел в систему как [email protected]. При создании пользователей на моем веб-сайте я регистрирую учетную запись jabber для того же пользователя. Теперь мне нужно добавить vcards для этих пользователей. При попытке добавить vcard для нового пользователя я вижу, что запись vcard добавляется к текущему вошедшему в систему пользователю (в моем случае это [email protected]). Я использую библиотеку strophe, и код, используемый для добавления vcard, выглядит следующим образом.

iq = $iq({ type: 'set', to: '[email protected]' }).c('vCard', { xmlns:'vcard-temp' }).c('PHOTO').c('EXTVAL', 'http://image_url/image.jpg'); conn.sendIQ(iq);

Но я могу добиться того же, используя ejabberdctl set_vcard jabber_id domain PHOTO img.jpg из CLI

Цель состоит в том, чтобы добавить изображения профилей для пользователей. У меня есть изображения профилей, сохраненные на моем сервере для каждого пользователя, зарегистрированного на моем сайте. В настоящее время я делаю вызов ajax для получения изображения профиля пользователя. Есть ли альтернатива этому? Любая помощь будет действительно ценна.


person Vivek Mohan    schedule 02.06.2016    source источник


Ответы (1)


Протокол XMPP не определяет способ редактирования vcard для других пользователей, и ejabberd не реализует что-то специальное, позволяющее это сделать.

Вы можете использовать серверную базу данных для Vcard или написать собственный плагин для серверной части Vcard в соответствии с вашими потребностями.

person Mickaël Rémond    schedule 03.06.2016
comment
Спасибо за ответ. Я попробую с пользовательским плагином. - person Vivek Mohan; 03.06.2016