Mass modes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 447 fois - Téléchargée 30 fois

Contenu du snippet

;Snippet pour faire des "mass modes".
;regroupe les mass: voice/devoice/op/deop/halfop/dehalfop/ban/unban/kick
;à exécuter sous la forme:
; /mode.all +/-mode
; pour le kick çela prend en compte que ce soit +k ou -k ..

plutôt axé snippet comme d'hab, ce code regroupe plusieurs aliases pour faire des "mass modes" j'espère que ça pourra aider des gens..

Source / Exemple :


alias b { return $+($chr(2),$1,$chr(2)) }

alias mode.all { 
  if $regex($1,^([+-][ovhkb])) { echo -a Modes all: $+([,$b($regml(1)),]) sur $+([,$b($active),])
;regex qui regarde si la commande est bien effectuée sous la forme mode.all +/-mode
    var %i = $regml(1), %! $nick($chan,0) , %!: = 1
    if k isin %i { while %!: <= %! { $iif($nick($active,$v1) != $me,kick $active $nick($active,%!:) MassKick,) | inc %!: } | halt }
; si le mode spécifié est +k ou -k (ça revient au meme..) on fait un while pour mass kick tlm
    elseif b isin %i { while %!: <= %! { var %ù $addtok(%ù,$address($nick($active,$v1),2),32) | inc %!: } }
;si  le mode est +/- b on met dans une var toutes les adresses des personnes présentes sur le chan
    else { while %!: <= %! { var %ù $addtok(%ù,$nick($active,$v1),32) | inc %!: } }
;sinon on met dans cette var les pseudos des gens
    var %p: = 1, %p^ = $numtok(%ù,32)
  while %p: <= %p^ { mode $active $+($left(%i,1),$str($right(%i,1),$modespl)) $gettok(%ù,%p: $+ - $+ $calc(%p: + $calc($modespl -1)),32) | inc %p: $modespl } }
;cette boucler permet de faire en sorte que tout le monde soit affecté par le mass mode en gérant le $modespl (merci pada javais zappé ça)
  else { echo -s */mode.all: paramètres erronés }
;si l'aliase est malle entrée ça retourne une erreur dans la fênetre de status..
}

Conclusion :


si bug: tofu.xdb@gmail.com merci..

A voir également

Ajouter un commentaire

Commentaires

n0man
Messages postés
26
Date d'inscription
jeudi 23 février 2006
Statut
Membre
Dernière intervention
30 octobre 2007
-
Apres plusieur test voici un 1er resultat pour s exclure des modes (ce n est pas parfait j y travail)

alias b { return $+($chr(2),$1,$chr(2)) }

alias mode.all {
if $regex($1,^([+-][ovhkb])) { echo -a Modes all: $+([,$b($regml(1)),]) sur $+([,$b($active),])
;regex qui regarde si la commande est bien effectuée sous la forme mode.all +/-mode
var %i $regml(1), %! $nick($chan,0) , %!: 1
if k isin %i { while %!: <= %! { $iif($nick($active,$v1) != $me,kick $active $nick($active,%!:) MassKick,) | inc %!: } | halt }
; si le mode spécifié est +k ou -k (ça revient au meme..) on fait un while pour mass kick tlm
elseif b isin %i { while %!: <= %! { var %ù $addtok(%ù,$address($nick($active,$v1),2),32) | inc %!: } }
;si le mode est +/- b on met dans une var toutes les adresses des personnes présentes sur le chan
else { while %!: <= %! { var %ù $deltok($addtok(%ù,$nick($active,$v1),32),$v1,32) | inc %!: } }
;sinon on met dans cette var les pseudos des gens
var %p: 1, %p^ $numtok(%ù,32)
while %p: <= %p^ { mode $active $+($left(%i,1),$str($right(%i,1),$modespl)) $gettok(%ù,%p: $+ - $+ $calc(%p: + $calc($modespl -1)),32) | inc %p: $modespl } }
;cette boucler permet de faire en sorte que tout le monde soit affecté par le mass mode en gérant le $modespl (merci pada javais zappé ça)
else { echo -s */mode.all: paramètres erronés }
;si l'aliase est malle entrée ça retourne une erreur dans la fênetre de status..
n0man
Messages postés
26
Date d'inscription
jeudi 23 février 2006
Statut
Membre
Dernière intervention
30 octobre 2007
-
aussi je ne vois pas a quoi correspond $v1 j ai zieuté l aide mirc mais aucune ref dessus ???
sinon éxélent 10/10
n0man
Messages postés
26
Date d'inscription
jeudi 23 février 2006
Statut
Membre
Dernière intervention
30 octobre 2007
-
else { while %!: <= %! { var %ù $iif($nick($active,$v1) != $me,$addtok(%ù,$nick($active,$v1),32),) | inc %!: } }

Ca exclus bien la personne qui execute la cmd mais ca retourne les pseudo en numerique comme si tu ecrivais $nick($active,0), j' essaye de modifier sans succé kelk1 aurait il une idée svp
cs_tofu
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1 -
c'est un snippet donc ça se met ds un fichier remote, normalement ya juste à modif pour que tu sois pas affecté toi même par le mode. ( et d'autres modifs si t'en as envie )
Supr4a
Messages postés
20
Date d'inscription
vendredi 14 octobre 2005
Statut
Membre
Dernière intervention
19 juillet 2008
-
la sources elle se met ds remote ou aliase? et es-ce qu'il faut modifier des truc dans cette source ou pas?

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.