Aide pour petit addons pour IRC

SteFoy Messages postés 4 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 13 août 2007 - 12 août 2007 à 04:16
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 - 24 août 2007 à 09:58
Bonjour!
 
J'explique la situation en premier lieu. Il y a un jeu qui s'appelle "!bombe". C'est une bombe qui s'allume en tappant "!allume" et on peut soit 1- la repasser à quelque par "!bombe autre_pseudo" ou 2- la désamorcer par "!desamorce" après un délai de 2 minutes la bombe éclate (le robot kick l'user qui a la bombe entre les mains). Ce qui est quand même assez énervant, même quand nous ne somme pas devant notre écran d'ordinateur.
 
Maintenant j'explique ce que je veux faire. Je souhaite faire un addons qui permettra de désactiver la bombe automatiquement lors qu'elle tombe sur moi. Donc si mon pseudo est "caramel" et un user "chocolat" et que ce dernier tappe "!bombe caramel" mon addons réagit automatiquement sur le chan avec cette commande là "!desamorce"
 
Voici ce que j'ai fais


<hr />

def desamorce(word, word_eol, userdata):    if word[1] == "!bombe" and word[2] == "caramel":

        xchat.command("say !desamorce")

        xchat.command("say Non non, pas sur moi. Essais sur les autres " +word[0])

    

    return xchat.EAT_NONE

 

EVENTS = [

  ("Channel Message", 1),

 ]

for event in EVENTS:

    xchat.hook_print(event[0], desamorce, event)

<hr />
Avec ce que j'ai lu cela devrait fonctionner, mais et las, non. Le script se charge avec aucune erreur, mais ça ne fonctionne pas. Pourquoi ? je ne le sais pas. Mais par contre si j'enlève le " and word[2] == "caramel" " il reste juste une variable le world[1] et cela fonctionne parfaitement. Sauf qu'il faut avoir mon pseudo, car n'importe qui tappe "!bombe blabla" mon addon s'éxecutera.
<hr />

2 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
14 août 2007 à 10:39
Il faudrait que tu saches exactement ce qu'il y a dans ta variable word[2]. Peut etre qu'il y a des esapces ou des majuscules, ou des choses comme ça.Essayes d'afficher le contenu de cete variable du genre xchat.command("say [%s]" %word[2])
0
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
24 août 2007 à 09:58
En effet, il semble que "word[2]" ne corresponde pas à "caramel". Je te propose de réécrire la fonction et que tu nous renvoi le résultat (lance le programme avec IDLE par exemple pour que la réponse soit bien lisible plutôt que de l'afficher dans la console)

defdesamorce(word, word_eol, userdata): 
   print word

______
Aéra
0
Rejoignez-nous