Amsg #services

stardeads Messages postés 5 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 10 décembre 2007 - 10 déc. 2007 à 15:21
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 - 14 déc. 2007 à 20:17
bonjour, je cherche un script me permettant de faire un /amsg mais que
celui-ci ne s'ecrive pas dans le chan #sevices ...
Je ne voit pas comment faire, merci

Can i play with madness

13 réponses

cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
10 déc. 2007 à 18:34
Utilisation : /_amsg le texte a envoyer :)

Alias _amsg {  Var %i $chan(0) , %c , %d $1-
  While %i {
    If ($chan(%i) != #services) {
      Var %c = $iif($count(%c,$chr(44)) < 1),%c,%c $+ $chr(44)) $+ $chan(%i)      If ($numtok(%c,44) 5) { MSG %c %d | Var %c $null }
    }
    Dec %i
  }
  If ($numtok(%c,44) > 0) { MSG %c %d | Var %c = $null }
}

Cordialement
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
10 déc. 2007 à 19:29
En mode plus court, sans while et en plus avec des regex et un $*  :

alias _amsg  {
  var %t $1-
  tokenize 46 $regsubex($str(a,$chan(0)),/a/g,$iif($chan(\n) != #services,$v1) .)
  msg $* %t
}

Franchement c'est pas mieux =( ?
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
13 déc. 2007 à 13:18
Ca fait longtemps que je suis pas venu faire chier ici :D

@TropNul: Le premier alias ne fonctionne pas, les parenthèses sont incorrectes. Après 2-3 modifs, je comprends pas bien le $iif ligne 5, donc on va utiliser du vrai mIRC, à savoir : $addtok(%c,$chan(%i),44)
Et là.. ça fonctionne.

@Wims: franchement, c'est surtout pas trop pareil :p TropNul a essayé de reproduire le comportement courant de /amsg, à savoir qu'il fait des "PRIVMSG" sur des listes #chan1,#chan2,#chan3 pour minimiser les envois de commande (et donc l'excess flood potentiel). Ton alias fait un /msg par chan, donc pas pareil.

Pour les gens en général : si vous voulez faire des tests, petit conseil du jour, vous mettez "alias -l msg echo -a :: $1-" dans le script dans lequel vous testez ça, pour pas pourrir vos salons..

Bonne journée mssieurs/dames (et désolé de t'ennuyer Wims, cela dit j'aime bien ton $regsubex, je me suis jamais penché dessus, ça donne envie !)
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
13 déc. 2007 à 14:52
Va pour le $addtok alors ;). En fait, j'aurais du mentionne "non teste" a la fin. Donc merci a pada d'avoir teste et corrige.

Du coup, cela devient:

Alias _amsg {  Var %i $chan(0) , %c , %d $1-
  While %i {
    If ($chan(%i) != #services) {
      Var %c = $addtok(%c,$chan(%i),44)      If ($numtok(%c,44) 5) { MSG %c %d | Var %c $null }
    }
    Dec %i
  }
  If ($numtok(%c,44) > 0) { MSG %c %d | Var %c = $null }
}

Ps: J'aime aussi l'utilisation du $regsubex en ce sens. Je crois avoir vu cette methode dans un generateur de mot de passe...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 déc. 2007 à 19:24
Euh, Ga ? Le post de Pada m'a vraiment surpris, parce que j'avais pas regardé le code de Tropnul, je savais juste ce qu'il faisait selon le msg de l'auteur original...
En bref, sois je suis fou, sois je suis con, mais j'sais pas d'ou /msg permet de donné plusieurs cible comme salon càd que /msg #salon1,#salon2 ne marche pas (pas chez moi du moins, j'ai retesté parce que je trouve ça bizarre que deux personnes tel que vous deux ne trouve pas ça bizarre).Donc d'après moi, il n'y a aucun autre moyen de faire et mon code n'est même pas optimisable :D

Ps : la methode avec le $regsubex m'a été montré par Kitai, elle devrait être utilisé le plus souvent possible... et Pada, je repasserai te voir tu sais ou ;)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 déc. 2007 à 19:31
Euh, Ga ? Le post de Pada m'a vraiment surpris, parce que j'avais pas regardé le code de Tropnul, je savais juste ce qu'il faisait selon le msg de l'auteur original...
En bref, sois je suis fou, sois je suis con, mais j'sais pas d'ou /msg permet de donné plusieurs cible comme salon càd que /msg #salon1,#salon2 ne marche pas (pas chez moi du moins, j'ai retesté parce que je trouve ça bizarre que deux personnes tel que vous deux ne trouve pas ça bizarre).Donc d'après moi, il n'y a aucun autre moyen de faire et mon code n'est même pas optimisable :D

Ps : la methode avec le $regsubex m'a été montré par Kitai, elle devrait être utilisé le plus souvent possible... et Pada, je repasserai te voir tu sais ou ;)

Ps2: j'ai bien fait de pas poster, je viens de remarqué que avec la commande //privmsg, on pouvait spécifié plusieurs cible, mais que le message n'étais pas relayé par le server si on ne se trouve pas sur le salon.mIRC n'affiche dailleur même pas le message même s'il provient de nous mais est bien vu par les autres ( a confirmer tout ça)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 déc. 2007 à 21:11
bug du site :s ? dsl en tout cas.
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
13 déc. 2007 à 23:12
Oui, j'ai déjà remarqué ça.
Le /msg #salon1,#salon2 etc fonctionne bien, mais mIRC ne les affiche pas correctement. Le PRIVMSG généré est lui bien relayé sur chacune des cibles, en fonctions des modes salons si ce sont des salons. Le bon test à faire c'est d'être connecté avec deux clients pour être certain.
Au passage, /notice fonctionne pareil.. Ce qui permet de faire des trucs genre : /notice #salon1,+#salon2,@+#salon3,pseudo blabla, et ça ne génère qu'une seule commande auprès du serveur.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 déc. 2007 à 19:07
Donc c'est un bug de mirc, puisque on assume que le server renvoie lui l'info pour chaque salon/cible.
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
14 déc. 2007 à 19:52
Non, c'est un comportement normal décrit dans la RFC : http://abcdrfc.free.fr/rfc-vf/rfc1459.html#441 :-) Après si le serveur est pas RFC compliant, c'est une autre histoire...
Bien qu'il y ait tout de même un bug d'affichage, puisque mIRC devrait afficher le "/msg" sur chaque élément de la liste, ce qu'il ne fait apparemment pas.
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 déc. 2007 à 20:10
Je vois pas ou la RFC dis que c'est un comportement normal, ce paragraphe décris  pour moi uniquement comment fonctionne un privmsg, mais je ne vois pas ou n'ai pas vu ou ce qu'il disait que le fait que de faire des privmsg sur plusieur salon ne devrais pas etre afficher, uniquement lorsque c'est nous même ($me) qui faisont le /privmsg, j'vais faire quelque test histoire de bien comprendre, mais je suis sur que tu peux encore éclaircir ça.
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
14 déc. 2007 à 20:15
Ah, je croyais que tu disais que le fait que mIRC envoie un "PRIVMSG #salon1,#salon2" était un bug, je t'avais mal compris je pense. Ca c'est bien normal, donc, on est d'accord..
Le fait que ça ne s'affiche pas relève par contre bien d'un bug de mIRC. Et je file faire un peu de Ruby ^^
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 déc. 2007 à 20:17
Oué jme disait aussi, j'vais faire des test ce soir (j'espere) et s'il le faut, reporter le bug
0
Rejoignez-nous