xmpp bot 接受新朋友?

Posted

技术标签:

【中文标题】xmpp bot 接受新朋友?【英文标题】:xmpp bot accept new friend? 【发布时间】:2012-01-21 21:22:15 【问题描述】:

我在 python 中有一个简单的 jabber bot。它使用 xmpppy(导入 xmpp),这个读取命令并将输出返回给执行命令的人,很好。

我需要自动(通过机器人)接受新朋友的请求、联系人..

有什么建议吗??

pd:这是一段代码:

self.cl = xmpp.Client(self.jid.getDomain(),debug=[])
    syslog.syslog("Conectando...")
    if not self.cl.connect(("jabber.org",5222)):
        raise IOError("No se pudo conectar con el server")
    syslog.syslog("Autenticando...")
    if not self.cl.auth(self.jid.getNode(),self.password):
        raise IOError("No se pudo autenticar el usuario")
    syslog.syslog("Registrando handler...")
    self.cl.RegisterHandler("message",self.messageHandler)
    self.cl.sendInitPresence()
def messageHandler(self,conn,mess):
    user = mess.getFrom().getStripped()
    text = mess.getBody()
    if text=="time":
        self.send(user,"Aqui son las " + datetime.datetime.now().strftime('%H:%M:%S'))
    elif text=="date":
        self.send(user,"Hoy es " + datetime.datetime.now().strftime("%d/%m/%Y"))
    elif text=="help":
        self.send(user,"Ayuda:\n - Para obtener la hora escribe: 'time'\n - Para obtener la fecha escribe: 'date'")

【问题讨论】:

【参考方案1】:

efcjoe 在GitHub 上有一个使用xmpp 的非常有用的示例项目。你要的方法叫add_friend(开头line 99):

def add_friend(self, user):
    self._send(xmpp.Presence(to=user, typ='subscribed'))
    self._send(xmpp.Presence(to=user, typ='subscribe'))
    return True

【讨论】:

以上是关于xmpp bot 接受新朋友?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jabber (XMPP) 结交在线朋友

XMPP facebook 与非朋友聊天

在 Xmpp/Openfire 中从名册中删除一个朋友

iphone xmpp 相关!

如何使用 xmpp 连接 Facebook 聊天,我想输入朋友的用户名,然后聊天显示 SASL 身份验证失败

XMPP facebook 聊天权限与 PHP