python-xmpp 收到消息
Posted
技术标签:
【中文标题】python-xmpp 收到消息【英文标题】:python-xmpp received message 【发布时间】:2012-09-06 23:12:49 【问题描述】:我用 xmpp 编写了应用程序。它使用 gtalk 发送消息。我想打印收到的消息。我能怎么做?我的应用短代码如下。
def process_message():
client = xmpp.Client('gmail.com')
client.connect( server=('talk.google.com',5223) )
client.auth(user,passwd, 'botty')
to = raw_input("to: ");
if client:
message = raw_input("message: ")
client.send( xmpp.Message( to,message ) )
if __name__ == "__main__":
user = raw_input("User: ")
passwd = getpass.getpass("Pass: ")
process_message()
【问题讨论】:
【参考方案1】:您需要使用Client.registerHandler
为传入消息注册一个事件处理程序。查看示例客户端代码,例如 this 或 this one。例如,后者实现了这样的消息处理函数:
def xmpp_message(self, con, event):
type = event.getType()
fromjid = event.getFrom().getStripped()
if type in ['message', 'chat', None] and fromjid == self.remotejid:
sys.stdout.write(event.getBody() + '\n')
【讨论】:
以上是关于python-xmpp 收到消息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python-xmpp(和 gtalk)每 x 分钟向收件人发送一条消息?