Vote system by [simon]

Contenu du snippet

Bon ba voila, ma deuxieme source, un systeme de vote !
Je n'ai pas essayé de faire original, mais je voulais faire mon propre systeme de vote pour mon bot, et je suis assez content du resultat =)
Donc tout marche, mais si vous avez des conseils pour optimiser le code, ils sont les bienvenue =)

Source / Exemple :


;##################################################
;###  VOTE SYSTEM BY [SIMON] // SECTION REMOTE  ###
;##################################################
on *:text:!votaide*:#:{ notice $nick 3!vote 4durée 6Question se répondant par OUI ou NON }
on *:text:!vote*:#:{
  if (%vote == 1) { notice $nick 4Un vote est deja en cours ! Patiente un peu ! | halt }
  if (!$3) { notice $nick 4Il manque quelque chose... Tape !votaide pour savoir comment faire un vote =) ! | halt }
  If ($2 !isnum) { notice $nick 4Durée incorrecte ! Il faut que ce soit un nombre ! | halt }
  else {
    set %vote 1
    set %vote.oui 0
    set %vote.non 0
    set %vote.chan $chan
    set %vote.question $3-
    write -c vote.txt
    msg $chan 3Que le vote comence !
    msg $chan 4 %vote.question
    msg $chan 3Votez en tapant 4!oui 3ou 4!non
    /timer 1 $2 /voteresult
  }
}

on *:text:!oui:%vote.chan:{
  if (%vote != $null) {
    if (%vote. [ $+ [ $address([ $nick ],2) ] ] == $null) {
      inc %vote.oui
      set %vote. [ $+ [ $address([ $nick ],2) ] ] 1
      notice $nick 4Merci d'avoir voté =) !
    }
    else {
      notice $nick 4T'a deja voté !
    }
  }
  else {
    notice $nick 4Pas de vote en cours =) !
  }
}
on *:text:!non:%vote.chan:{
  if (%vote != $null) {
    if (%vote. [ $+ [ $address([ $nick ],2) ] ] == $null) {
      inc %vote.non
      set %vote. [ $+ [ $address([ $nick ],2) ] ] 1
      notice $nick 4Merci d'avoir voté =) !
    }
    else {
      notice $nick 4T'a deja voté !
    }
  }
  else {
    notice $nick 4Pas de vote en cours =) !
  }
}
;###################################################
;###  VOTE SYSTEM BY [SIMON] // SECTION ALIASES  ###
;###################################################
/voteresult {
  msg %vote.chan 3Vote terminé !
  msg %vote.chan 3La question etait4 %vote.question
  msg %vote.chan 3Resultat :6 %vote.oui 4OUI 3et6 %vote.non 4NON
  if ((%vote.oui == 0) && (%vote.non == 0)) { msg %vote.chan 3Personne à voté :/ ! }
  elseif (%vote.oui > %vote.non) { msg %vote.chan 3Le 4OUI 3l'emporte ! }
  elseif (%vote.oui < %vote.non) { msg %vote.chan 3Le 4NON 3l'emporte ! }
  elseif (%vote.oui == %vote.non) { msg %vote.chan 3Egalitée ! }
  msg %vote.chan 3Sur 6 $nick(%vote.chan,0) 3personnes presentes, 6 $calc( [ %vote.oui ] + [ %vote.non ] ) 3ont votés, 6 $calc( [ $nick(%vote.chan,0) ] - [ $calc( [ %vote.oui ] + [ %vote.non ] ) ] ) 3se sont abstenues...
  msg %vote.chan 3Vote system 4© 5[10SIMON5]
  unset %vote*
}

Conclusion :


Bon voila, rien d'original, mais comme je vous l'avait dit, je n'ai pas voulu faire le meilleur, je cherche juste à progresser =)

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.

Du même auteur (Simonledoudou)