Communauté sur les Eggdrops - Community about Eggdrops
Sajoin Par Vhost - 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: Sajoin Par Vhost (/showthread.php?tid=187)



Sajoin Par Vhost - Babytigrou16 - 09/04/2008

Salut regardé j'ai codé un script ^^ mais malheuresement il ne fonctionne pas avec Lea il me monte une erreur :

-21:53:45- <Nemesis> [03:53] Erreur tcl [lea:link]: wrong # args: should be "join nick uhost handle channel arg"
-21:53:46- -irc.zetland.fr- *** Notice -- (link) Link irc.zetland.fr -> Protection.zetland.fr[@64.18.153.2.35816] established
-21:53:46- -irc.zetland.fr- *** Global -- Closing link: Write error: Broken pipe - Protection.zetland.fr[64.18.153.2]
-21:53:46- <Nemesis> [03:53] -NOTICE- *** Notice -- (link) Link irc.zetland.fr -> Protection.zetland.fr[@64.18.153.2.35816]

Et voici le code que j'ai fait :

tcl
bind join - "**" join
proc join { nick uhost handle channel arg } {
if {
[string match -nocase *@AnimPlus.zetland.fr $uhost]  || 
[string match -nocase *@ChanAdmin.zetland.fr $uhost]  || 
[string match -nocase *@NetAdmin.zetland.fr $uhost]  || 
[string match -nocase *@TechAdmin.zetland.fr $uhost] || 
[string match -nocase *@ChanOp.zetland.fr $uhost] 
} { 
putquick "SAJOIN $nick #Staff+"
} }


J'aimerais savoir ce qui cloche s.v.p


RE: Sajoin Par Vhost - CrazyCat - 09/04/2008

Bon, plusieurs erreurs à mon avis:
  1. "**" dans le masque du join? Tu met ou bien "*" ou bien "#canal *" mais pas "*" qui ne veut rien dire
  2. L'argument "arg" est en trop dans ta procédure (voir http://www.eggdrop.fr/Binds#JOIN )
  3. Pourquoi mettre "-nocase" comme option à match alors que tu mets des masques avec des majuscules?



RE: Sajoin Par Vhost - Babytigrou16 - 09/04/2008

Sa ne fonctionne toujour pas pour ce que tu ma dit ^^ Regarde l'erreur :

-10:22:39- <Nemesis> [16:22] Erreur tcl [lea:link]: wrong # args: should be "join nick uhost handle channel"
-10:22:39- <Nemesis> [16:22] -NOTICE- *** Notice -- (link) Link irc.zetland.fr -> Protection.zetland.fr[@64.18.153.2.41391] established
-10:22:39- <Nemesis> [16:22] -NOTICE- *** Global -- Closing link: Write error: Broken pipe - Protection.zetland.fr[64.18.153.2]

Et voici le TCL que j'ai modifié avec ce que tu ma dit :

bind join - "*" join
proc join { nick uhost handle channel } {
if {
[string match *@AnimPlus.zetland.fr $uhost] ||
[string match *@ChanAdmin.zetland.fr $uhost] ||
[string match *@NetAdmin.zetland.fr $uhost] ||
[string match *@TechAdmin.zetland.fr $uhost] ||
[string match *@ChanOp.zetland.fr $uhost]
} {
putquick "SAJOIN $nick #Staff+"
} }


RE: Sajoin Par Vhost - NuNuX - 09/04/2008

Salut,

tcl
proc join { nick uhost hand chan } {

;)


RE: Sajoin Par Vhost - Babytigrou16 - 09/04/2008

NuNuX Sa Ne fonctionne pas regarde encore l'erreur :

-11:48:00- <Nemesis> [17:48] Erreur tcl [lea:link]: wrong # args: should be "join nick uhost hand chan"
-11:48:00- <Nemesis> [17:48] -NOTICE- *** LocOps -- Server Protection.zetland.fr[64.18.153.2] closed the connection

Et la sa me soule :/


RE: Sajoin Par Vhost - NuNuX - 09/04/2008

Perso j'ai regarder vite fait je vois pas... desoler j'ai du taff :/


RE: Sajoin Par Vhost - DaV34 - 09/04/2008

Babytigrou16 Wrote:NuNuX Sa Ne fonctionne pas regarde encore l'erreur :

-11:48:00- <Nemesis> [17:48] Erreur tcl [lea:link]: wrong # args: should be "join nick uhost hand chan"
-11:48:00- <Nemesis> [17:48] -NOTICE- *** LocOps -- Server Protection.zetland.fr[64.18.153.2] closed the connection

Et la sa me soule :/

Je dirais plutôt a coup sur que tu as trafiquais la ou il fallait pas.
Lea, comme Eva ou autre application codé par TiSmA, qui utilisent les "sockets", sont indépendant des événements d'un eggdrop.
Autrement dis, si tu veux détecter un join via Lea, c'est pas par "bind join" qu'il faudra passer.

Pourrais-je voir par tout hasard ta procédure lea:link ?


RE: Sajoin Par Vhost - Babytigrou16 - 09/04/2008

c'est a dire DaV34 ???


RE: Sajoin Par Vhost - DaV34 - 09/04/2008

DaV34 Wrote:Pourrais-je voir par tout hasard ta procédure lea:link ?



RE: Sajoin Par Vhost - CrazyCat - 09/04/2008

Message supprimé: on apprend la balise TCL et on ne poste pas 200 lignes de script!


RE: Sajoin Par Vhost - BlackNight - 25/06/2009

Alors, pour ceux qui se posent encore la question. le système sur ce principe est, avec un code qui fonctionne:


tcl
bind join - "*" myjoin
proc myjoin { nick uhost handle channel } {
if {
[string match -nocase "*@helper.eggdrop.fr" $uhost] || 
[string match -nocase "*@anim.eggdrop" $uhost] || 
[string match -nocase "*@anim.eggdrop.fr" $uhost] || 
[string match -nocase "*@op.eggdrop" $uhost] || 
[string match -nocase "*@op.eggdrop.fr" $uhost] || 
[string match -nocase "*@admin.eggdrop" $uhost] || 
[string match -nocase "*@Admin.eggdrop.fr" $uhost] || 
[string match -nocase "*@global.eggdrop.fr" $uhost] || 
[string match -nocase "*@techadmin.eggdrop.fr" $uhost] || 
[string match -nocase "*@netadmin.eggdrop.fr" $uhost] || 
[string match -nocase "*NetAdmin@netadmin.eggdrop.fr" $uhost]
} { 
putquick "SAJOIN $nick #Staff"
}
}


si non, un autre système possible, basé sur clam.tcl codé par mon ami Heretoc:


tcl
proc putfast {arg} {
 append arg "\n"
 putdccraw 0 [string length $arg] $arg
}
 
 
set vhostsaj {
	*@netadmin.eggdrop.fr
	*@techadmin.eggdrop.fr
	*@admin.eggdrop.fr
	*@global.eggdrop.fr
	*@chanop.eggdrop.fr
	*@anim.eggdrop.fr
	*@helper.eggdrop.fr
	}
bind join - "*" mesajoin
proc mesajoin {nick host hand arg} {
 global vhostsaj
  foreach vhost1 $vhostsaj {
  if [string match -nocase $vhost1 $host]  {
putfast "SAJOIN $nick #Staff"
 
    } 
  }
}


voilà, en espérant que ça peux aider les futurs chercheurs.