xmpp bot接受新朋友?

时间:2012-01-21 21:22:15

标签: python xmpp

我在python中有一个简单的jabber机器人..这个使用xmpppy(import 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 个答案:

答案 0 :(得分:2)

efcjoeGitHub使用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