2010-03-06 11 views
1

Où puis-je trouver la valeur JID complète après la connexion et l'authentification avec un serveur Jabber lors de l'utilisation de la bibliothèque xmpppy?Où est la valeur JID complète lors de l'utilisation de xmpppy?

J'ai besoin du JID complet pour un appel Iq ultérieur au serveur. Spécification des résultats nus JID ([email protected]) l'erreur suivante:

If set, the 'from' attribute must be set to the user's full JID

J'ai lu à travers le online API et regardé une partie du code source, mais ne peut toujours pas trouver.

La pleine JID ressemble à ceci: [email protected]/resource

Répondre

2

Utilisez les versions non-Underbar:

c = xmpp.client.Client(...) 
# connect 
jid = xmpp.JID(node=c.User, domain=c.Server, resource=c.Resource) 

Cependant, il n'y a pas besoin de définir une adresse. De Le serveur le fera pour vous pour toutes les strophes que vous envoyez.

+0

Merci, vous avez raison sur les deux comptes. Cela m'a aidé. –

1

Je ne vois pas la JID étant stockées en tant que telle soit, mais dans auth's sources, ligne 213, je vois

self._User,self._Password,self._Resource=user,password,resource 

self est l'instance de Client nous nous authentifions; alors peut-être que vous pourriez juste récupérer cette information et vous construire un JID de cela?

+0

@Alex cela pourrait fonctionner, laissez-moi essayer. Merci pour les problèmes que vous avez pris pour répondre à cette question. –

+0

@Philip, de rien, laissez-nous savoir comment cela fonctionne pour vous! –