PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
# Settings # Channels where you want RepeatPro active (quoted list, spaces between channelnames) set rp_channels "#papatya" # Small repeat flood, kick on repeats:seconds set rp_kflood 3:30 # Small repeat flood kick reasons set rp_kreason { "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" } # Large repeat flood, kick-ban on repeats:seconds set rp_bflood 5:30 # Large repeat flood kick-ban reasons set rp_breason { "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" } # Spam repeat flood, kick on repeats:seconds set rp_sflood 3:240 # Spam repeat flood kick reasons set rp_sreason { "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" } # Set the string length for spam-type text (lines of text shorter than this # will not be counted by the 'spam' type repeat detector) set rp_slength 40 # Repeat offences, ban on two repeat floods from a particular host within # how many seconds set rp_mtime 300 # Length of time in minutes to ban large repeat flooders and repeat # offenders set rp_btime 1 # Repeat offences ban reasons set rp_mreason { "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" "1Tekrar yapmak yasaktır!" }
##### DON'T edit anything below this line unless you know what you're doing ##### proc rp_pubmsg {nick uhost hand chan text} { global botnick rp_count rp_scount rp_bflood rp_breason rp_btime rp_kflood rp_kreason rp_sflood rp_slength rp_sreason rp_channels set uhost [string tolower $uhost] set chan [string tolower $chan] set trimtext [string tolower $text] set text [trimctrl $trimtext] if {[lsearch -exact $rp_channels $chan] == -1} {return 0} if {$nick == $botnick} {return 0} if {[matchattr $hand f|f $chan]} {return 0} lappend rp_count($uhost:$chan:$text) 1 utimer [lindex $rp_bflood 1] "expire rp_count($uhost:$chan:$text)" if {[string length $text] > $rp_slength} { lappend rp_scount($uhost:$chan:$text) 1 utimer [lindex $rp_sflood 1] "expire rp_scount($uhost:$chan:$text)" } if {[llength $rp_count($uhost:$chan:$text)] == [lindex $rp_bflood 0]} { if {[botisop $chan] && [onchan $nick $chan]} { putserv "KICK $chan$nick :[rand_reason rp_breason]" } newchanban $chan [wild_banmask $uhost] RepeatPro [rand_reason rp_kreason] $rp_btime return 0 } if {[llength $rp_count($uhost:$chan:$text)] == [lindex $rp_kflood 0]} { rp_mhost $nick $uhost $chan if {[botisop $chan] && [onchan $nick $chan]} { putserv "KICK $chan$nick :[rand_reason rp_kreason]" } return 0 } if {[info exists rp_scount($uhost:$chan:$text)]} { if {[llength $rp_scount($uhost:$chan:$text)] == [lindex $rp_sflood 0]} { rp_mhost $nick $uhost $chan if {[botisop $chan] && [onchan $nick $chan]} { putserv "KICK $chan$nick :[rand_reason rp_sreason]" } return 0 } } } proc rp_pubact {nick uhost hand dest key arg} { rp_pubmsg $nick $uhost $hand $dest $arg } proc rp_pubnotc {from keyword arg} { set nick [lindex [split $from !] 0] set chan [string tolower [lindex [split $arg] 0]] if {![validchan $chan] || ![onchan $nick $chan]} {return 0} set uhost [getchanhost $nick $chan] set hand [nick2hand $nick $chan] set text [join [lrange [split $arg] 1 end]] rp_pubmsg $nick $uhost $hand $chan $text } proc rp_mhost {nick uhost chan} { global rp_btime rp_mhosts rp_mreason rp_mtime if {![info exists rp_mhosts($chan)]} { set rp_mhosts($chan) "" } if {[lsearch -exact $rp_mhosts($chan) $uhost] != -1} { newchanban $chan [wild_banmask $uhost] RepeatPro [rand_reason rp_mreason] $rp_btime } else { lappend rp_mhosts($chan) $uhost utimer $rp_mtime "rp_mhostreset $chan" } } proc rp_mhostreset {chan} { global rp_mhosts set rp_mhosts($chan) [lrange rp_mhosts($chan) 1 end] } proc trimctrl {text} { # 1) Remove any ^B, ^R, ^U control characters from the text regsub -all {[]} $text "" text # 2) Remove any ^K colour control characters along with their formatting numeric codes regsub -all {..,..|..,.|.,..|.,.|..|.|} $text "" text # 3) Remove any non-alphanumeric characters regsub -all {[^!-ÿ]} $text "" text # 4) Handle special Tcl characters regsub -all {\;} $text "\xa1" text regsub -all {\\} $text "\xa5" text regsub -all {\[} $text "\xa6" text regsub -all {\$} $text "\xa7" text
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
# here are some bindings bind mode - * thanksfor:mode # now the core :) procedure # you can change colours or text, just edit # "Thanks" part proc thanksfor:mode { nick host hand chan mode target } { global botnick if {$target == $botnick} { if {$mode == "+v"} { puthelp "PRIVMSG $chan :Voice icin tesekkurler" } if {$mode == "+o"} { puthelp "PRIVMSG $chan :Op icin tesekkurler" } } }
Bu Tcl Örnegini Kurcaladıgınız Zaman Cok İşe Yarıyacagını Anlayacaksınız Bir Çok Şey Yaptıra Biliyorunuz Paylaşım Bizden Denemesi Sizden Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
# Op Commands By xTc^bLiTz # Gonna Ask You Not To Rip This, But Since Half Of You Probably Are Not To # Much I Can Do About It. Just Remember That Ripping This For Yourself # Takes Away From The Statisfaction Of Making Something Like This Yourself. # Also If I Find People Ripping My Work, I Will No Longer Post Other # Scripts, And You Will Have To Start Making Everything For Yourself # Give Credit Where Credit Is Due. # This Script Contains A Bunch Of Commands To Be Used By Op/Master Flagged # Users To Better Control The Channel And Other Users. You Can Use # !commands In The Channel To List All Available Commands # NOTE: Not All Commands Listed When You Use !commands Are Available From # This Script, You May Have To Edit The Commands List At The Bottom Of This # Script, There Is Notation There On How To Edit It. # This Script Was Not Written Originally For Distribution, But By Popular # Demand/Request I Have Released It On Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB">bind pub n|n !die proc_die bind pub n|n !restart proc_restart bind pub m|m !addop proc_addop bind pub m|m !delop proc_delop bind pub m|m !deluser proc_deluser bind pub m|m !adduser proc_adduser bind pub m|m !jump proc_jump bind pub m|m !gban proc_gban bind pub o|o !lc proc_lc bind pub o|o !uc proc_uc bind pub o|o !ban proc_ban bind pub o|o !unban proc_unban bind pub o|o !whois proc_whois bind pub o|o !opme proc_opme bind pub o|o !op proc_op bind pub o|o !deop proc_deop bind pub o|o !deopme proc_deopme bind pub o|o !kick proc_kick bind pub o|o !voice proc_voice bind pub o|o !devoice proc_devoice bind pub o|o !server proc_server bind pub -|- !commands proc_commands # Processes # Process lc proc proc_lc { nick uhost hand chan args } { putquick "PRIVMSG $chan :Locking Channel" putquick "MODE $chan +im" } proc proc_uc { nick uhost hand chan args } { putquick "PRIVMSG $chan :UnLocking Channel" putquick "MODE $chan -im" } # Process die proc proc_die { nick uhost hand chan text } { if {$text == ""} { die $nick } else { die $text } } # Process Restart proc proc_restart { nick uhost hand chan text } { putquick "PRIVMSG $chan :Restart Requested By \002$nick\002. Restarting BRB... (hopefully..)" restart } # Op Process proc proc_op { nick uhost hand chan text } { putserv "MODE $chan +o $text" } # DeOp Process proc proc_deop { nick uhost hand chan text } { global botnick if {$text == $botnick} { putserv "MSG $chan :umm.. no" return 0 } putserv "MODE $chan -o $text" } # Process Global Ban proc proc_gban { nick uhost hand chan text } { global botnick # if {@ isin $text} { # +ban $text Auto-Kicked # stick ban $text # return 0 # } if {[onchan $text]} { if {$text == $botnick} { return 0 } set banmask [getchanhost $text $chan] newchanban $chan $banmask $nick Auto-Kicked 0 sticky putkick $chan $text Auto-Kicked putlog "\002$nick\002 Globally Banned \002$text\($banmask\)\002" } else { putserv "PRIVMSG $chan :$text Not In Channel." } } # Proces Jump proc proc_jump { nick uhost hand chan text } { jump $text } # Process Server proc proc_server { nick uhost hand chan text } { global serveraddress putserv "PRIVMSG $chan :I Am Current Connected To \002$serveraddress\002" } # Addop Process proc proc_addop { nick uhost hand chan text } { set addopnick [nick2hand $text] if {[validuser $addopnick]} { chattr $addopnick +o putserv "PRIVMSG $chan :$text Has Been Giving Auto-Op Access" putlog "$nick added $addopnick to Auto-Op" putquick "MODE $chan +o $text" putserv "NOTICE $text :You Have Been Givin Auto-Op Access For Channel: \002$chan\002 use \002!commands\002 To List New Channel Commands Available To You" } else { putserv "PRIVMSG $chan :$text Not Found In User Database, Use !whois <nickname>" } unset addopnick } # Delop Process proc proc_delop { nick uhost hand chan text } { set delopnick [nick2hand $text] if {[validuser $delopnick]} { chattr $delopnick -o putserv "PRIVMSG $chan :$text Removed From Auto-Op Access" putlog "$nick removed $delopnick from Auto-Op" putquick "MODE $chan -o $text" } else { putserv "PRIVMSG $chan :$text Not Found In User Database, Use !whois <nickname>" } unset delopnick } # Ban Process proc proc_ban { nick uhost hand chan text } { global botnick if {[onchan $text]} { if {$text == $botnick} { return 0 } set banmask [getchanhost $text $chan] putquick "MODE $chan +b $banmask" putkick $chan $text :Requested } else { putserv "PRIVMSG $chan :$text Is Not In The Channel" } } # Unban Process proc proc_unban { nick uhost hand chan text } { if {[ischanban $text $chan]} { pushmode $chan -b $text } else { putserv "PRIVMSG $chan :$text Is Not In The Ban List" } } proc proc_whois { nick uhost hand chan text } { set whoisnick [nick2hand $text] if {$whoisnick == ""} { putserv "PRIVMSG $chan :\002$text\002 Not Currently In Channel: \002$chan\002" } elseif {$whoisnick == "*"} { putserv "PRIVMSG $chan :\002$text\002 Not Found In User Database, Use \002!adduser $text\002" } else { putserv "PRIVMSG $chan :I Recognize \002$text\002 As \002$whoisnick\002" } } # Process Opme proc proc_opme { nick uhost hand chan text } { putquick "MODE $chan +o $nick" } # Process Deopme proc proc_deopme { nick uhost hand chan text } { putquick "MODE $chan -o $nick" putquick "MODE $chan +v $nick" } # Process AddUser proc proc_adduser { nick uhost hand chan text } { set addusernick [nick2hand $text] if {[validuser $addusernick]} { putserv "PRIVMSG $chan :\002$text\002 Is Already In User Database As \002$addusernick\002" } else { unset addusernick set addusermask [maskhost $text![getchanhost $text $chan]] adduser $text $addusermask set addusernick [nick2hand $text] putlog "\002$nick\002 Added \002$addusernick\($text\)\002 To User Database" putserv "PRIVMSG $chan :\002$text\002 Added To User Database As \002$addusernick\002" unset addusermask unset addusernick } } # Process DelUser proc proc_deluser { nick uhost hand chan text } { set delusernick [nick2hand $text] if {[validuser $delusernick]} { deluser $delusernick putserv "PRIVMSG $chan :\002$text \($delusernick\)\002 Has Been Removed From User Database" putlog "$nick Removed $delusernick From user Database" } else { putserv "PRIVMSG $chan :\002$text\002 Not Found In User Database, Use !whois <nickname>" } } # Process Kick proc proc_kick { nick uhost hand chan text } { if {[onchan $text]} { putquick "KICK $chan$text :Requested" } else { putserv "PRIVMSG $chan :\002$text\002 Not In Channel: \002$chan\002" } } # Voice Process proc proc_voice { nick uhost hand chan text } { if {[onchan $text]} { set voicenick [nick2hand $text] if {[validuser $voicenick]} { chattr $voicenick +v putquick "MODE $chan +v $text" putserv "PRIVMSG $chan :\002$text\002 Added To Auto-Voice List" putlog "$nick Added $voicenick To Auto-Voice List" } else { putquick "MODE $chan +v $text" } } else { putserv "PRIVMSG $chan :\002$text\002 Not Found In Channel: \002$chan\002" } } # DeVoice Process proc proc_devoice { nick uhost hand chan text } { if {[onchan $text]} { set devoicenick [nick2hand $text] if {[validuser $devoicenick]} { chattr $devoicenick -v putquick "MODE $chan -v $text" putserv "PRIVMSG $chan :\002$text\002 Removed From Auto-Voice List" putlog "$nick Removed $devoicenick From Auto-Voice List" } else { putquick "MODE $chan -v $text" } } else { putserv "PRIVMSG $chan :\002$text\002 Not Found In Channel: \002$chan\002" } } # Commands Process proc proc_commands { nick uhost hand chan text } { if {[matchattr $hand m|m $chan]} { putserv "NOTICE $nick :You Are Currently Bot Master, And Have Access To The Following Commands" proc_listcommands $nick $uhost $hand $chan return 0 } elseif {[matchattr $hand o|o $chan]} { putserv "NOTICE $nick :You Are Currently Auto-Op, And Have Access To The Following Commands" proc_listcommands $nick $uhost $hand $chan return 0 } else { putserv "NOTICE $nick :You Are A Basic User, And Have Access To Teh Following Commands" proc_listcommands $nick $uhost $hand $chan return 0 } } # List Commands Process - This Process Is Where You Can Enter The Commands # For The !commands List, Just Follow The Format That Is Listed Below, Also # If You Have Commands Listing That You Do Not Have Available On Your Bot, # Then You Can Remove The Line For That Command. Feel Free To Add Any # Commands You Have Listed For Your Bot In Here. The Command List Is Broken # Down According To Flags In This Order # Basic - People No Op/Master Flags # Auto-Op - People Who Have Op Flag. I Used The Default o Flag, You Will # Have To Edit The Flags In Both This Process And The Above Process If You # Use A Different Flag. # Master - People Who Have Master Flag. Again I Used Default m Flag. proc proc_listcommands { nick uhost hand chan } { global botnick putserv "NOTICE $nick :\002Basic User\002 Commands" putserv "NOTICE $nick :!seen <nickname> - See When The Last Time <nickname> Was Online" putserv "NOTICE $nick :!seennick <nickname> - Search For A Specific Nickname" putserv "NOTICE $nick :!google <search keyword\(s\)> - Search Google And Return Top Result" putserv "NOTICE $nick :!statsite - Get The Link To The $chan Stats Site" putserv "NOTICE $nick :!vibrate - Gets The Bot Vibrating For You" putserv "NOTICE $nick :!unf <nickname> - Give Someone A Good Unfin" putserv "NOTICE $nick :!slap <nickname> - Slap Someone Around A Bit, DO NOT Abuse This Or You Will Be Banned" putserv "NOTICE $nick :!spork <nickname> - Give Someone A Good Sporking" putserv "NOTICE $nick :!Top<stat> - Returns The Top Statistics For The <Stat> Type. Stat Types Are: talk lol smile swear kick time speed" putserv "NOTICE $nick :!My<stat> - Returns Your Rating In The Statistics For The <Stat> Type. Stat Types Are: talk lol smile swear kick time speed stat total." putserv "NOTICE $nick : - Users Found Abusing The !Top And !My Commands Will Be Banned From The Bot And Stats Will Not Be Recorded For Them. Please Use Some Courtesy Here." putserv "NOTICE $nick :End Of Basic User Commands" if {[matchattr $hand o|o $chan]} { putserv "NOTICE $nick :\002Auto-Op\002 Commands" putserv "NOTICE $nick :!commands - Kinda Obvious Don't Ya Think.." putserv "NOTICE $nick :!opme - Have The Bot Op You" putserv "NOTICE $nick :!deopme - Have The Bot De-Op You" putserv "NOTICE $nick :!op <nickname> - Have The Bot Op Someone" putserv "NOTICE $nick :!deop <nickname> - Have Tbe Bot DeOp Someone" putserv "NOTICE $nick :!whois <nickname> - Find Out If The Nickname Is In The Bots User Database" putserv "NOTICE $nick :!kick <nickname> - Have The Bot To A Quick Kick Of Nickname" putserv "NOTICE $nick :!ban <nickname> - Have The Bot Do A Quick Kick/Ban Of Nickname" putserv "NOTICE $nick :!server - Find Out What Server:Port The Bot Is On" putserv "NOTICE $nick :!lc - Lock The Channel To Prevent Flooding" putserv "NOTICE $nick :!uc - Unlock The Channel" putserv "NOTICE $nick :!seenstats - Display Database Information For !seen Database" putserv "NOTICE $nick :End Of Auto-Op Commands" } if {[matchattr $hand m|m $chan]} { putserv "NOTICE $nick :\002Bot Master\002 Commands" putserv "NOTICE $nick :!addop <nickname> - Add The Nickname To The Bots Auto-Op List" putserv "NOTICE $nick :!delop <nickname> - Remove The Nickname From The Bots Auto-Op List" putserv "NOTICE $nick :!adduser <nickname> - Add User To The User Database With Default Flags" putserv "NOTICE $nick :!deluser <nickname> - Remove A User From The Bots Database, Can Be Used If User Needs To Re-Register With The Bot" putserv "NOTICE $nick :!jump <server> - Forces The Bot To Change Servers To Server Entered" putserv "NOTICE $nick :!update - Manually Update The Stats Site" putserv "NOTICE $nick :getlog <date> - Have A Logfile From A Certain Date Sent To You. Usage: /msg $botnick getlog <ddMonyyyy> \(ie getlog 01Jul2005\) Month MUST Have A Capital First Letter" putserv "NOTICE $nick :!gban <nickname> - Add A Global Ban To The Bots Internal Ban List (ie: akick)" putserv "NOTICE $nick :!noop <nickname> - Adds A Flag To The Nickname That Prevets The Person From Being Op\'d" putserv "NOTICE $nick :!allowop <nickname> - Removes The Flag That Prevents People From Getting Op\'d" putserv "NOTICE $nick :End Of Bot Master Commands" } }
putlog "*** Op Commands by xTc^bLiTz < Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. > Loaded"
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
############################## _\|/_ ############################### ## ## autovoice on pubmsg script v1.2 ## by aerosoul@IRCNet ( Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ) ## ## this script will give voice to users who say something on the ## channel and devoice them after idle time. ## ## people will have a overlook of who idles and who is active on your ## channels (especially for chans with bot-only ops) ## ## - add voice on pubmsg for #channel : ## .chanset #channel +av.pubmsg ## remove with .chanset #channel -av.pubmsg ## - add devoice after idle time for #channel : ## .chanset #channel +av.devoice ## - optionally set devoice time in the bots partyline : ## .chanset #channel av.dtime 30 (in minutes) ## ## there is a little delay before voicing, so there won't be ## modefloods. ## ## tell me bugs and suggestions @ IRCNet #playaz or Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
## (no, I don't write a version for older eggys, sorry.) ## if you want to send me ganja, please leave a msg ;) ## ## v1.2 28. may 2001: - added option to set devoice time @ partyline ## - fixed some stuff / cleaned up ## - removed responding to stupid "thank you, bot" ## scripts ## - the script now also voices @'s. makes more ## sense =) ## ############################## _\|/_ ############################### ################################################################# # # Bu script ile kanalda surekli konusan kullanicilara bot otomatik olarak # +v verir. Eger Belli bir sure konusmazlarsa +v yi alir. # Kullanabileceginiz komutlar: # .chanset #kanal +av.pubmsg otomatik voice verme islemi belirtilen kanal icin aktif olur. # .chanset #kanal -av.pubmsg otomatik voice verme kapatilir. # .chanset #kanal +av.devoice belli sure konusmayanlar devoice yapilir. # .chanset #kanal av.dtime <sure> +v olan kullanici en fazla ne kadar konusmadan durabilir. # sure dakika cinsinden girilecek. # Bu komutlari sadece partylineda kullanabilirsiniz. # kac dakika konusmazsa devoice olacak set av_dtime 10 # hangi bayraga sahip kullanicilar devoice yapilmayacak set av_nodevoiceflag "2fgb" # +1 bayragina sahip kullaniclar +v alamayacaktir. set av_novoiceflag "1" # devoiceleri partylineda goster ? (0/1) set av_partylog 0 # voice vermeden once hak saniye beklenecek set av_delay 20 # oplara voice ver? (0/1) set av_opvoice 0 # !!!!!!!!!!! Ayarlamalar Bitti !!!!!!!!!!!!!!!!! ############################## _\|/_ ############################### # # # # # # # # # # don't edit below this line # # # # # # # # # # # # # # # # # # # if you don't know what you're doing # # # # # # # # if {$numversion < "1050000"} { putlog "you need eggdrop version >1.5 for autovoice on pubmsg script to work" return 0 } setudef flag av.pubmsg setudef flag av.devoice setudef int av.dtime proc av_main {nik uhost hand chan text} { global av_delay av_novoiceflag set delay [expr 1 + [rand $av_delay]] if {![string match *av_devoice* [timers]]} {timer [expr 3 + [rand 5]] av_devoice} set chan [string tolower $chan] if {[av_fcheck $chan] == 0} {return 0} if {[matchattr $hand $av_novoiceflag] || [matchattr $hand |$av_novoiceflag $chan]} { return 0 } if {![isvoice $nik $chan]} { utimer $delay [split "av_doit $chan$nik"] } } proc av_doit {vchan vnick} { global av_opvoice if {![isvoice $vnick $vchan]} { if {($av_opvoice == 0) && [isop $vnick $vchan]} { return 0 } pushmode $vchan +v $vnick } } proc av_devoice {} { global av_dtime av_nodevoiceflag av_partylog if {![string match *av_devoice* [timers]]} {timer [expr 1 + [rand 3]] av_devoice} foreach chan [channels] { set dtime $av_dtime if {[av_cdtime $chan] != 0} { set dtime [av_cdtime $chan] } set av_deoplist "" if {[av_dcheck $chan] == 1} { foreach user [chanlist $chan] { set hand [nick2hand $user] if {[matchattr $hand $av_nodevoiceflag] || [matchattr $hand |$av_nodevoiceflag $chan]} { continue } if {([getchanidle $user $chan] > $dtime) && [isvoice $user $chan]} { pushmode $chan -v $user set av_deoplist "$av_deoplist$user" } } if {$av_partylog == 1} { set count 0 foreach u $av_deoplist { set count [expr $count + 1] } if {($count != 0)} { putlog "-\[ av.pubmsg \]- devoicing $count users in $chan: $av_deoplist" } } } } } proc av_cdtime {chan} { foreach info [string tolower [channel info $chan]] { if {[lindex $info 0] == "av.dtime"} { return [lindex $info 1] } } } proc av_fcheck {chan} { foreach info [channel info $chan] { if {[string tolower [string range $info 1 e]] == "av.pubmsg"} { if {[string index $info 0] == "-"} { return 0 } else { return 1 } } } return 0 } proc av_dcheck {chan} { foreach info [channel info $chan] { if {[string tolower [string range $info 1 e]] == "av.devoice"} { if {[string index $info 0] == "-"} { return 0 } else { return 1 } } } return 0 } set autovoice_chans "" foreach chan [channels] { if {[av_fcheck $chan] == 1} { set autovoice_chans "$autovoice_chans$chan" } } if {![string match *av_devoice* [timers]]} {timer [expr 3 + [rand 5]] av_devoice} bind pubm - * av_main ############################## _\|/_ ############################### putlog "-\[ voice on pubmsg script v1.2 by aerosoul active on: $autovoice_chans \]-" ############################ legalize! #############################
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#--------------------------------------------------------------------------------------------------------------------# # ANTI MASS JOIN / JOIN FLOOD PROTECTION SCRIPT BY RANA USMAN # #--------------------------------------------------------------------------------------------------------------------# # AUTHOR : RANA USMAN ## EMAIL : Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. , Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
## URL : Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB">set joinlockmodes "mr" ## Set the banmask type to use in banning the join floods # Currently BAN Type is set to 1 (*!*@any.domain.com), # BAN Types are given below; # 1 - *!*@some.domain.com # 2 - *!*@*.domain.com # 3 - *!* Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# 4 - *!*ident@*.domain.com # 5 - *!*ident*@some.domain.com # 6 - *nick*!*@*.domain.com # 7 - *nick*!*@some.domain.com # 8 - nick! Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# 9 - nick!ident@*.host.com set bantype "1" ## Set the time in seconds to Unlock Modes # The Bot will Unlock the channel after the specified time you will set below set unlocktime "15" ## Set The Punish Type # Set it to '1' if you want to add the Ban for joinflood in bots list.By doing it Bot will ban the IP everytime when the # clone will join the channel even if it is unbanned from channel OR Simply a stick ban # Set it to '2' for a simple channel Ban :) :: RECOMMENDED :: set joinpunish "2" ## Set the reason you want to give while kicking set jreason "Mass Join Flood" ########################### # CONFIGURATION ENDS HERE # ########################### #--------------------------------------------------------------------------------------------------------------------# # SCRIPT STARTS FROM HERE.YOU CAN MAKE MODIFICATIONS AT UR OWN RISK, I DONT RESTRICT YOU TO NOT TO TOUCH THE CODE! # #--------------------------------------------------------------------------------------------------------------------# bind flud - join joinflood:RanaUsman proc joinflood:RanaUsman {nick uhost hand type chan} { global joinlockmodes banmask unlocktime joinpunish jreason botnick if {![botisop $chan] || [matchattr $hand of]} { return 0 } set banmask [joinpart:banmask $uhost $nick] if {($joinpunish == 1)} { putquick "MODE $chan +$joinlockmodes" newchanban $chan $banmask $botnick $jreason putquick "KICK $chan$nick :$jreason" utimer $unlocktime[list putquick "MODE $chan -$joinlockmodes"] } if {($joinpunish == 2)} { putquick "MODE $chan +$joinlockmodes" putquick "MODE $chan +b $banmask" putquick "KICK $chan$nick :$jreason" utimer $unlocktime[list putquick "MODE $chan -$joinlockmodes"] } } proc joinpart:banmask {uhost nick} { global bantype switch -- $bantype { 1 { set banmask "*!*@[lindex [split $uhost @] 1]" } 2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" } 3 { set banmask "*!*$uhost" } 4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" } 5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" } 6 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" } 7 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" } 8 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" } 9 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" } default { set banmask "*!*@[lindex [split $uhost @] 1]" } return $banmask } } #-------------------------------------------------------------------------------------------------------------------------# putlog "=- \002ANTI MASS JOIN/JOIN FLOOD PROTECTION BY RANA USMAN ( Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #FF8000">#-------------------------------------------------------------------------------------------------------------------------#
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#!/usr/bin/tclsh ################################################################################ # # TCL scripts by Ofloo all rights reserved. # # HomePage: http://ofloo.net/ # CVS: http://cvs.ofloo.net/ # Email: support[at]ofloo.net # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ################################################################################ # # Easy install # # 1st you down load it from the webserver.. to your shell # 2nd you type "tar -jxvf filename" in your shell # 3th you copy it to your script dir # 4th you edit your eggdrop.conf file and add "source scripts/ip-to-country.tcl" # 5th edit the settings below to your preference, now rehash your bot and you're done. # namespace eval ip2c {
variable trigger "!ip2c" ;# channel trigger variable channel "#channel1,#channel2,#channel3" ;# define your list of channels seperated by a ',' variable flag "-" ;# this flag decides who gets to use your trigger variable ismode "0" ;# 0 public, 1: user needs to be voiced, 2:user needs halfops, 3: user needs ops # # cookies to use in msg templates. # # %n% nick # %c% channel # %h% handle # %k% short value ex: BE # %l% long value ex: BEL # %f% Full value ex: Belguim # %i% input (nick,host,ip, .. !ip2c <input>) #
# # templates #
variable ip2cip "PRIVMSG %c% :Ip2c lookup for \(\002%i%\002\) is \(\002%f%\002\)." ;# lookup ipaddr variable ip2cnick "PRIVMSG %c% :Ip2c lookup for \(\002%i%\002\) is \(\002%f%\002\)." ;# lookup nickname variable ip2chost "PRIVMSG %c% :Ip2c lookup for \(\002%i%\002\) is \(\002%f%\002\)." ;# lookup hostname variable invalid "NOTICE %n% :Error usage: $trigger <nick|host|ip>." variable unknown "PRIVMSG %c% :There are no results for \(\002%i%\002\)." variable dnserror "PRIVMSG %c% :Error couldn't associate an valid ip with \(\002%i%\002\)." variable notonchan "PRIVMSG %c% :Error \(\002%i%\002\) is not on \(\002%c%\002\)." ;# user is not on channel # # Do not edit below if you do not know what it is you are doing. #
variable version "0.7" variable longversion "1121868771" proc ip2c_pub {nick host hand chan arg} { variable invalid; variable ip2cip; variable unknown; variable notonchan if {[ischan $chan] && [ismode $nick $chan]} { if {[llength $arg] && ([llength $arg] < 2)} { if {[isip $arg]} { if {[catch {socket -async ip2c.ofloo.net 80} s]} { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB">putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } else { fileevent $s writable[list [namespace current]::async_callback_ip $s $arg $nick $hand $chan $arg] } } elseif {[ishost $arg]} { dnslookup $arg [namespace current]::dns_callback_host $nick $hand $chan $arg } elseif {[onchan $arg $chan]} { dnslookup [lindex [split [getchanhost $arg] \x40] end] [namespace current]::dns_callback_nick $nick $hand $chan $arg } elseif {![onchan $arg $chan]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $notonchan] -next } else { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $invalid] -next } } else { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $invalid] -next } } } proc dns_callback_nick {ip host status nick hand chan arg} { variable dnserror; variable unknown if {$status} { if {[catch {socket -async ip2c.ofloo.net 80} s]} { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB">putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } else { fileevent $s writable[list [namespace current]::async_callback_nick $s $ip $nick $hand $chan $arg] } } else { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $dnserror] -next } } proc dns_callback_host {ip host status nick hand chan arg} { variable dnserror; variable unknown if {$status} { if {[catch {socket -async ip2c.ofloo.net 80} s]} { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB">putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } else { fileevent $s writable[list [namespace current]::async_callback_host $s $ip $nick $hand $chan $arg] } } else { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $dnserror] -next } } proc async_callback_host {s ip nick hand chan arg} { variable ip2chost; variable unknown; variable version if {[string equal {} [fconfigure $s -error]]} { flush $s puts $s "GET /[ip2longip $ip] HTTP/1.1" puts $s "Host: ip2c.ofloo.net" puts $s "Connection: Close" puts $s "User-Agent: Ip-to-Country lookup script version $version\n" flush $s while {![eof $s]} { gets $s x if {[regexp -nocase {<resolve[\x20]{0,100}c02="([a-z]{2})"[\x20]{0,100}c03="([a-z]{3})"[\x20]{0,100}full="(.*?)"[\x20]{0,100}/>} $x -> k l f]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% $k %l% $l %f% [wFormat $f]] $ip2chost] -next break } } close $s if {![info exists k]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } } else { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #007700">} } proc async_callback_nick {s ip nick hand chan arg} { variable ip2cnick; variable unknown; variable version if {[string equal {} [fconfigure $s -error]]} { flush $s puts $s "GET /[ip2longip $ip] HTTP/1.1" puts $s "Host: ip2c.ofloo.net" puts $s "Connection: Close" puts $s "User-Agent: Ip-to-Country lookup script version $version\n" flush $s while {![eof $s]} { gets $s x if {[regexp -nocase {<resolve[\x20]{0,100}c02="([a-z]{2})"[\x20]{0,100}c03="([a-z]{3})"[\x20]{0,100}full="(.*?)"[\x20]{0,100}/>} $x -> k l f]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% $k %l% $l %f% [wFormat $f]] $ip2cnick] -next break } } close $s if {![info exists k]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } } else { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #007700">} } proc async_callback_ip {s ip nick hand chan arg} { variable ip2cip; variable unknown; variable version if {[string equal {} [fconfigure $s -error]]} { flush $s puts $s "GET /[ip2longip $arg] HTTP/1.1" puts $s "Host: ip2c.ofloo.net" puts $s "Connection: Close" puts $s "User-Agent: Ip-to-Country lookup script version $version\n" flush $s while {![eof $s]} { gets $s x if {[regexp -nocase {<resolve[\x20]{0,100}c02="([a-z]{2})"[\x20]{0,100}c03="([a-z]{3})"[\x20]{0,100}full="(.*?)"[\x20]{0,100}/>} $x -> k l f]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% $k %l% $l %f% [wFormat $f]] $ip2cip] -next break } } close $s if {![info exists k]} { putserv [string map[list %n% $nick %h% $hand %i% $arg %c% $chan %k% {} %l% {} %f% {}] $unknown] -next } } else { putlog "Error couldn't connect to webserver plz inform the webmaster at Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #007700">} } proc wFormat {arg} { foreach {w} [string tolower $arg] { if {[info exists word]} {unset word} foreach x [split $w {}] { if {[info exists word]} { append word $x } else { append word [string toupper $x] } } lappend str $word } return $str } proc longip2ip {long} { return [join [scan [format %.8x $long] %2x%2x%2x%2x] \x2e] } proc ip2longip {ip} { return [format %u 0x[eval format %.2x%.2x%.2x%.2x [split $ip \x2e]]] }