首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oreilly XMPP示例代码

Oreilly XMPP示例代码
EN

Stack Overflow用户
提问于 2011-06-28 23:25:42
回答 2查看 683关注 0票数 1

我在读Oreilly XMPP The definitive Guide这本书

第2章中提供了EchoBot的示例代码

我想知道如何测试这段代码。

def main():

代码语言:javascript
复制
bot = EchoBot("echobot@wonderland.lit/HelloWorld", "mypass")
bot.run()

类EchoBot(object):

代码语言:javascript
复制
def __init__(self, jid, password):
    self.xmpp = sleekxmpp.ClientXMPP(jid, password)
    self.xmpp.add_event_handler("session_start", self.handleXMPPConnected)
    self.xmpp.add_event_handler("message", self.handleIncomingMessage)

def run(self):
    self.xmpp.connect()
    self.xmpp.process(threaded=False)

def handleXMPPConnected(self, event):
    self.xmpp.sendPresence(pstatus="Send me a message")

def handleIncomingMessage(self, message):
    self.xmpp.sendMessage(message["jid"], message["message"])

我安装了sleekxmpp,在jabber.org上创建了一个帐户,并用myusername@jabber.org/HelloWorld和mypassword替换了echobot@仙境. with /HelloWorld

但当我运行这段代码时。它似乎什么也做不了。它就会终止。我是不是丢了什么东西?

EN

回答 2

Stack Overflow用户

发布于 2011-12-24 02:36:35

此示例代码不适用于新版本的SleekXMPP库,因为接口已更改为

你机器人的最后一行应该是:

代码语言:javascript
复制
    self.xmpp.sendMessage(message["from"], message["body"])

SleekXMPP库的作者在这里解释了示例代码中所需的更改:https://github.com/fritzy/SleekXMPP/wiki/XMPP%3A-The-Definitive-Guide

票数 1
EN

Stack Overflow用户

发布于 2012-01-14 05:49:10

为了测试echo机器人,您可以打开另一个Jabber客户端(例如Psi或Kopete ),将echo机器人添加到您的花名册中,然后您可以与它聊天,就像在任何其他IM场景中一样,只有echo机器人会响应您发送给它的消息。

但请务必访问https://github.com/fritzy/SleekXMPP/wiki/XMPP%3A-The-Definitive-Guide以查看书籍示例的最新版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6508930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档