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:
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é)
"