Communauté sur les Eggdrops - Community about Eggdrops
Changement de realname au join - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (https://forum.eggdrop.fr)
+-- Forum: Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum: Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Thread: Changement de realname au join (/showthread.php?tid=403)



Changement de realname au join - heretoc - 24/05/2009

Hello,
J'essaye actuellement de faire un petit tcl qui modifie automatiquement le realname des utilisateurs au join dans un salon ou ce tient le robot mais je coince ... etant donné que j'ai jamais vraiment utiliser les regex et les raw je me suis un peu perdu et mon code est invalide (il y a aucune réaction).

Voici mon code :

tcl
bin join -|- "*" realname
proc realname {nick uhost hand chan arg} {
	global Clam;
	set asv [lrange $arg 2 end]
	set name [lindex $arg 0]
	bind_raw - 311 msg_realname
	if {$asv == ""|| [regexp -nocase {^[1-7][0-9]\s(h|f)\s.*} $asv]} {
	putdcc $Clam(idx) ":$Clam(link) who $asv"
	putdcc $Clam(idx) ":$Clam(pseudo) PRIVMSG $Clam(admin) :Mauvais ASV >> $name >> $asv"
	return 1
	}
}
 
proc msg_realname {nick from keyword arg} {
global Clam realname asv
    if {[info exists realname] && ($keyword == 311)} {
	putdcc $Clam(idx) ":$Clam(link) SETNAME $nick $Clam(asv)"
	unbind raw - 311 msg_realname 
	unset realname
             unset asv
	}
}


Ps : $Clam(asv) est une valeur par defaut dans un fichier de config qui est de "20 H asv de defaut"

Merci aux gens qui vont m'aider.


RE: Changement de realname au join - Merwin - 25/05/2009

Essayes avec ça comme regex:


Code:
^[1-7][0-9]\s[HF]\s(.*)$



RE: Changement de realname au join - heretoc - 25/05/2009

Daccord sinon la construction du code est bien ?


RE: Changement de realname au join - Merwin - 25/05/2009

bin c'est une commande perso?
Parceque un bind join avec un argument "arg" j'ai jamais vu.


RE: Changement de realname au join - heretoc - 25/05/2009

Petite erreure de ma part quand j'ai taper le code ^^, sinon cela est bind


RE: Changement de realname au join - Merwin - 25/05/2009

Nan mais ton code tu l'as même pas testé en fait, avoues, parceque la ça dois te générer une erreur direct.


RE: Changement de realname au join - heretoc - 25/05/2009

Si je l'est tester mais en touchant au code (en voulant modifier les procs) j'ai carrement effacer les deux premieres lignes et quand je les est réecrite, sa mais pas venue a l'idée de verifier le bind.
Donc en corrigeant correctement le bind voici l'erreure que j'obtient :
Tcl error [realname]: wrong # args: should be "realname nick uhost hand chan arg"


RE: Changement de realname au join - MenzAgitat - 25/05/2009

En gros l'erreur, que tu obtiens EST l'erreur dont te parlait Merwin et qui fait que ton bind ne peut pas fonctionner.

Syntaxe :
bind join <flags> <mask> <proc>
procname <nick> <user@host> <handle> <channel>



RE: Changement de realname au join - heretoc - 26/05/2009

Daccord, donc je bloque a cette endroit car je voit pas comment faire apart avec un raw ?

Est-ce que le code ci dessou pourais marcher ?

tcl
bind raw - "???" realname
proc realname { arg } {
global Clam;
....


N'etant pas chez moi je ne peut pas voir le nom/numero de la raw de join sur un salon ...
Le code que j'ai ecrit rapidement est fait directement a partire du forum.


RE: Changement de realname au join - CrazyCat - 26/05/2009

Selon cette page:
Quote:
  • Syntaxe: bind raw <flags> <keyword> <proc>
  • Procédure: procname <from> <keyword> <text>
Et j'avoue ne pas comprendre ta question sur le raw join...


RE: Changement de realname au join - heretoc - 26/05/2009

Enfaite non y'a pas vraiment de question, juste mon esprit loufoque qui a dit qu'une enorme *bip* ...
Par contre je comprend toujours pas pour faire mon bind =/


RE: Changement de realname au join - CrazyCat - 26/05/2009

Je ne comprends toujours pas. Quel bind ?
Tu as besoin de 2 binds: celui sur le join (pour lancer un /whois) et celui sur le raw 311 (le retour du whois).

Maintenant, si faire ton bind correspond à faire la procédure liée au bind, exprimes toi correctement.


RE: Changement de realname au join - heretoc - 26/05/2009

J'ai pas su m'exprimer ...
Mais tu m'a repondu sans réellement me comprendre, je n'avais pas compris que je devais faire 2 bind pour le join et après un pour le raw.
Sa m'aide beaucoup, merci


RE: Changement de realname au join - BlackNight - 26/06/2009

heretoc :p

quand tu fait un bind join, tu ne doit pas avoir le arg.


tcl
proc realname {nick uhost hand chan arg} { ...


doit être:


tcl
proc realname {nick uhost hand chan} { ...


dans un bind join, on ne doit pas trouver de "arg". sans quoi tu retrouve tout le temps une erreur genre:
"wrong args, should be { blablablabla }".

les autres, corrigez moi si je me trompe :$