Запрос авторизации (Добавить в список) Использование Strophe.js
-
14-11-2019 - |
Вопрос
Я использую lethe.js Библиотека для отправки и получения сообщений XMPP в браузере.Работает нормально, но только для пользователей у меня уже есть в моем списке контактов - реестра.
Мне нужно добавить кого-то (чей адрес, который я знаю) на мой список.Как я могу достичь этого, используя Strophe.js?Это важно для меня, поскольку Gmail отказывается от отправки сообщений людям, у меня нет в моем реестре.Я хотел бы получить подписку: оба, чтобы иметь возможность получать и отправлять сообщения.
Решение
Send <presence to="friend@example.com" type="subscribe"/>
:
conn.send($pres({ to: "friend@example.com", type: "subscribe" }));
When your friend accepts, they should send a subscribe to you also, which you can handle by setting a Strophe handler for incoming presence with type "subscribe":
function on_subscription_request(stanza)
{
if(stanza.getAttribute("type") == "subscribe" && is_friend(stanza.getAttribute("from")))
{
// Send a 'subscribed' notification back to accept the incoming
// subscription request
conn.send($pres({ to: "friend@example.com", type: "subscribed" }));
}
return true;
}
conn.addHandler(on_subscription_request, null, "presence", "subscribe");