Vote-kick maj 10 nov

Contenu du snippet

Voilà un petit code que j'ai fait pour un pote (K-J158)

Si il n'y a pas d'opérateur dans votre chan ou si vous voulez mettre un peut de fun :D

il n'y a cas coller ce code dans les remote de mIRC

J'ai bien travaillé ce code et il ne devrais pas avoir de bug

Si la personne qui est concerné par le vote sort du chan ou quit, il ce fait bannir 10 min (valeur de base) et si il change de pseudo, ça le suit.

le vote est enregistré par ip donc impossible de voter plusieur fois si on change de nick

le vote ne peut être lancé que sur des user normal du chan (pas op/halfop/voice)

il vérifie aussi que la personne est bien présante dans le chan

il ne fait rien si il n'y ya pas minimum 3 votes

Mise à jour: (10 nov 03)
- Correction des fautes d'ortho :P
- Corrige le bug eventuel en cas de deco du bot
- Ajout d'une commande disponible pour les opérateurs du chan pour stopper le vote (!votekick stop)
- Verification en debut de code si il n'y a pas eu de bug (et reset le code si ya eu bug)

et wanadoo jlé **** :P zon K avoâr des ircd normaux

Source / Exemple :


on *:TEXT:*:?:{
  if ($1 != !votekick) halt 
  if ($timer(kickvote_vote).secs == $null) /unset %kickvote*
  ;si ya eu un prob d'unset
  if (%kickvote_on != $null)  /notice $nick Désolé, le vote est déjà lancé, vous devez attendre encore4 $timer(kickvote_vote).secs sec | halt 
  if ($2 !ison %chan)  /notice $nick Désolé, $2 n'est pas présent dans le canal %chan ! | halt 
  if ($2 !isreg %chan)  /notice $nick Désolé, les votes-kick ne s'adresse pas aux personnes ayant des privilèges ! | halt 
  if ($2 == $me)  /kick %chan $nick Oops | halt 
  /notice $nick Le vote-Kick pour $2 vien de débuter ! ::: Delire Vote Kick par Delirium@IRC.ZeFunChat.NET niark niark
  /timerkickvote_vote 1 60 kickvote_end
  /timerkickvote_vote2 1 45 /msg %chan Il ne reste plus que 15 secondes pour voter !
  set %kickvote_on 1
  set %kickvote_qui $2
  /notice %chan 4Kick Vote sur $2 de la part de $nick !
  /msg %chan 4Kick Vote sur $2 de la part de $nick ! :::: Pour le kicker, tapez: 12!byby sinon, tapez: 12!reste :::: 3Vous ne pouvez voter qu'une seule fois ! :::: durée du vote: 60 sec
  /notice $2 Un Vote-Kick se déroule sur toi en ce moment sur le canal: %chan , si tu le quitte en cours de vote tu seras banni 10 min.
}

on *:TEXT:*:#:{
  if (($1 == !votekick off) && ($nick isop $chan) && %chan == $chan))  /timerkickvote* off | /msg %chan $nick a stoppé le vote ! | /unset %kickvote* | halt 
  if (($chan != %chan) || (($1 != !byby) && ($1 != !reste))) { halt }
  if (%kickvote_on != 1)  /notice $nick Désolé, il n'y a pas de vote-kick en cours. | halt 
  if (%kickvote_host_ [ $+ [ $address($nick,2) ] ] != $null) { /notice $nick Désolé, on ne peut voter qu'une seule fois ! | halt }
  set %kickvote_host_ $+ $address($nick,2) 1
  if ($1 == !byby)   inc %kickvote_res_byby 
  elseif ($1 == !reste)   inc %kickvote_res_reste 
  /notice $nick Merci pour ton vote !
}

alias kickvote_end {
  set %kickvote_on 2
  /msg %chan 4FIN DU VOTE !
  /msg %chan Résultats: 
  if (%kickvote_res_byby == $null)  set %kickvote_res_byby 0 
  if (%kickvote_res_reste == $null)  set %kickvote_res_reste 0 
  /msg %chan Kicker %kickvote_qui $+ : %kickvote_res_byby voix
  /msg %chan Ne pas kicker %kickvote_qui $+ : %kickvote_res_reste voix
  if (%kickvote_res_reste == $null) { set %kickvote_result 100 }
  elseif (%kickvote_res_byby == $null) { set %kickvote_result 0 }
  else { set %kickvote_result $int($calc((%kickvote_res_byby / (%kickvote_res_byby + %kickvote_res_reste)) * 100)) }
  /msg %chan %kickvote_result $+ $chr(37) pour
  if ($calc(%kickvote_res_reste + %kickvote_res_byby) < 3) { /msg %chan Pas assé de votes ! | halt }  
  if (%kickvote_result <= 50) { /msg %chan %kickvote_qui l'a échapé belle ! }
  if ((%kickvote_result > 50) && (%kickvote_result < 80)) { /msg %chan Sanction: %kickvote_qui sera kické ! | /kick %chan %kickvote_qui }
  if (%kickvote_result > 80) { /msg %chan Sanction: %kickvote_qui sera KB 10 minutes | /mode %chan +b $address(%kickvote_qui,2) | /kick %chan %kickvote_qui | /timer 1 600 /mode %chan -b $address(%kickvote_qui,2) }
  unset %kickvote*
}
ON *:NICK:{ if ($nick == %kickvote_qui) { set %kickvote_qui $newnick | /msg %chan $nick est maintenan $newnick $+ , le vote continue.. (mouhahaha) } }
ON *:PART:#:{ if ((%chan == $chan)  && ($nick == %kickvote_qui)) { /mode %chan +b $address(%kickvote_qui,2) } }
ON *:QUIT:{ if ($nick == %kickvote_qui) { /mode %chan +b $address(%kickvote_qui,2) } }
ON *:DISCONNECT: /unset %kickvote*

Conclusion :


les commandes:
- /msg nom-du-bot !votekick pseudo
- !byby
- !reste
- !votekick stop (op selement)

Note:
pour une question de modularité, le chan est contenu dans la variable: %chan
si vous êtes un débutant, tapez dans votre mIRC /set %chan #votre-chan
sinon vous pouvez modif ou faire un replace avec cotre chan à vous de voire :)

voilà, j'espère que sa vous amusera bien :)

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.