Sajoin Par Vhost
#1
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
Répondre Avertir
#2
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?
Répondre
#3
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+"
} }
Répondre Avertir
#4
Salut,
TCL
proc join { nick uhost hand chan } {


Wink
Répondre Avertir
#5
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 :/
Répondre Avertir
#6
Perso j'ai regarder vite fait je vois pas... desoler j'ai du taff :/
Répondre Avertir
#7
Babytigrou16 a écrit :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 ?
Répondre Avertir
#8
c'est a dire DaV34 ???
Répondre Avertir
#9
DaV34 a écrit :Pourrais-je voir par tout hasard ta procédure lea:link ?
Répondre Avertir
#10
Message supprimé: on apprend la balise TCL et on ne poste pas 200 lignes de script!
Répondre
#11
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.
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté