Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NOTICE POUR HALFOP OPERATEUR DE SALON


Information sur la source

Catégorie :Scripts Classé sous : notice, halfop, operateur, hnotice, moderateur Niveau : Débutant Date de création : 10/05/2006 Date de mise à jour : 11/05/2006 11:36:47 Vu : 4 161

Note :
Aucune note

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Ce script envoie une notice a tous les utilisateurs halfop et operateur d un salon.
Ceci doit certainement avoir deja été fait. Bref...
Surtout a titre 'educatif', il montre comment utiliser la liste de user sur un salon (c'est un sujet assez recurent) et aussi comment concatener une chaine de caractere.
Code archi commenté pour la bonne comprehension. ;)
NB : Si quelqu un a deja vu ça dans Mirc ou une manière plus simple de le faire, ça m'interesse !!
 

Source

  • ;; version de base a titre pedagogique et valable dans certains cas (cf le 2ème commentaire de PaDa)
  • /hnotice {
  • ;; syntaxe /hnotice <salon> <message>
  • var %o = 1
  • while ($nick($1,%o) != $null) { ;; pour tous les pseudos presents sur un salon
  • ;; si cen est pas moi et a condition que le pseudo soit halfop ou op
  • if ( ($nick($1,%o) != $me) && ( ($nick($1,%o) isop $1) || ($nick($1,%o) ishop $1) )) {
  • ;; concatenation de la liste des halfop/op avec le pseudo suivant
  • /set %userLs %userLs $+ $nick($1,%o) $+ ,
  • }
  • ;; incrementation (merci RCA ArKanis ;)
  • inc %o
  • }
  • ;; Envoie de la commande en enlevant la ',' de fin (pseudo1,pseudo2...,pseudoN,)
  • /notice $left(%userLs,$calc($len(%userLs) - 1)) $+ $chr(32) $+ <notice moderateur> $+ $chr(32) $+ $2-
  • ;; desallocation des variables
  • unset %o
  • unset %userLs
  • }
  • ;; version PaDa featuring skwi
  • /hnotice {
  • ;; syntaxe /hnotice <salon> <message>
  • /notice @% $+ $1 $+ $chr(32) $+ $2-
  • }
;; version de base a titre pedagogique et valable dans certains cas (cf le 2ème commentaire de PaDa)
/hnotice {
  ;; syntaxe /hnotice <salon> <message>
  var %o = 1
  while ($nick($1,%o) != $null) { ;; pour tous les pseudos presents sur un salon
    ;; si cen est pas moi et a condition que le pseudo soit halfop ou op
    if ( ($nick($1,%o) != $me) && ( ($nick($1,%o) isop $1) || ($nick($1,%o) ishop $1) )) {
      ;; concatenation de la liste des halfop/op avec le pseudo suivant
      /set %userLs %userLs $+ $nick($1,%o) $+ ,
    }
    ;; incrementation (merci RCA ArKanis ;)
    inc %o 
  }
  ;; Envoie de la commande en enlevant la ',' de fin (pseudo1,pseudo2...,pseudoN,) 
  /notice $left(%userLs,$calc($len(%userLs) - 1)) $+ $chr(32) $+ <notice moderateur> $+ $chr(32) $+ $2-
  ;; desallocation des variables
  unset %o
  unset %userLs
}

;; version PaDa featuring skwi
/hnotice {
  ;; syntaxe /hnotice <salon> <message>
  /notice @% $+ $1 $+ $chr(32) $+ $2-
}

Conclusion

Certains pourraient se demander pourquoi on ne limite pas la commande seulement si celui qui la passe est au moins halfop:
1 - Ceci va etre l'objet d'une autre version pour un autre alias.
2 - dans le cas de certains salon il est interessant qu'un utiliseur 'Voicé' ou pas puisse avertir les moderateurs
 

Historique

10 mai 2006 17:44:55 :
Changement de categorie tutoriaux script (arf satanée roulette de souris)
11 mai 2006 11:36:48 :
Prise en compte de la remarque de PaDa (ça allège énormément)

Commentaires et avis

signaler à un administrateur
Commentaire de wims le 10/05/2006 20:19:56

$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 :)

signaler à un administrateur
Commentaire de PaDa le 11/05/2006 09:27:15

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.

signaler à un administrateur
Commentaire de elkwi le 11/05/2006 11:06:37

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

signaler à un administrateur
Commentaire de PaDa le 11/05/2006 11:10:15

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 ;)

signaler à un administrateur
Commentaire de wims le 12/05/2006 19:16:04

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 :)

signaler à un administrateur
Commentaire de RCA ArKanis le 13/05/2006 19:07:55

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)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

halfop ... [ par PopKorn ] Pour un op c on ^*:OP:*: { ... pr un voice c on ^*:VOICE:*: { ... mais pour les halfop ... on fais comment ? :pg toujours des questions a la con moi . IRCOP ET notice [ par bastar ] Bonjour certain d'entre vous connaissent les SNOTICE exemple un user vous whois ca vous le dit mais j'aimeras que ca me le dise dans mon -a (active ) aider moi !!!! :( [ par jujuquatre ] salut a tous je cree un bot mirc et j'ai un probleme pour les systeme d'accessquand je m'identifie je fait " login &lt;mon user&gt; &lt;mon mot de pas les notices [ par HatMan ] jaimerai ke les notice dune personne aille dans une window et ke dans la windowje pensai aon *:notice:*:{ halt window @notice aline @notice $ AIDE !!!!!!! [ par lakata ] g un bot !!je voudrais lui faire dire une notice kan une personne se connecte sur mon chan !!par exemple :Mr Dupont se connecte, et une notice lui app Comment empecher d'etre deco pour excess flood [ par Nenex ] Valà mon problème c'est que mon bot doit afficher en notice un certains nombres de messages (il s'agit d'un bot "manager" pour counter strike).par exe Notice après fermeture d un PV [ par Chutney ] voila je voudré ke kan je ferme ma fenetre de query sa envoie une notice o gars concerné een disant : My Query with you has been close; un truc du gen Vote.. [ par matrix301 ] Bonsoir, serait t'il possible avec le script "Vote" de NOMDUCREATEUR de faire un message tous les 1 minutes pour dire que le vote est toujours encore? Anti notice [ par copatte ] Voila j'ai vu des anti notice et anti amsg mai je ne trouve pas la commandes si vous en avais une des deux reponder tanks !! Fermer plusieurs fenêtres {@window'_'$nick} ??? [ par NmL38 ] Voilà j'ai besoin d'un peu d'aide ....j'ai donc j'ai ce petit code on ^*:notice:*:*:{ if (%noticeview == Off) return elseif (!$window($+(@notice,_,$


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,811 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.