2012-02-29 2 views
7

나는 strophe.js 라이브러리를 사용하여 브라우저에서 XMPP 메시지를 보내고받습니다. 그것은 잘 작동하지만, 이미 내 연락처 목록에있는 사용자 만 사용할 수 있습니다 - 명단.strophe.js를 사용하여 승인 요청 (명단에 추가)

내 명단에 누군가 (주소가 알고있는 사람)를 추가해야합니다. strophe.js를 사용하여 어떻게 이것을 할 수 있습니까? Gmail은 내 명단에없는 사람에게 메시지를 보내지 않으므로이 메일은 중요합니다. 구독을 원합니다 : 둘 다 메시지를주고받을 수 있습니다.

답변

10

보내기 <presence to="[email protected]" type="subscribe"/> : 친구가 받아

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

고마워, 그게 내가 원하는거야. –

+0

@MattJ 및 부엉 is_friend 메서드를 사용하여 코드를 업데이트 할 수 있습니까? – pregmatch

+1

@pregmatch 그것은 귀하의 응용 프로그램에 따라 다릅니다. JID를 받으면 사용자가 요청을 수락하려면 true이고, 그렇지 않으면 false입니다. – MattJ

관련 문제