python - 使用ssealXMPP或Python中的其他客户端接收GChat消息?

标签 python client google-talk

我有适用于 python 的 smoothXMPP,并且我已经使用该 API 创建了发送消息的函数,尽管当我研究接收它们时我找不到任何东西,有人可以帮我解决这个问题,或者反驳这种可能性。谢谢。 下面是我用来发送消息的代码,如果有帮助的话。

to = config.get('usermap', to[4:])
gmail_from_user = config.get('auth', 'email')
gmail_from_secret = config.get('auth', 'secret')

sys.stdout = stdouttmp
sys.stderr = stderrtmp
print "Sending chat message to " + to
xmpp = SendMsgBot(gmail_from_user, gmail_from_secret, to, message)
xmpp.register_plugin('xep_0030') # Service Discovery
xmpp.register_plugin('xep_0199') # XMPP Ping

sys.stdout = stdouttmp
if xmpp.connect(('talk.google.com', 5222)):
    xmpp.process(block=True)
else:
    sys.stdout = stdouttmp
    print("Unable to connect.")

sys.stdout = stdouttmp
sys.stderr = stderrtmp

顺便说一句,我使用 .cfg 文本文件来存储用户的电子邮件和密码以及一些联系人,然后在

中进行解析

最佳答案

我发现您正在使用 send_client.py例子。该示例的目的是如何可靠地登录、发送一条消息,然后注销。您的用例是发送和接收消息,因此查看 echo_client.py 会更好。示例。

值得注意的是,为了接收消息,您需要执行以下操作:

# in your __init__ method:
def __init__(...):
    # ...
    self.add_event_handler('message', self.recv_message)

def recv_message(self, msg):
    # You'll probably want to ignore error and headline messages.
    # If you want to handle group chat messages, add 'groupchat' to the list.
    if msg['type'] in ('chat', 'normal'):
        print "%s says: %s" % (msg['from'], msg['body'])

同样,您需要不再使用 SendMsgBot 示例,因为它在发送消息后会自动断开连接。

别忘了还有 [email protected]如果您需要任何帮助,请聊天室。

-- 兰斯

关于python - 使用ssealXMPP或Python中的其他客户端接收GChat消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124954/

相关文章:

python - 根据文件扩展名选择 Mako 预处理器?

android - 猜测 C2DM 是否已连接的方法

android - gtalk 停止了对 xmpp 的支持。在 android 应用程序中集成 gmail 聊天的替代解决方案是什么?

python - 大致等效的部分代码

python - 不断更新工具提示

reactjs - 为什么React会自己拥有一台服务器?

php - 在网站上显示登录内容

C 服务器和客户端 - 段错误并显示垃圾

java - 如何在 Openfire 中使用 smack

python - Pandas : Creating dataframe based on keywords from dictionary