2012-02-29 30 views
7

Tarayıcıda XMPP mesajları göndermek ve almak için strophe.js kütüphanesini kullanıyorum. İyi çalışıyor, ancak sadece zaten benim irtibat listemde bulunan kullanıcılar için - liste.strophe.js'yi kullanarak yetkilendirme isteği (kadroya ekle)

Adını bildiğim birini (bildiğim adresi) eklemeliyim. Bunu strophe.js'yi kullanarak nasıl başarabilirim? Bu benim için önemli, çünkü gmail kadromda olmayan insanlara mesaj göndermeyi reddediyor. Abonelik almak istiyorum: İkisi de mesaj alıp gönderebilmek için.

cevap

10

Gönder <presence to="[email protected]" type="subscribe"/>: Arkadaşınız kabul

conn.send($pres({ to: "[email protected]", type: "subscribe" })); 

, onlar göndermesi gerektiğini bir türe sahip gelen varlığı için bir Strophe işleyicisi ayarlayarak işleyebilir ki, aynı zamanda size abone "abone":

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: "[email protected]", type: "subscribed" })); 
    } 
    return true; 
} 
conn.addHandler(on_subscription_request, null, "presence", "subscribe"); 
+0

Teşekkürler, tam ihtiyacım olan şey bu. –

+0

@MattJ ve katiyen is_friend metodu, kodu güncelleyebilir misiniz? – pregmatch

+1

@pregmatch Uygulamanıza bağlı. Bir JID alır ve kullanıcı isteklerini kabul etmek istiyorsa ya da yapmazsa false olmalıdır. – MattJ