des commandes dans roboteo

This commit is contained in:
Thomas NOËL 2018-03-28 08:51:36 +02:00
parent 2481c11d8d
commit 0d0214c893
1 changed files with 34 additions and 9 deletions

View File

@ -184,6 +184,7 @@ class Robeo(sleekxmpp.ClientXMPP):
self.get_roster()
self.send_presence()
self.plugin['xep_0045'].joinMUC(self.room, self.nick, wait=True)
self.show_events(force_update=True)
def muc_message(self, msg):
"""
@ -207,9 +208,20 @@ class Robeo(sleekxmpp.ClientXMPP):
for stanza objects and the Message stanza to see
how it may be used.
"""
for_me = msg['body'].startswith(('%s:' % self.nick, '@%s' % self.nick))
if for_me and msg['mucnick'] != self.nick:
self.show_events()
if msg['mucnick'] == self.nick:
return
if not msg['body'].startswith(('%s:' % self.nick, '@%s' % self.nick)):
return
msg = msg['body'][len(self.nick)+1:].strip().lower()
words = msg.split()
if 'h' in words or '?' in words or 'help' in words or 'aide' in words or 'sos' in words:
self.help()
elif 'refr' in msg or 'rafr' in msg:
self.show_events(force_update=True)
elif 'rappel' in msg or 'remind' in msg:
self.show_events(force_update=False)
def muc_online(self, presence):
"""
@ -224,15 +236,28 @@ class Robeo(sleekxmpp.ClientXMPP):
to see how else it may be used.
"""
if presence['muc']['nick'] != self.nick:
self.send_message(mto=presence['from'].bare,
mbody="%s est dans la place" % presence['muc']['nick'],
mtype='groupchat')
pass
# self.send_message(mto=presence['from'].bare,
# mbody="%s est dans la place" % presence['muc']['nick'],
# mtype='groupchat')
def show_events(self):
def help(self):
message = '''
refr* | rafr* : recharge les rendez-vous du jour
rappel* | remind* : affiche les rendez-vous en cache
aide | sos | help | ? : cette aide
n'importe quoi d'autre : ne fait rien du tout
'''
self.send_message(mto=self.room,
mbody='/me interroge calendar, un peu de patience ...',
mbody=message,
mtype='groupchat')
events = display_events(get_today_events())
def show_events(self, force_update):
if force_update:
self.send_message(mto=self.room,
mbody='/me interroge calendar, un peu de patience ...',
mtype='groupchat')
events = display_events(get_today_events(force_update=force_update))
self.send_message(mto=self.room,
mbody=events,
mtype='groupchat')