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 :
Donc j'ai créé la commande "kikoo" qui me revois le contenu du fichier et update qui me revoit les arguments.
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 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é)
"
Partager