gpt4 book ai didi

python - 如何监控我的 gtalk 状态消息的变化?

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:50 24 4
gpt4 key购买 nike

我想编写一个程序(最好用Python)来监视我的gtalk状态消息,每当我发布新的gtalk状态消息时,该程序都会获取该消息的内容并将其发布到其他地方。

我有办法注册接收 gtalk 状态更改通知吗?或者我必须不断地轮询我的状态吗?我在哪里可以找到执行此操作的 API?

最佳答案

我建议你使用slickxmpp。您可以像这样注册回调:

self.add_event_handler("changed_status", self.my_callback_function)

其中 self 是继承自 sleekxmpp.ClientXMPP 的类的实例。

编辑:我刚刚为您编写了这段代码(您可以随意使用)

import sleekxmpp
from ConfigParser import ConfigParser

class StatusWatcher(sleekxmpp.ClientXMPP):
def __init__(self, jid_to_watch):
self._jid_to_watch = jid_to_watch
config = ConfigParser()
config.read("config.ini")
jid = config.get("general", "jid")
resource = config.get("general", "resource")
password = config.get("general", "password")
sleekxmpp.ClientXMPP.__init__(self, jid + "/" + resource, password)

self.add_event_handler("session_start", self.handle_XMPP_connected)
self.add_event_handler("changed_status", self.handle_changed_status)

def handle_XMPP_connected(self, event):
print "connected"
self.sendPresence(pstatus="I'm just a Bot.")
self.get_roster()

def handle_changed_status(self, pres):
if pres['from'].bare == self._jid_to_watch:
print pres['status']


xmpp = StatusWatcher("login@gmail.com") # The account to monitor
xmpp.register_plugin('xep_0030')
xmpp.register_plugin('xep_0199')
if xmpp.connect():
xmpp.process(threaded=False)

您需要使用您的凭据创建一个文件 config.ini:

[general]
jid=jid@host.org
resource=presence_watcher
password=yourpwd

关于python - 如何监控我的 gtalk 状态消息的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17509930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com