IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Jabberbot : Problème de modification du code


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Specialiste DataCenter
    Inscrit en
    Juin 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Specialiste DataCenter

    Informations forums :
    Inscription : Juin 2015
    Messages : 14
    Par défaut Jabberbot : Problème de modification du code
    Bonjour,

    Je suis novice en Python et je recherche à créé un simple bot XMPP (Jabber) pour un projet.
    Le plus simple bot trouvé est Jabberbot ( https://thp.io/2007/python-jabberbot/ )
    Il me plait beaucoup vu ça simplicité mais problème, j'ai juste besoin de créé deux commande :

    $ update <nom_variable> <valleur> ( ne retourne rien mais met à jour une table Mysql déterminé a l'avance )
    $ get <id> <var> ( retourne la valeur de l'entrée mysql )


    Donc j'ai commencer à modifier mon code que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    from jabberbot import JabberBot, botcmd
    import datetime
    #import MySQLdb
     
    #db = MySQLdb.connect(host="xxxx", port=3306, user="xxxx", passwd="xxxxx", db="xxxx")
     
     
    class SystemInfoJabberBot(JabberBot):
        @botcmd
        def serverinfo( self, mess, args):
            """Displays information about the server"""
            version = open('/proc/version').read().strip()
            loadavg = open('/proc/loadavg').read().strip()
    #       test    = open('/home/mous/test.txt').read().strip()    
     
            return '%s\n\n%s' % ( version, loadavg, )
     
        @botcmd
        def time( self, mess, args):
            """Displays current server time"""
            return str(datetime.datetime.now())
     
        @botcmd
        def rot13( self, mess, args):
            """Returns passed arguments rot13'ed"""
            return args.encode('rot13')
     
        @botcmd
        def whoami(self, mess, args):
            """Tells you your username"""
            return mess.getFrom().getStripped()
     
        @botcmd
        def kikoo(self, mess, args):
            """TEST"""
            variable = open('/home/mous/test.txt').read().strip()
            return  '%s\n\n%s' % ( variable, )
     
    https://thp.io/2007/python-jabberbot/
        @botcmd
        def update(self, mess, args):
            """test2"""
            return args.encode('update')
     
     
     
     
    username = 'xx@xxx'
    password = 'xxx"
    bot = SystemInfoJabberBot(username,password)
    bot.serve_forever()
    Donc j'ai créé la commande "kikoo" qui me revois le contenu du fichier et update qui me revoit les arguments.
    Donc en gros j'ai recréé ce qui est déjà créé, mais, cela ne fonctionne pas, j'ai mon bot qui me répond systèmatiquement --> " Sorry for your inconvenience. An unexpected error occurred. "
    Mais impossible de savoir quoi..

    Je trouve très peu d'info sur ce bot, mais j'aimerais le gardé car il est très réactif et surtout peu énergivore ( ram, ressource ou autre )
    Car au final, il devra répondre à plusieurs "client" simultanément (Arduino, pc, serveur, commande à distance, etc... )


    Pouvez vous m'aidez ?

    ps : Pour des tests, j'ai créé un compte temporaire sur mon serveur de test : tmp@gurdil.be -> pass = tmp (mous@gurdil.be pour me chatté)
    "

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Je ne te répondrai pas au sujet du bot, auquel je ne connais rien, mais je vois des erreurs dans ton code qu'il serait nécessaire de résoudre avant d'aller plus loin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            return  '%s\n\n%s' % ( variable, )
    Il manque le deuxième élément de tuple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    https://thp.io/2007/python-jabberbot/
        @botcmd
        def update(self, mess, args):
            """test2"""
            return args.encode('update')
    Qu'est-ce que cette url fout là ?
    Tu es sûr de l'argument d'encode ? tu as vu ça où ?

    Soit simples guillemets, soit doubles, mais pas un mélange des deux.

  3. #3
    Membre averti
    Homme Profil pro
    Specialiste DataCenter
    Inscrit en
    Juin 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Specialiste DataCenter

    Informations forums :
    Inscription : Juin 2015
    Messages : 14
    Par défaut
    hello

    1) Je comprend pas vraiment ce que c'est le tuple, je googolise ça de suite
    2) erreur de copier collé
    3) idem


    edit : maintenant tous est ok
    Comment puis-je utilisé les arguments et interagir avec du Mysql ?

Discussions similaires

  1. [Debugger] Problème de traçage de code
    Par vinny_the_true dans le forum MFC
    Réponses: 2
    Dernier message: 19/12/2005, 00h21
  2. [IShellLink] Problème de modification de raccourci
    Par Alcatîz dans le forum Windows
    Réponses: 2
    Dernier message: 17/11/2005, 09h39
  3. Réponses: 19
    Dernier message: 28/10/2005, 17h29
  4. [VB.net]problème de conversion de code c# vers VB.net
    Par cladsam dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2005, 14h07
  5. [débutant] Problème JSplitPane (modif :InternalFrame)
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 61
    Dernier message: 03/09/2004, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo