![]() |
vip.tcl - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4) +--- Sujet : vip.tcl (/showthread.php?tid=582) |
vip.tcl - raziel22 - 14/01/2010 Bonjour tout le monde , alors voila j'ai recuperé une tcl pour voicer mes vip mais j'aurrais voulu que sa kickban ceux qui ne sont pas vip . Si il étais possible de m'aider à trouver ça serais sympa . J'ai cherché a modifier le vipscan sans succès . Merci d'avance . ######################################################################## # # BlackVIP TCL 1.0 # # !vip on/off # !addvip nick # !listvip # !remvip number ( take it from the list ) # #A TCL used to add VIP`s foreach chan.And if the nicks joins on the specific #chan they receive VOICE + a message.It has also a timer for scan if all the VIP`S #have VOICE. # BLaCkShaDoW ProductionS ####################################################################### #Set here the time for scan if all the VIP`S has VOICE (minutes) set viptime "2" #If you want the VIP to receive a message set here "1" #or else set here "0" set viphowmsg "0" #If you set "1" set here the message set vipmsg "YOu received VOICE because you are a VIP member of this chan :)" #Set here the flags that can add VIP`S set vipwho "Nmn|MN" ######################################################################## # # The ENd # ######################################################################## bind pub $vipwho !vip vipstatus bind pub $vipwho !addvip addvip bind pub $vipwho !remvip remvip bind pub $vipwho !listvip listvip bind join - * vipscan setudef flag vip if {![info exists vips_running]} { timer $viptime vips set vips_running 1 } proc vipstatus {nick host hand chan arg} { set flag "vip" set why [lindex [split $arg] 0] if {$why == "" } { puthelp "NOTICE $nick :use .vip <on> / <off>" return 0 } if {$why == "on"} { channel set $chan +$flag puthelp "NOTICE $nick :VIP active sur $chan" return 0 } if {$why == "off"} { channel set $chan -$flag puthelp "NOTICE $nick :VIP desactiver sur $chan" return 0 } } proc addvip {nick host hand chan arg} { set dir "/scripts/logs/vip($chan).txt" set vip [join [lindex [split $arg] 0]] if {$vip == ""} { puthelp "NOTICE $nick :Faire .addvip <nick>" return 0 } if {[file exists $dir] == 0} { set file [open $dir a] close $file } set file [open $dir a] puts $file $vip close $file puthelp "NOTICE $nick :VIP - $vip - ajouter dans la database" } proc listvip {nick host hand chan arg} { set dir "/scripts/logs/vip($chan).txt" if {[file exists $dir] == 0} { set file [open $dir a] close $file } set file [open $dir "r"] set w [read -nonewline $file] close $file set data [split $w "\n"] set i 0 if {$data == ""} { puthelp "NOTICE $nick :Il y'a aucun VIP`S !" return 0 } foreach vip $data { set i [expr $i +1] lappend vipnumber $i.$vip } foreach txt [wordwrap [join $vipnumber " "] 200] { puthelp "NOTICE $nick :Les VIP`S sont :" puthelp "NOTICE $nick :$txt" } } proc remvip {nick host hand chan arg} { set dir "/scripts/logs/vip($chan).txt" set number [join [lindex [split $arg] 0]] if {$number == ""} { puthelp "NOTICE $nick :Faire .remvip <number> (take`it from the list)" return 0 } if {[file exists $dir] == 0} { set file [open $dir a] close $file } set file [open $dir "r"] set data [read -nonewline $file] close $file set lines [split $data "\n"] set i [expr $number - 1] set delete [lreplace $lines $i $i] set files [open $dir "w"] puts $files [join $delete "\n"] close $files puthelp "NOTICE $nick :Supprimer de la liste le pseudo avec le nombre $number.Pour verifier ,faire .listvip" } proc vipscan {nick host hand chan} { global vipmsg viphowmsg set dir "/home/raziel/eggdrop1/scripts/logs/vip($chan).txt" if {[file exists $dir] == 0} { set file [open $dir a] close $file } set file [open $dir "r"] set w [read -nonewline $file] close $file set data [split $w "\n"] if {$data == ""} { return 0 } foreach vip $data { if {[string match -nocase $nick $vip]} { pushmode $chan +v $vip } } } proc vips { } { global viptime foreach chan [channels] { set dir "/scripts/logs/vip($chan).txt" if {[channel get $chan vip]} { putlog "Recherche VIP`S sur le salon $chan.." set file [open $dir "r"] set w [read -nonewline $file] close $file set data [split $w "\n"] foreach vip $data { if {[onchan $vip $chan]} { if {![isvoice $vip $chan]} { pushmode $chan +v $vip } } } } } timer $viptime vips return 1 } proc wordwrap {str {len 100} {splitChr { }}} { set out [set cur {}]; set i 0 foreach word [split [set str][unset str] $splitChr] { if {[incr i [string len $word]]>$len} { lappend out [join $cur $splitChr] set cur [list $word] set i [string len $word] } { lappend cur $word } incr i } lappend out [join $cur $splitChr] } putlog "BlackVIP TCL by BLaCkShaDoW Loaded" RE: vip.tcl - raziel22 - 15/01/2010 Bonjour , on ma dit que c'étais pas possible sans refaire tout le code . Merci quand meme et bonne continuation à tous . Donc sujet résolu :) RE: vip.tcl - raziel22 - 16/01/2010 Bonsoir à tous , je revien vers vous pour voir ce que vous pensez de ma tcl pour faire un systeme de vip par flags . J'avoue être nouveau dans la création de tcl , avant je ne fesais qu'en modifier et d'en traduire .Merci d'avance pour vos conseils et remaques . RE: vip.tcl - CrazyCat - 17/01/2010 Il y a déjà une chose qui me choque: toute personne qui n'est pas VIP est bannie du canal, mais pour l'ajouter dans les VIP elle doit être sur le canal... Comment cela peut-il fonctionner ? RE: vip.tcl - raziel22 - 17/01/2010 Bonjour , en ce qui conscerne : 1) Il y a déjà une chose qui me choque: toute personne qui n'est pas VIP est bannie du canal <--- rep: c'est bien mieux qu'une BL , seul ceux qui sont ajoutés dans la vip peuvent rester sur le salon et (spam , boulets etc ) dehors . 2) mais pour l'ajouter dans les VIP elle doit être sur le canal... <---- rep: j'avoue que j'ai peut être fais des erreurs comme le onchan dans le addvip . 3) j'avoue aussi que j'ai laissé des fautes dans le tcl pour les raisons etc, mais je devais avoir quelqu'un a m'aider pour le faire et j'ai eu personne . Donc je vien sur el forum c'est aussi pour trouver un peut d'aide et de conseils . Et donc pour ma tcl voir comment l'améliorer quoi . |