diff --git a/asmodee.py b/asmodee.py index 936817d..934bc1d 100755 --- a/asmodee.py +++ b/asmodee.py @@ -147,10 +147,12 @@ def help(room, event): room.send_text("- !carte : Tire une carte et la retire du paquet\n- !carte m : remelange le paquet.") elif (re.search("card", args[0])): room.send_text("- !card : tire une carte sans la retirer du paquet.") + elif (re.search("liste", args[0])): + room.send_text("- !liste [Nombre d'elements souhaites] : retourne ce nombre d'elements de la liste.") else: room.send_text("A venir") else: - room.send_text("Commandes disponibles:\n- !card\n- !carte\n- :roll \n- :sw \n- :dom \n- :wod \n- :owod \n- :ars \n- :des \n\n- Pour plus de details, tapez !help \n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix") + room.send_text("Commandes disponibles:\n- !card\n- !carte\n- !liste [Nombre d'elements souhaites]\n- :roll \n- :sw \n- :dom \n- :wod \n- :owod \n- :ars \n- :des \n\n- Pour plus de details, tapez !help \n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix") def roll(result,type,explosif,nb,f,noadd,ars,relance,mitige): # verif type et contenu params? @@ -575,6 +577,29 @@ def echo_callback(room, event): # Echo what they said back room.send_text(' '.join(args)) +def liste(room, event): + res = [] + + members = room.get_joined_members() + nick = "" + try: + #nick = members[event['sender']]['displayname'] + nick = [user.get_friendly_name() for user in members if user.user_id == event['sender']][0] + except: + nick = "Voisin du dessus" + + args = event['content']['body'].split() + args.pop(0) + try: + nb = int(args[1] if len(args) >= 2 else "1") + list = args[0].split('/') + for i in range(nb): + id = random.randrange(0,len(list)) + res.append(list.pop(list.index(id))) + room.send_text(nick + "obtient :\n" + '\n'.join(res)) + except: + room.send_text("Utilisation : !liste [nombre d elements]") + def invitations(room_id, state): global bot @@ -605,20 +630,19 @@ def main(): help_handler = MCommandHandler("help", help) bot.add_handler(help_handler) - # Add a regex handler waiting for the word Hi - hi_handler = MRegexHandler("[Ss]alut|[Cc]halut|'lut|[Cc]oucou|[Bb]onjour|[Hh]ello", hi_callback) - bot.add_handler(hi_handler) - - jdr_handler = MRegexHandler("[Jj]dr|[Rr]pg", jdr) - bot.add_handler(jdr_handler) - gens_handler = MRegexHandler("[Gg]ens", gens) - bot.add_handler(gens_handler) - maman_handler = MRegexHandler("[Mm]aman|[Mm]ere", maman) - bot.add_handler(maman_handler) - va_handler = MRegexHandler("ca va|vas]", va) - bot.add_handler(va_handler) - - # Add a regex handler waiting for the echo command + # Add a regex handler waiting for keywords and answers + #hi_handler = MRegexHandler("[Ss]alut|[Cc]halut|'lut|[Cc]oucou|[Bb]onjour|[Hh]ello", hi_callback) + #bot.add_handler(hi_handler) + #jdr_handler = MRegexHandler("[Jj]dr|[Rr]pg", jdr) + #bot.add_handler(jdr_handler) + #gens_handler = MRegexHandler("[Gg]ens", gens) + #bot.add_handler(gens_handler) + #maman_handler = MRegexHandler("[Mm]aman|[Mm]ere", maman) + #bot.add_handler(maman_handler) + #va_handler = MRegexHandler("ca va|vas]", va) + #bot.add_handler(va_handler) + + # Add a regex handler waiting for the dice commands and aliases entry_handler = MCommandHandler("", entryPoint, ':') bot.add_handler(entry_handler) @@ -628,6 +652,10 @@ def main(): carte_handler = MCommandHandler("carte", carte) bot.add_handler(carte_handler) + + # Un élément d'une liste + liste_handler = MCommandHandler("liste", liste) + bot.add_handler(liste_handler) # Invitations bot.client.add_invite_listener(invitations)