Доставьте сообщение Google Talk всем зарегистрированным клиентам, используя XMPPPY
У меня есть небольшая программа, которая отправляет мне сообщения с использованием XMPPPY, однако иногда при отправке сообщения я получаю его только на одном из зарегистрированных клиентов. При отправке через интерфейс gmail я всегда получаю его на всех залогиненных клиентах.
Вот мой код:
username = ''
password = ''
class Gtalk():
def send(self, recipient, message):
self.jid=xmpp.protocol.JID(username)
self.client=xmpp.Client(self.jid.getDomain())
self.connection = self.client.connect()
self.auth=self.client.auth(
self.jid.getNode(),
password,
resource=self.jid.getResource()
)
self.client.sendInitPresence(requestRoster=0)
self.client.send(xmpp.protocol.Message(
recipient, message
)
)
g = Gtalk()
g.send('', 'Hello')
Кто-нибудь знает, как отправить сообщение с использованием XMPPPY, которое появляется на всех вошедших в Gmail клиентов?
1 ответ
См. /questions/3517137/ispolzovanie-xmpp-dlya-push-uvedomlenij-polzovatelej-na-android-lyuboj-sposob-natselit-ih-chtobyi-oni-ne-perehodili-v-google-talk-i-t-d/3517141#3517141 JID (идентификаторы Jabber/XMPP и, следовательно, идентификаторы Google Talk) имеют несколько форм: во-первых, это "пустой JID", например: user@example.com, во-вторых, "полный JID" Например: user@example.com/xyz123, где xyz123 называется ресурсом.
Вы используете полный JUD, и поэтому ваше сообщение появляется только на клиенте xyz123.