Communauté Eggdrop
Gline user - Version imprimable

+- Communauté Eggdrop (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)
+--- Sujet : Gline user (/showthread.php?tid=1207)



Gline user - nispOr - 10/07/2012

Bonjour,


je voudrais un script tcl pour gliner un user en faisant exemple : !gline user
cette commande sera disponible, qu'à partir d'un salon spécifique.
Citation :set glinechan "#test"

bind pub o !gline pub:!gline
proc pub:!gline { nick uhost handle channel arg } {
set nick [lindex $arg 0]
putserv "/gline $nick vous êtes banni du réseau"

}
putserv "$::glinechan "
return 1
}

Je voudrais savoir si mon script est bon ? si vous pouvez l'améliorer je dirais pas non.


RE: Gline user - CrazyCat - 10/07/2012

Mis à part le fait qu'utiliser un eggdrop (ircop donc) pour faire un gline est une énorme faille de sécurité, que ta commande de gline est totalement fausse et que tu as du code en trop qui va faire planter ton eggdrop, tout est bon.

Bref, à refaire complètement, et avant tout il faut vérifier l'utilité de ton script.


RE: Gline user - nispOr - 10/07/2012

Bah l'utilité c'est de faire un peu comme le système du bot géofront, que certains membres du staff peuvent gliner en tapant cette commande.
T'aura pas un exemple qui soit à peu près similaire?


RE: Gline user - CrazyCat - 10/07/2012

Jette un oeil sur http://www.eggdrop.fr/board/GestionBot-V20-Final-t-841.html peut-être ?


RE: Gline user - ZarTek - 12/07/2012

Bonjour !

Je pense que le code devrai ressemblé un peu plus à ceci :
tcl
set GLineChan	"#test";
set GLineTime	"0";
bind pub o !gline pub:gline
proc pub:gline { nick uhost handle channel arg } {
	if { ![onchan $nick $::GLineChan] } { putquick "privmsg $chan :Access Denied." return 0; }
	set nick	[lindex $arg 0];
	putquick "gline $nick $::GLineTime :vous êtes banni du réseau";
	return 1;
}





RE: Gline user - CrazyCat - 12/07/2012

mcdeffice a écrit :Je pense que le code devrai ressemblé un peu plus à ceci :
tcl
set GLineChan	"#test";
set GLineTime	"0";
bind pub o !gline pub:gline
proc pub:gline { nick uhost handle channel arg } {
	if { ![onchan $nick $::GLineChan] } { putquick "privmsg $chan :Access Denied." return 0; }
	set nick	[lindex $arg 0];
	putquick "gline $nick $::GLineTime :vous êtes banni du réseau";
	return 1;
}


CrazyCat a écrit :que ta commande de gline est totalement fausse
Et j'en ai discuté avec nispOr sur IRC, il ne se rend pas compte de toute la mécanique impliquée, surtout du fait que l'eggdrop n'est pas forcément sur un canal commun avec la victime (donc obligation de /whois et récupérer les infos)


RE: Gline user - aliasangelius - 13/07/2012

Whois ? sa serais pas plutôt un /who $pseudo ?

De plus Geofront est une socket et non pas un eggdrop.

tcl
send ":$::sock(nick) WHO $pseudok"



Qui retrouve $pseudok :

tcl
if [string match **@* $pseudok] {
....



Exemple vite fait et la c'est à partir d'une socket.