N'hésitez pas à remplir le formulaire pour nous contacter par courriel. Tous les champs sont obligatoires.

Votre nom ou pseudo

Votre adresse e-mail (facultatif)


Contenu de votre message


Entrez le code de validation    7FT2Q


Xee XMPP Bot

Xee est un bot pour protocole XMPP, Je me suis basé sur le script d'exemple de la doc python-xmpp. Le champs username n'est pas important, il sert juste à savoir quoi afficher comme pseudo : 

Xee Utilise PYTHON-XMPP. Si il n'est pas installé, vous pouvez l'installer via APT:

sudo apt-get install python-xmpp

Exemple de commande:

$ ./xee compte@jappix.com "123456" "Blaz" "est en train de fumer un clope :P" "est dehors en bas de sa porte d'entrée :)" "./fichier.log"

Help:

$ ./xee -h 
XEE XMPP BOT 
GNU/GPL v3 
XEE is a bot for the XMPP protocol 
Create by BeHuman (craft@ckdevelop.org) 
Usage: 
    xee username@server.net password username info dispo file_log 
Help: 
    xee -h or --help
#!/usr/bin/python 
# -*- coding: utf8 -*- 

import sys, os, string 
import xmpp 


intro="""XEE XMPP BOT 
GNU/GPL v3 
XEE is a bot for the XMPP protocol 
Create by Be Human (craft at ckdevelop.org)""" 

############################ bot logic start ##################################### 

bonjour=["salut", "slt", "bonjour", "bjr", "yop", "yo", "hello", "hi", "lu"] 
aurevoir=["tchao", "by", "bye", u"++", u"a+", u"a +", u"@+", u"@ +", "aurevoir", u"à plus", u"a plus"] 
faire=["quesque", "keske", "kesk", u"quesqu'il", "keskil", u"que fait", u"que fais", u"fais tu", u"fait tu", u"fait il", u"tu fais", u"il fait", u"tu fait", u"il fais"] 
dispo=[u"où", u"ou ai", u"ou é", u"ou es", u"ou ais", u"où ai", u"où é", u"où es", u"où ais"] 
insulte=[u"enculé", u"connard", u"batard", u"encule", u"salop"] 
def messageCB(conn,mess): 
    text=mess.getBody() 
    retour="Désolé, je ne suis qu'un bot pré-programmé,\nje ne comprend pas ce que vous me dîtes." 
    bbjr=False 
    barv=False 
    for a in bonjour: 
        if a in text: 
            bbjr=True 
            retour="Salut, je suis Xee le bot de "+NameUser+".\nIl n'ai pas là pour le moment." 
    for a in aurevoir: 
        if a in text: 
            barv=True 
            retour="/me reste à ta disposition :P ++" 
    for a in faire: 
        if a in text: 
            retour="/me "+infofaire 
    for a in dispo: 
        if a in text: 
            retour="/me "+infodispo 
    for a in insulte: 
        if a in text: 
            retour="C'est toi le %s !!!" % a 
            if bbjr: 
                retour="Salut mais pas la peine d'être vulgaire !!!" 
            if barv: 
                retour="Tchao %s !!!" % a 
    conn.send(xmpp.Message(mess.getFrom(),retour)) 
    out=open(sys.argv[6], 'a') 
    nick=mess.getFrom().getNode() 
    intext=nick+": "+text+"\n\n" 
    outtext="Xee: %s\n\n" % retour 
    out.write(intext) 
    out.write(outtext) 
    out.close 
     

############################# bot logic stop ##################################### 

def StepOn(conn): 
    try: 
        conn.Process(1) 
    except KeyboardInterrupt: 
        return 0 
    return 1 

def GoOn(conn): 
    while StepOn(conn): pass 

def help(): 
    print(intro+"""\nUsage: 
    xee     
Help: 
    xee -h or --help""") 
    sys.exit(1) 

if len(sys.argv)<7: 
    if (len(sys.argv) < 2): 
        print("\n[!]Mauvais nombre d\'arguments[!]\n") 
        help() 
    else: 
        if sys.argv[1] == "-h" or sys.argv[1] == "--help": 
            help() 
        else: 
            print("\n[!]Mauvais nombre d\'arguments[!]\n") 
            help() 
else: 
    if sys.argv[1] == "-h" or sys.argv[1] == "--help": 
        help() 
    NameUser=sys.argv[3] 
    infofaire=sys.argv[4] 
    infodispo=sys.argv[5] 
    jid=xmpp.JID(sys.argv[1]) 
    user,server,password=jid.getNode(),jid.getDomain(),sys.argv[2] 
    conn=xmpp.Client(server)#,debug=[]) 
    conres=conn.connect() 
    if not conres: 
        print "Unable to connect to server %s!"%server 
        sys.exit(1) 
    if conres<>'tls': 
        print "Warning: unable to estabilish secure connection - TLS failed!" 
    authres=conn.auth(user,password) 
    if not authres: 
        print "Unable to authorize on %s - check login/password."%server 
        sys.exit(1) 
    if authres<>'sasl': 
        print "Warning: unable to perform SASL auth os %s. Old authentication method used!"%server 
    conn.RegisterHandler('message',messageCB) 
    conn.sendInitPresence() 
    print "Bot started." 
    GoOn(conn)

 

Écrire un commentaire


Quelle est la quatrième lettre du mot nnwofm ?