使用Python库发送XMPP消息

10 投票
2 回答
36385 浏览
提问于 2025-04-15 11:50

我想知道如何使用以下Python库中的一个来发送XMPP消息:wokkel、xmpppy或jabber.py?

我觉得我对这个过程有点了解,但到目前为止还没有成功运行过一个。这是我到现在为止尝试过的:

  • 调用某个API,并传入服务器名称和端口号,以连接到那个服务器。
  • 调用某个API,并传入用户名和密码,以构建一个JID对象。
  • 用这个JID进行身份验证。
  • 构建一个消息对象,然后调用某个API,把这个消息对象作为参数传进去。
  • 调用某个发送API。

从概念上看,这似乎很简单,但细节上却有些麻烦。如果可以的话,请提供一个示例代码片段。

2 个回答

1

xmpppy的主页上有很多示例(在“examples”下),最简单的一个是发送一条测试消息。这些示例逐渐变得更有趣,它们通过一个聊天机器人程序来介绍基于回调的API。

40

这是一个最简单的xmpp客户端。它会发送一条“你好 :)”的消息。在这个例子中,我使用了xmpppy这个库,并且连接到了gtalk服务器。我觉得这个例子很容易理解:

import xmpp

username = 'username'
passwd = 'password'
to='name@example.com'
msg='hello :)'


client = xmpp.Client('gmail.com')
client.connect(server=('talk.google.com',5223))
client.auth(username, passwd, 'botty')
client.sendInitPresence()
message = xmpp.Message(to, msg)
message.setAttr('type', 'chat')
client.send(message)

撰写回答