G-vote !! un outil de vote révolutionnaire...

Contenu du snippet

Je vous présente le G-VOTE, mon systeme de vote sur irc.
Vous allez dire : pfffffff c'est vu et revu !

Et bien non. Car la différence est qu'au lieu des bêtes systemes de vote pourris ou il n'y que 3 choix, avec celui-ci vous pouvez choisir combien de choix vous voulez.

Si vous voulez 5 choix cela fera par exemple :
A- Oui
B- Non
C- J'en sais rien
D- C'est de la merde cette question
E- J'ai pas compris je suis con :|

Mais vous pouvez en mettre bien plus !
A vous de voir
Mon alias $numlettre pemet de faire ca :
$numlettre(d) vous retourne 4 car D est la 4eme lettre de l'alphabet.
$numlettre(5) vous retourne E.

Le code...

Source / Exemple :


alias gvote {
  unset %dejavote
  unset %voteouvert
  unset %vchan
  unset %vquestion
  unset %nbchoix
  unset %vtemps
  unset %i
  var %i 0
  var %j 26
  :boucleset0
  set %r [ $+ [ $numlettre(%i) ] ] 0
  if (%i <= %j) {
    inc %i
    goto boucleset0
  }
  else {
    goto suite
  }
  :suite
  set %vchan $chan
  set %vquestion $$?"Entrez la question"
  set %vtemps $$?"Entrez le temps en secondes"
  set %nbchoix $$?"Entrez le nombre de choix (maximum 26)"
  var %i 1
  :bouclechoix
  set %reponse $+ %i $$?"Entrez la réponse %i ( $+ $numlettre(%i) $+ )"
  if (%i <= $calc(%nbchoix - 1)) {
    inc %i
    goto bouclechoix
  }
  else {
    goto debutvote
  }
  :debutvote
  unset %i
  msg %vchan 11,1×10×12×2,10G-VOTE12,1×10×11×3 Démarré
  msg %vchan 0,14(A G-FACTION creation)
  msg %vchan 7,1La question est :4 %vquestion
  msg %vchan 7,1Il y a4 %nbchoix 7réponses possibles
  var %i 1
  :boucledirelesreponses
  msg %vchan 4,1 $+ $upper($numlettre(%i)) 9:11 %reponse [ $+ [ %i ] ]
  if (%i <= $calc(%nbchoix - 1)) {
    inc %i
    goto boucledirelesreponses
  }
  else {
    msg %vchan 7,1Tapez ! suivi de la lettre correspondante (ex: !B)
    set %voteouvert on
    timer5 1 %vtemps /finish
  }
}
on *:text:!*:%vchan: {
  if (%voteouvert == on) {
    if (!$istok(%dejavote,$address($nick,2),32)) {
      set %dejavote $addtok(%dejavote,$address($nick,2),32)
      inc %r $+ $mid($1-,2,1))
      notice $nick Merci d'avoir voté !
      halt
    }
    else {
      notice $nick Vous avez déjà voté ! >> ( $+ $address($nick,2) $+ )
      msg %vchan 7,1Vote refusé. Vous avez déjà voté4 $nick 7! 9>> 7(11 $+ $address($nick,2) $+ 7)
      halt
    }
  }
}
alias finish {
  unset %i
  set %voteouvert off
  msg %vchan 7,1Le vote est terminé !
  msg %vchan 7,1Résultats :
  set %i 1
  :sayresults
  msg %vchan 4,1 $+ $upper($numlettre(%i)) 9:11 %r [ $+ [ $numlettre(%i) ] ]
  if (%i <= $calc(%nbchoix - 1)) {
    inc %i
    goto sayresults
  }
  else {
    set %voteouvert off
    halt
  }
}
on 1:DISCONNECT:{
  set %voteouvert off
  ;Car en cas de problème quelquonque genre connection reset by peer en plein votre, cela permet de mettre la variable en off malgré tout.
}

alias numlettre {
  if ($1- == a) { return 1 }
  elseif ($1- == b) { return 2 }
  elseif ($1- == c) { return 3 }
  elseif ($1- == d) { return 4 }
  elseif ($1- == e) { return 5 }
  elseif ($1- == f) { return 6 }
  elseif ($1- == g) { return 7 }
  elseif ($1- == h) { return 8 }
  elseif ($1- == i) { return 9 }
  elseif ($1- == j) { return 10 }
  elseif ($1- == k) { return 11 }
  elseif ($1- == l) { return 12 }
  elseif ($1- == m) { return 13 }
  elseif ($1- == n) { return 14 }
  elseif ($1- == o) { return 15 }
  elseif ($1- == p) { return 16 }
  elseif ($1- == q) { return 17 }
  elseif ($1- == r) { return 18 }
  elseif ($1- == s) { return 19 }
  elseif ($1- == t) { return 20 }
  elseif ($1- == u) { return 21 }
  elseif ($1- == v) { return 22 }
  elseif ($1- == w) { return 23 }
  elseif ($1- == x) { return 24 }
  elseif ($1- == y) { return 25 }
  elseif ($1- == z) { return 26 }
  elseif ($1- == 1) { return a }
  elseif ($1- == 2) { return b }
  elseif ($1- == 3) { return c }
  elseif ($1- == 4) { return d }
  elseif ($1- == 5) { return e }
  elseif ($1- == 6) { return f }
  elseif ($1- == 7) { return g }
  elseif ($1- == 8) { return h }
  elseif ($1- == 9) { return i }
  elseif ($1- == 10) { return j }
  elseif ($1- == 11) { return k }
  elseif ($1- == 12) { return l }
  elseif ($1- == 13) { return m }
  elseif ($1- == 14) { return n }
  elseif ($1- == 15) { return o }
  elseif ($1- == 16) { return p }
  elseif ($1- == 17) { return q }
  elseif ($1- == 18) { return r }
  elseif ($1- == 19) { return s }
  elseif ($1- == 20) { return t }
  elseif ($1- == 21) { return u }
  elseif ($1- == 22) { return v }
  elseif ($1- == 23) { return w }
  elseif ($1- == 24) { return x }
  elseif ($1- == 25) { return y }
  elseif ($1- == 26) { return z }
  else return $chr(160)
}

Conclusion :


Voilà.

J'aimerais savoir ce que vous en pensez.

Merci

×××G-FACTION×××

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.