NOTICE POUR HALFOP OPERATEUR DE SALON

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 10 mai 2006 à 20:19
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 13 mai 2006 à 19:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37536-notice-pour-halfop-operateur-de-salon

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
13 mai 2006 à 19:07
La solution de Wims est, à mon goût, la bonne
je m'explique :
tu fais une boucle avec : tant que nick est non nul, alors ...
le mieux, c'est de faire comme wims, càd :
var %i 1, %max $nick($1,0,oh) (le oh n'est pas obligé, c'est juste histoire de ne pas faire une boucle trop grande ... tu fais ici déjà une restriction sur le nombre de nicks)

et donc while (%i <= %max) { ... }

Tu pourrais stocker le nick dans une variable locale, histoire de ne pas utiliser $nick(#,%i) plusieurs fois. J'pense que t'y gagnerais en temps d'execution.
Je veux dire par là :
var %ni = $nick(#,%i,oh)
if ((%ni != $me) || (%ni ishop $1) || (%ni isop $1))

set %userLs %userLs => utilise /var
Essaye aussi de voir si /notice nick1,nick2 fait flooder s'il y a beaucoup nicks.

Oublie pas de vérifier que $1 est bien un salon. Si ce n'est pas le cas, peut-être que tu pourrais faire en sorte que ce soit le salon actif, si c'est bien un salon bien sûr ($active)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
12 mai 2006 à 19:16
J'ai essayé ces commandes et il faut minimum le voice sur le salon pour pouvoir s'en servir ( sans access ) mais il voulait que la commande reste accessible pour tous...
J'ai appris par la même occasion qu'il existe aussi la meme commande pour les privmsg :
[18:55:47] <oug>y'a aussi /privmsg [mode]#chan
toujour utile :)
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
11 mai 2006 à 11:10
Lol, je ne sais pas ce que veut dire ton smiley, mais il faut tester de toute facon, je ne suis pas sur de moi.
A noter que ta méthode peut être intéressante tout de même, sur un serveur ou je suis, il faut l'utiliser sous peine d'avoir son host décrypté qui apparait.
Bonne journée ;)
elkwi Messages postés 7 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 juillet 2006
11 mai 2006 à 11:06
Super pour ta remarque WINS ça m apprend des nouveau tips
mais la remarque de PADA r0>< merci a vous 2, j aime quand ça se passe comme ça surtout que je suis loin de maitriser les commandes Irc :D
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
11 mai 2006 à 09:27
Je n'ai jamais essayé (et je peux pas depuis le taff), mais préfixer le nom du salon par le mode ne suffit pas ?
Ca, ca marche :
/notice @#salon blah, envoie blah aux ops du salon
/notice @+#salon blah, envoie blah aux ops+voices du salon
/notice +#salon blah, envoie blah aux voices du salon...
Donc je me demande si :
/notice @%#salon blah, n'enverrait pas blah aux ops+hops ? non ?
De toute facon à titre pédagogique c'est bien pour aider les débutants ;)
Bonne continuation.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
10 mai 2006 à 20:19
$nick($chan,0,oh) retourne le nombre d'halfop et d'op sur le salon.
tu fait une boucle la dessus au lieu de faire une boucle sur tout les users, ca ira bien plus vite !

alias hnotice {
;on initialise les variable
var %a 1 ,%b = $nick($1,0,oh) ,%n
;la boucle
while (%a <= %b) {
;si le nick est different du notre on l'ajoute dans la variable
if ($nick($1,%a,oh) !$me) var %n $addtok(%nick,$ifmatch,44)
;on incremente
inc %a
}
;on envoi la notice.
notice %n <notice moderateur> $2-
}

T'avais demandé plus court :)
Rejoignez-nous