Гость zadnica Жалоба Опубликовано 25 сентября, 2004 Расскажите побольше о ботах(для Мирк) и скриптах к ним ! если не жалко дайте Бота или срипты (если есть к Windrop) Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Devil Жалоба Опубликовано 25 сентября, 2004 IRCа рулез Я в ботах мало рулю, но если есть вопросы по мирк скриптам обращася Меня можно поймать на канале #ULTRA в Далнете Только не баньте за рекламу Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DiZ[27th] Жалоба Опубликовано 26 сентября, 2004 Little Devil а че за скрипт такой TransFile про кторорый ты писал в Гостевухе Флекса? Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Devil Жалоба Опубликовано 26 сентября, 2004 (изменено) Ну это не TransFile, а его переделка, очень крутая называется ClonTrans, позволяет кидаться небольшими файлами, за 45 минут с трёх клонов реально мптришку переслать Всё это чудо работает через ctcp, посылает пакеты, потом с помощью специальной проги эти пакета преобразуются в файл Сначало всё было круто, а потом сервак начал говорить что я флудю Изменено 26 сентября, 2004 пользователем Little Devil Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Devil Жалоба Опубликовано 26 сентября, 2004 Фотки вообще моментально улетают Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Devil Жалоба Опубликовано 26 сентября, 2004 А вообщеэто гон всё Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zadnica Жалоба Опубликовано 26 сентября, 2004 блин не полчучается скрипт ccs для Windrop активизировать кинул в папку scripts в конфинге написал source scripts/ccs.tcl !Может правда и активизировался а вот приветсвие не работает может я че напутал set greet(#тут канал где мой бот) { "test" } Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Devil Жалоба Опубликовано 26 сентября, 2004 Посмотри инфы в инете Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 27 сентября, 2004 Скрипт.......может быть паленый.......или еще хуже бот у тебя паленый! Я со скриптыми вообще замучался........пашут все а не отвечает не один! до ума никак не могу довести своего бота! Постоянно слетает! и не хочет русский принимать! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zadnica Жалоба Опубликовано 28 сентября, 2004 а у тебя есть сприпты какие нить проверенные ? мне нужен ссs желательно ! не можешь дать ! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 29 сентября, 2004 скрипты есть! но я уже не помню тот который ты просишь! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zadnica Жалоба Опубликовано 29 сентября, 2004 давай какие есть !!ВСЕ ) Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 30 сентября, 2004 лудше давай дискетку запишу Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zadnica Жалоба Опубликовано 1 октября, 2004 какую нафиг дискету! я в Хотькове живу ! выложи тут !!! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 1 октября, 2004 Понял щас посмотрю и выложу тебе скрипт какой нить! -1.6.x 2004/5 awyeah@usa.net Exp $ # OP/VOICE Limit, Channel OP/VOICE Limit Script v3.58.b (opvoicelimit.tcl) # Script Version: v3.58.b # Built Date: June 2004, Last Updated: 21st July 2004 # Copyright © 1999-2004 awyeah (awyeah@usa.net) # This TCL script is designed to work with eggdrop v1.5.x or higher ######################################################################### # Channel OP/VOICE Limit Script v3.58.b # # # # # # Author: awyeah 21st July 2004 # # Email: awyeah@usa.net Build version 3.58.b # # Copyright © 2004 awyeah All Rights Reserved ссылка # ######################################################################### # # # ####### # # PURPOSE # # ####### # # # # This script will react on any op/voice mode chanes in a channel. The # # basic purpose of this script will be to monitor all op (+o) modes and # # voice (+v) mode changes in a channel. If the number of ops or voices # # in the channel reach greater than the amount of limit set in the # # script then the extra ops/voices will be deoped/devoiced accordingly. # # # # I came up with the idea of this script because, many channels have # # alot of unwanted/idling ops which do nothing. Some sops/founders # # might not want so many opped/voiced people, in their channel so they # # can be temporarily deoped or devoiced if there are already too many # # oped/voiced people in the channel. This is a good script to keep # # channels in good shape by restricting the number of ops/voices to a # # certain limit so the channel does not become an opzone or voice # # paradise, for that matter. # # # ######################################################################### # # # ########### # # DESCRIPTION # # ########### # # # # This script will react on any op or voice mode changes and will deop # # or devoice user(s) if they exceed the op/voice limit on the channel. # # The good feature about this script is that it has a smart sorting # # function it can deop/devoice people without causing floods and sort # # the lists of people to deop/devoice alphabetically in an increasing # # or decreasing sequence with respect to their first nick letter. # # # # This script will maintain the number of channel ops/voices in the # # channel and will not let the number exceed the specified limit. This # # script apart from triggering on mode changes, will trigger everytime # # the bot gets opped as well as everytime the bot joins the channels on # # which this script is activated. # # # # This script does not require any invovlement of network services, so # # this script can be used on almost any IRC Network. # # # ######################################################################### # # # ######## # # FEATURES # # ######## # # # # 1. This script has *2* settings of channels to work on. # # [1] It can be activated to work on 'user defined channels'. # # [2] It can be activated to work on 'all channels' the bot is on. # # # # 2. This script has a smart feature for detection the total number of # # channel ops and voices and then deoping/devoicing them. The order # # of users can be sorted out randomly as well as alphabetically. # # # # 3. This script also has an exemption feature for users with certain # # flags and also for users with specific nicks. # # # # 4. There is a channel and user notification and warning system which # # will notify the user(s) and the channel about the op/voice limit, # # if enabled. # # # # 5. This script also features a limit activation type switch. Users # # can toggle to enable op, voice or even both limit protections. # # # # 6. The deop/devoice procedure uses smart modes and does not cause # # mode floods even when the bot deops/devoices alot of users. # # # ######################################################################### # # # ##### # # USAGE # # ##### # # # # [1] Please unzip zipped file opvoicelimit.zip file and place the tcl # # file opvoicelimit.tcl file in your eggdrops */scripts* folder # # along with your other tcl scripts. # # # # [2] Then add a link at the bottom of your eggdrop's .CONF file to the # # path of your opvoicelimit.tcl, it would be something like: # # # # source scripts/opvoicelimit.tcl # # # # [4] Save your bot's configuration file. # # # # [5] RESTART your eggdrop bot and enjoy the script! # # # ######################################################################### # # # ####### # # CONTACT # # ####### # # # # - If you have any suggestions, comments, questions or if you want to # # report bugs, please feel free to email me at: awyeah@usa.net # # # # (If you have any suggestions for improvement of this script do send # # me your ideas!) # # # # # # - You can contact me on MSN Messenger, on my ID: awyeah@awyeah.org # # # # - You can also catch me on IRC (The DALnet Network) # # # # /server irc.dal.net:6667, Nick: awyeah # # # ######################################################################### # # # ######## # # VERSIONS # # ######## # # # # v3.58.b - Initial release of script. # # (21/07/04) # # # # # # Latest updated verions of this script can be found on the tcl # # archives of the following websites: # # # # ссылка - ссылка # # # ######################################################################### # # # ####### # # CREDITS # # ####### # # # # - Thanks to all the people on egghelp.org's forum, who helped me to # # improve and enhance this script. # # # # - Thanks to all my friends who supported me all the way through # # this project. # # # # # # ./awyeah # # # ######################################################################### ################################################## ### Start editing variables from here onwards! ### ################################################## #---------------------------------------------# # SETUP OP/VOICE CHANNEL ACTIVATION TYPE # #---------------------------------------------# #Set the type of channels you would like this script to work on. #USAGE: [1/2] (1=USER DEFINED CHANNELS, 2=ALL CHANNELS) (You can only enable ONE setting!) #Use '1' for 'user defined channels' (Will detect op/voice limits only on channels defined for the script) #Use '2' for 'all the channels' the bot is on. (Will detect op/voice limits on any channel the bot is on) set limitchantype "1" #Set this if you have set the previous setting to '1' for user defined channels, if not then please #leave this as it is or leave this as empty/blank. (Set the channels on which this script would work) #USAGE: set limitchans "#channel1 #channel2 #channel3 #mychannel #yourchannel" set limitchans "#mychannel" #-------------------------------------------# # SETUP OP/VOICE LIMIT ACTIVATION TYPE # #-------------------------------------------# #Set the type of op/voice limit protection to enable. #USAGE: [1/2/3] (1=OP LIMIT, 2=VOICE LIMIT, 3=OP AND VOICE LIMIT) #If set to '1' the bot will only detect extra OPS exceeding the channel op limit and deop will deop them. #If set to '2' the bot will only detect extra VOICES exceeding the channel voice limit and deop will devoice them. #If set to '3' the bot will detect both OPS and VOICES and will deop/devoice any extra ops/voices found. set limitactivate "3" #-------------------------------# # SETUP OP/VOICE LIMITS # #-------------------------------# #Set the number of maximum channel ops to allow. If the limit of channel ops is greater than this limit, #then the extra number of op(s) will be deoped. (Please set this wisely!) set limitops "5" #Set the number of maximum channel voices to allow. If the limit of channel voices is greater than this limit, #then the extra number of voice(s) will be devoiced. (Please set this wisely!) set limitvoices "10" #Set this if you want the bot to exclude itself when counting the total number of channel ops. #USAGE: [0/1] (0=OFF, 1=ON) - (0=BOT WILL INCLUDE ITSELF, 1=BOT WILL NOT INCLUDE ITSELF) #If set to '0' the bot will include itself when it is counting the total number of channel ops. #If set to '1' the bot will exclude (not include) itself when it is counting the total number of channel ops. set limitbotcount "0" #-------------------------------------------# # SETUP OP/VOICE LIST SORTING OPTIONS # #-------------------------------------------# #Set this to the type of sequence the bot will use to detect channel ops/voices. There are 3 sequences availiable. #USAGE: [1/2/3] (1=RANDOM, 1=INCREASING, 2=DECREASING) (INCREASING, DECREASING with respect to the first letter #of the nick in an aplhabetical manner/order/sequence.) #If set to '1' the bot will RANDOMLY select nick(s) of any extra ops/voices from the channel list. #If set to '2' the bot with respect to the INCREASING first alphabet of the nick(s) will deop/devoice the extras. #If set to '3' the bot with respect to the DECREASING first alphabet of the nick(s) will deop/devoice the extras. set limitsort "1" #----------------------------------------------# # SETUP OP/VOICE LIMIT EXEMPTION OPTIONS # #----------------------------------------------# #### EXEMPT SPECIFIC USER FLAGS #### #Set this if you want the bot to exempt users with certain flags on the bots user list. Users with certain specific #or all flags would be exempted by the bot and will not be deoped/devoiced. #USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT EXEMPT USERFLAGS, 1=WILL EXEMPT USERFLAGS) #If set to '0' users/owners on the bots userlist will *NOT* be exempted, if they are extra ops/voices in the channel. #If set to '1' users/owners on the bots userlist will be exempted, even if they are extra ops/voices in the channel. set limituserflagswitch "0" #If you have enabled to exempt userflags on the bots userlist and not to deop/devoice them, set the 'user flags' #for bot owners, masters, ops, voices, users etc which will be exempted from this script. #Example: n=owner, m=master, o=op, v=voice, f=friend, b=bot etc #USAGE: m, n, o, v, f or "mnf", "bfv" etc set limitexflags "mnofb|mnofb" #### EXEMPT SPECIFIC NICKS #### #Set this if you want to enable 'exemption of specific nicks' from this script. Users with specific mentioned #nicks will be ignored by the script when detecting the total number of ops/voices in a channel. #USAGE: [0/1] (0=OFF, 1=ON) set limitnickswitch "0" #Set this if you have selected/enabled to 'exempt certain nicks' (If you have set the previous setting to '1'). #Set this to the list of 'exempted nicks', which you would like the bot to ignore and would want the bot to #ignore the users with these nicks when counting the total number of ops/voices. These nicks will be exempted #from the total count of ops/voices in the channel. (If you do not have any 'nick', please leave this as "") #USAGE: "nick1, bot3, user5, robot7" set limitexnicks "spamcheckerbot" #-------------------------------------------------# # SETUP OP/VOICE LIMIT NOTIFICATION OPTIONS # #-------------------------------------------------# #Set this if you want the bot to message the channel after deoping/devoicing the nick(s), to warn, notify and #explain the channel users, ops, voices not to reop/revoice themselves as the op/voice limit on the channel is full. #USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT MESSAGE THE CHANNEL, 1=WILL MESSAGE THE CHANNEL) set limitchanswitch "0" #Set this if you want the bot to individually message the deoped/devoiced nick(s), to warn, notify why they were #deoped/devoiced and not to reop/revoice themselves on the channel as the op/voice limit on the channel is full. #USAGE: [0/1] (0=OFF, 1=ON) - (0=WILL NOT MESSAGE THE USER(S), 1=WILL MESSAGE THE USERS(S)) set limituserswitch "0" #Set this if you have enabled to warn/notify the channel's users/ops/voices about the channel op/voice limit. #Set this to the type of message the bot would send to the channel either TEXT, NOTICE, or OPNOTICE. #(You will only need to set this if you have enabled the channel notification switch.) #USAGE: [1/2/3] (1=CHANNEL TEXT, 2=CHANNEL NOTICE, 3=CHANNEL OPNOTICE) #If this is set to '1' the bot will notify the channel using a CHANNEL TEXT. (/msg <#channel>) #If this is set to '2' the bot will notify the channel using a CHANNEL NOTICE. (/notice <#channel>) #If this is set to '3' the bot will only notify the channel ops using a CHANNEL OPNOTICE. (/onotice <#channel>) set limitchannotify "1" #Set this if you have enabled to warn/notify the user's individually who have been deoped/devoiced by the #bot, forbeing extra ops/voices and exceeding the channel's op/voice limit. Set this to the type of message #the bot would send to the users either TEXT, or NOTICE. (You will only need to set this if you have #enabled the user notification switch for messaging/noticing users.) #USAGE: [1/2] (1=PRIVATE MESSAGE, 2=PRIVATE NOTICE) #If this is set to '1' the bot will notify the user(s) using a PRIVATE MESSAGE. (/msg <nick>) #If this is set to '2' the bot will notify the user(s) using a PRIVATE NOTICE. (/notice <nick>) set limitusernotify "1" ############################################################################### ### Don't edit anything else from this point onwards, even if you know tcl! ### ############################################################################### bind join - "*" check:ops:onjoin bind join - "*" check:voices:onjoin bind mode - "*+*o*" check:ops:onmode bind mode - "*+*o*" check:ops:onop bind mode - "*+*v*" check:voices:onmode bind mode - "*+*o*" check:voices:onop proc check:ops:onmode {nick uhost hand chan mode target} { global botnick limitchantype limitchans limitactivate if {(![string equal -nocase $botnick $nick]) && (![string equal -nocase $botnick $target]) && (![string equal -nocase $botnick $chan]) && ([string match "+o" $mode]) && (($limitactivate == 1) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { checkops:onmode $nick $uhost $hand $chan $mode $target } if {($limitchantype == 2)} { checkops:onmode $nick $uhost $hand $chan $mode $target } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc check:ops:onop {nick uhost hand chan mode target} { global botnick limitchantype limitchans limitactivate if {([string equal -nocase $botnick $target]) && ([string match "+o" $mode]) && (($limitactivate == 1) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { checkops:onop $nick $uhost $hand $chan $target } if {($limitchantype == 2)} { checkops:onop $nick $uhost $hand $chan $target } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc check:ops:onjoin {nick uhost hand chan} { global botnick limitchantype limitchans limitactivate if {([string equal -nocase $botnick $nick]) && (($limitactivate == 1) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { utimer 30 [list checkops:onjoin $nick $uhost $hand $chan] } if {($limitchantype == 2)} { utimer 30 [list checkops:onjoin $nick $uhost $hand $chan] } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc check:voices:onmode {nick uhost hand chan mode target} { global botnick limitchantype limitchans limitactivate if {(![string equal -nocase $botnick $nick]) && (![string equal -nocase $botnick $target]) && (![string equal -nocase $botnick $chan]) && ([string match "+v" $mode]) && (($limitactivate == 2) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { checkvoices:onmode $nick $uhost $hand $chan $mode $target } if {($limitchantype == 2)} { checkvoices:onmode $nick $uhost $hand $chan $mode $target } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc check:voices:onop {nick uhost hand chan mode target} { global botnick limitchantype limitchans limitactivate if {([string equal -nocase $botnick $target]) && ([string match "+o" $mode]) && (($limitactivate == 2) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { checkvoices:onop $nick $uhost $hand $chan $target } if {($limitchantype == 2)} { checkvoices:onop $nick $uhost $hand $chan $target } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc check:voices:onjoin {nick uhost hand chan} { global botnick limitchantype limitchans limitactivate if {([string equal -nocase $botnick $nick]) && (($limitactivate == 2) || ($limitactivate == 3))} { if {($limitchantype == 1) && ([lsearch -exact [split [string tolower $limitchans]] [string tolower $chan]] != -1)} { utimer 30 [list checkvoices:onjoin $nick $uhost $hand $chan] } if {($limitchantype == 2)} { utimer 30 [list checkvoices:onjoin $nick $uhost $hand $chan] } if {($limitchantype != 1) && ($limitchantype != 2)} { return 0 } } } proc checkops:onmode {nick uhost hand chan mode target} { global botnick limitops limitchanswitch limituserswitch limitsort limittargetflagswitch limitchannotify global limituserflagswitch limitbotcount limitexflags limitnickswitch limitexnicks limitusernotify if {([string equal -nocase $botnick $target]) || ([string equal -nocase $botnick $nick])} { return 0 } if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {(($limituserflagswitch == 1) && ([matchattr [nick2hand $target $chan] $limitexflags $target])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $target]))} { return 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } set totalops 0; set oplist ; set oppedlist foreach user [chanlist $chan] { if {([isop $user $chan])} { if {(($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalops; lappend oplist $user } if {($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalops; lappend oplist $user } } } if {($limitbotcount == 1) && ([botisop $chan])} { set totalops [expr ($totalops - 1)] foreach person $oplist { if {(![string equal -nocase $botnick $person])} { incr totalops; lappend oppedlist $person } } } if {($limitsort == 1)} { set oppedlist $oplist } if {($limitsort == 2)} { set oppedlist [lsort -decreasing $oplist] } if {($limitsort == 3)} { set oppedlist [lsort -increasing $oplist] } if {($limitsort != 1) && ($limitsort != 2) && ($limitsort != 3)} { set oppedlist $oplist } if {([botisop $chan]) && ($totalops >= $limitops)} { set deopnicks [lrange $oppedlist $limitops end] if {([llength $deopnicks] >= 1)} { foreach deopnick $deopnicks { pushmode $chan -o $deopnick } flushmode $chan if {($limituserswitch == 1)} { foreach deopednick $deopnicks { putquick "$notifyuser $deopednick :You have been *deoped* on $chan as the op limit of $chan is *full* with $limitops ops. Please *do not* op yourself (or get oped) on $chan untill the total number of ops in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $deopnicks] == 1)} { putquick "$notifychan :Nick: [join $deopnicks] has been *deoped* because the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } if {($limitchanswitch == 1) && ([llength $deopnicks] > 1)} { putquick "$notifychan :Nicks: [join $deopnicks {, }] have been *deoped* as the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } }; unset oplist; unset oppedlist }; return 0 } proc checkops:onop {nick uhost hand chan target} { global botnick limitops limitchanswitch limituserswitch limitsort limitchannotify limitusernotify global limituserflagswitch limitbotcount limitexflags limitnickswitch limitexnicks if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } if {(![string equal -nocase $botnick $target])} { return 0 } set totalops 0; set oplist ; set oppedlist foreach user [chanlist $chan] { if {([isop $user $chan])} { if {(($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalops; lappend oplist $user } if {($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalops; lappend oplist $user } } } if {($limitbotcount == 1) && ([botisop $chan])} { set totalops [expr ($totalops - 1)] foreach person $oplist { if {(![string equal -nocase $botnick $person])} { incr totalops; lappend oppedlist $person } } } if {($limitsort == 1)} { set oppedlist $oplist } if {($limitsort == 2)} { set oppedlist [lsort -decreasing $oplist] } if {($limitsort == 3)} { set oppedlist [lsort -increasing $oplist] } if {($limitsort != 1) && ($limitsort != 2) && ($limitsort != 3)} { set oppedlist $oplist } if {([botisop $chan]) && ($totalops >= $limitops)} { set deopnicks [lrange $oplist $limitops end] if {([llength $deopnicks] >= 1)} { foreach deopnick $deopnicks { pushmode $chan -o $deopnick } flushmode $chan if {($limituserswitch == 1)} { foreach deopednick $deopnicks { putquick "$notifyuser $deopednick :You have been *deoped* on $chan as the op limit of $chan is *full* with $limitops ops. Please *do not* op yourself (or get oped) on $chan untill the total number of ops in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $deopnicks] == 1)} { putquick "$notifychan :Nick: [join $deopnicks] has been *deoped* because the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } if {($limitchanswitch == 1) && ([llength $deopnicks] > 1)} { putquick "$notifychan :Nicks: [join $deopnicks {, }] have been *deoped* as the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } }; unset oplist; unset oppedlist }; return 0 } proc checkops:onjoin {nick uhost hand chan} { global botnick limitops limitchanswitch limituserswitch limitsort limitchannotify limitusernotify global limituserflagswitch limitbotcount limitexflags limitnickswitch limitexnicks if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } if {(![string equal -nocase $botnick $nick])} { return 0 } set totalops 0; set oplist ; set oppedlist foreach user [chanlist $chan] { if {([isop $user $chan])} { if {(($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalops; lappend oplist $user } if {($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalops; lappend oplist $user } } } if {($limitbotcount == 1) && ([botisop $chan])} { set totalops [expr ($totalops - 1)] foreach person $oplist { if {(![string equal -nocase $botnick $person])} { incr totalops; lappend oppedlist $person } } } if {($limitsort == 1)} { set oppedlist $oplist } if {($limitsort == 2)} { set oppedlist [lsort -decreasing $oplist] } if {($limitsort == 3)} { set oppedlist [lsort -increasing $oplist] } if {($limitsort != 1) && ($limitsort != 2) && ($limitsort != 3)} { set oppedlist $oplist } if {([botisop $chan]) && ($totalops >= $limitops)} { set deopnicks [lrange $oplist $limitops end] if {([llength $deopnicks] >= 1)} { foreach deopnick $deopnicks { pushmode $chan -o $deopnick } flushmode $chan if {($limituserswitch == 1)} { foreach deopednick $deopnicks { putquick "$notifyuser $deopednick :You have been *deoped* on $chan as the op limit of $chan is *full* with $limitops ops. Please *do not* op yourself (or get oped) on $chan untill the total number of ops in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $deopnicks] == 1)} { putquick "$notifychan :Nick: [join $deopnicks] has been *deoped* because the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } if {($limitchanswitch == 1) && ([llength $deopnicks] > 1)} { putquick "$notifychan :Nicks: [join $deopnicks {, }] have been *deoped* as the op limit in the channel is *full* with $limitops ops. To everyone: Please *do not* op yourselves (or get oped) untill the total number of ops in the channel decreases." } }; unset oplist; unset oppedlist }; return 0 } proc checkvoices:onmode {nick uhost hand chan mode target} { global botnick limitvoices limitchanswitch limituserswitch limitsort limittargetflagswitch limitchannotify global limituserflagswitch llimitexflags limitnickswitch limitexnicks limitusernotify if {([string equal -nocase $botnick $target]) || ([string equal -nocase $botnick $nick])} { return 0 } if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {(($limituserflagswitch == 1) && ([matchattr [nick2hand $target $chan] $limitexflags $target])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $target]))} { return 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } set totalvoices 0; set voicelist foreach user [chanlist $chan] { if {([isvoice $user $chan]) && (($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalvoices; lappend voicelist $user } if {([isvoice $user $chan]) && ($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalvoices; lappend voicelist $user } } if {($limitsort == 2)} { set voicelist [lsort -decreasing $voicelist] } if {($limitsort == 3)} { set voicelist [lsort -increasing $voicelist] } if {([botisop $chan]) && ($totalvoices >= $limitvoices)} { set devoicenicks [lrange $voicelist $limitvoices end] if {([llength $devoicenicks] >= 1)} { foreach devoicenick $devoicenicks { pushmode $chan -v $devoicenick } flushmode $chan if {($limituserswitch == 1)} { foreach devoicednick $devoicenicks { putquick "$notifyuser $devoicednick :You have been *devoiced* on $chan as the voice limit of $chan is *full* with $limitvoices voices. Please *do not* voice yourself (or get voiced) untill the total number of voices in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $devoicenicks] == 1)} { putquick "$notifychan :Nick: [join $devoicenicks] has been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } if {($limitchanswitch == 1) && ([llength $devoicenicks] > 1)} { putquick "$notifychan :Nicks: [join $devoicenicks {, }] have been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } }; unset voicelist }; return 0 } proc checkvoices:onop {nick uhost hand chan target} { global botnick limitvoices limitchanswitch limituserswitch limitsort limitchannotify limitusernotify global limituserflagswitch limitbotcount limitexflags limitnickswitch limitexnicks if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } if {(![string equal -nocase $botnick $target])} { return 0 } set totalvoices 0; set voicelist foreach user [chanlist $chan] { if {([isvoice $user $chan]) && (($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalvoices; lappend voicelist $user } if {([isvoice $user $chan]) && ($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalvoices; lappend voicelist $user } } if {($limitsort == 2)} { set voicelist [lsort -decreasing $voicelist] } if {($limitsort == 3)} { set voicelist [lsort -increasing $voicelist] } if {([botisop $chan]) && ($totalvoices >= $limitvoices)} { set devoicenicks [lrange $voicelist $limitvoices end] if {([llength $devoicenicks] >= 1)} { foreach devoicenick $devoicenicks { pushmode $chan -v $devoicenick } flushmode $chan if {($limituserswitch == 1)} { foreach devoicednick $devoicenicks { putquick "$notifyuser $devoicednick :You have been *devoiced* on $chan as the voice limit of $chan is *full* with $limitvoices voices. Please *do not* voice yourself (or get voiced) untill the total number of voices in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $devoicenicks] == 1)} { putquick "$notifychan :Nick: [join $devoicenicks] has been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } if {($limitchanswitch == 1) && ([llength $devoicenicks] > 1)} { putquick "$notifychan :Nicks: [join $devoicenicks {, }] have been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } }; unset voicelist }; return 0 } proc checkvoices:onjoin {nick uhost hand chan} { global botnick limitvoices limitchanswitch limituserswitch limitsort limitchannotify limitusernotify global limituserflagswitch limitbotcount limitexflags limitnickswitch limitexnicks if {($limituserflagswitch != 0) && ($limituserflagswitch != 1)} { set limituserflagswitch 0 } if {($limitnickswitch != 0) && ($limitnickswitch != 1)} { set limitnickswitch 0 } if {($limitusernotify == 1)} { set notifyuser PRIVMSG }; if {($limitusernotify == 2)} { set notifyuser NOTICE }; if {($limitusernotify != 1) && ($limitusernotify != 2)} { set notifyuser PRIVMSG } if {($limitchannotify == 1)} { set notifychan "PRIVMSG $chan" }; if {($limitchannotify == 2)} { set notifychan "NOTICE $chan" }; if {($limitchannotify == 3)} { set notifychan "NOTICE @$chan" }; if {($limitchannotify != 1) && ($limitchannotify != 2) && ($limitchannotify != 3)} { set notifychan "PRIVMSG $chan" } if {(![string equal -nocase $botnick $nick])} { return 0 } set totalvoices 0; set voicelist foreach user [chanlist $chan] { if {([isvoice $user $chan]) && (($limituserflagswitch == 1) && (![matchattr [nick2hand $user $chan] $limitexflags $user])) || (($limitnickswitch == 1) && ($limitexnicks != "") && (![string match -nocase *$limitexnicks* $user]))} { incr totalvoices; lappend voicelist $user } if {([isvoice $user $chan]) && ($limituserflagswitch == 0) && ($limitnickswitch == 0)} { incr totalvoices; lappend voicelist $user } } if {($limitsort == 2)} { set voicelist [lsort -decreasing $voicelist] } if {($limitsort == 3)} { set voicelist [lsort -increasing $voicelist] } if {([botisop $chan]) && ($totalvoices >= $limitvoices)} { set devoicenicks [lrange $voicelist $limitvoices end] if {([llength $devoicenicks] >= 1)} { foreach devoicenick $devoicenicks { pushmode $chan -v $devoicenick } flushmode $chan if {($limituserswitch == 1)} { foreach devoicednick $devoicenicks { putquick "$notifyuser $devoicednick :You have been *devoiced* on $chan as the voice limit of $chan is *full* with $limitvoices voices. Please *do not* voice yourself (or get voiced) untill the total number of voices in the channel decreases." } } if {($limitchanswitch == 1) && ([llength $devoicenicks] == 1)} { putquick "$notifychan :Nick: [join $devoicenicks] has been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } if {($limitchanswitch == 1) && ([llength $devoicenicks] > 1)} { putquick "$notifychan :Nicks: [join $devoicenicks {, }] have been *devoiced* because the voice limit in the channel is *full* with $limitvoices voices. To everyone: Please *do not* voice yourselves (or get voiced) untill the total number of voices in the channel is less than $limitvoices voices." } }; unset voicelist }; return 0 } putlog "\[LOADED\] Channel OP/VOICE Limit Script v3.58.b by \002awyeah (awyeah@usa.net)\002" if {($limitchantype == 1)} { putlog "OP/VOICE Limiter is \002*ACTIVE*\002 on: \002$limitchans\002" } if {($limitchantype == 2)} { putlog "OP/VOICE Limiter IS \002*ACTIVE*\002 on: \002All channels\002" } if {(($limitactivate == 1) || ($limitactivate == 2) || ($limitactivate == 3) || ($limitactivate == 4)) && (($limitchantype != 1) && ($limitchantype != 2))} { putlog "OP/VOICE Limiter is \002*NOT ACTIVE*\002 because: \002No *channel activation type* has been seletected\002" } if {(($limitchantype == 1) || ($limitchantype == 2)) && (($limitactivate != 1) && ($limitactivate != 2) && ($limitactivate != 3) && ($limitactivate != 4))} { putlog "OP/VOICE Limiter is \002*NOT ACTIVE*\002 because: \002No *channel interface* has been seletected\002" } if {($limitchantype != 1) && ($limitchantype != 2) && ($limitactivate != 1) && ($limitactivate != 2) && ($limitactivate != 3) && ($limitactivate != 4)} { putlog "OP/VOICE Limiter is \002*NOT ACTIVE*\002 because: \002No *channel activation type* and *channel interface* has been seletected\002" } return Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 1 октября, 2004 Это тебе что бы бот сам акик делал! # W koi kanali da gleda dali owners na bota sa w akick-a # Razdeleni sys prazni mesta. # Ako slojete towa na [channels], wsi4ki kanali ste bydat zastitawani. # Ne zabrawqjte da rehashnete bota sled addvane na now kanal. Enter the channel set akick(nchans) "#Channel1 #Channel2 #Channel3" # Kolko pyti trqbwa da byde kick bota ot chan za da adne potrebitelq w AKICK LISTA; How times to kick bot for akick set akick(ktimes) 3 # Sled kolko wreme spirat da waji ktimes za daden potrebitel set akick(wreme) 30 # Dali da se zastitawat opredeleni potrebiteli (pri kick na bota). # CS i OS se zastitawat po princip. set akick(protectusers) 1 # Flagowete, koito potrebitelq trqbwa da ima, za da ne byde bannat/sloje w # AKICK list-a pri kick na bota. set akick(flagsprotect) "n|n" # Flagowete, koito potrebitelq trqbwa da ima, za da se mahne ot AKICK lista. set akick(flagmatch) "nb|n" # +------------------------------ DO NOT EDIT BELLOW LINES ------------------------------+ # bind mode - *+b* bot_banned bind kick - * bot_kicked bind raw - NOTICE services_parse proc bot_banned {nick uhost hand chan mode victim} { global botname if {[string match -nocase "$victim" "$botname"]} { if {$nick == "CS"} { putserv "PRIVMSG CS :akick $chan del $victim" putserv "PRIVMSG CS :unban $chan" putserv "JOIN $chan" } } } set kicked(beginchan) "" proc bot_kicked {nick uhost hand chan target reason} { global kicked akick set host [lindex [split [getchanhost $nick $chan] @] 1] regsub {~} $uhost {} uhost if {[string tolower $nick] == "cs" || [string tolower $nick] == "os"} { return } if {$akick(protectusers) == 1 && [matchattr $hand $akick(flagsprotect) $chan]} { return } if {[array names kicked $host:$chan] == ""} { set kicked($host:$chan) [unixtime] } else { set kicked($host:$chan) [check_ts $kicked($host:$chan) $akick(wreme)] if {[llength $kicked($host:$chan)] == $akick(ktimes)} { bankick $chan 2 $host } elseif {[llength $kicked($host:$chan)] >= 2} { bankick $chan 1 $host } } } proc bankick {chan what host} { global botnick akick if {$what == 1} { newchanban $chan *@$host $botnick "Kicked me $akick(ktimes) times" 60 sticky } elseif {$what != 0} { putquick "PRIVMSG CS :AKICK $chan ADD *@$host Don't Touch me Bitch!!!" } } for {set i 0} {$i < 60} {set i [expr $i + 5]} { if {$i < 10} { set count "0$i" } else { set count $i } bind time - "$count * * * *" get_akick } proc get_akick {a b c d e} { global akick set count 1 foreach chan $akick(nchans) { timer $count "putserv \"PRIVMSG CS :AKICK $chan LIST\"" incr count } } proc services_parse {from key text} { global akick botnick kicked if {[string tolower [lindex [split $from "!"] 0]] == "cs"} { if {[lrange $text 1 4] == ":-- AutoKick List for"} { set kicked(beginchan) [lindex $text 5] set kicked(beginchan) [string range $kicked(beginchan) 2 end-2] return } if {[lrange $text 1 5] == ":-- End of list --"} { set kicked(beginchan) "" return } if {$kicked(beginchan) == ""} { return } set galabec [lindex $text 2] if {[matchattr [finduser $galabec] $akick(flagmatch) $kicked(beginchan)]} { putserv "PRIVMSG CS :AKICK $kicked(beginchan) DEL $galabec" return } } } proc check_ts {tss sec} { set tmp [list [unixtime]] foreach ts $tss { if {[expr [unixtime] - $ts] <= $sec} { lappend tmp $ts } } return $tmp } putlog "Akick and Anti akick TCL by m4a1sD Loaded!" Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zadnica Жалоба Опубликовано 2 октября, 2004 Спасибо большое кончено но можно было просто *.txt выложить_______.txt Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 2 октября, 2004 у меня проблема с этими просоединениес файлов! мне так проще! если еще надо! я скину сюда только когда буду дома! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CrazyCaT Жалоба Опубликовано 14 октября, 2004 а я не очень люблю всякие скрЯптыыы..простой мирк и всё нормально..не нудны мне всякие навороты!!! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 14 октября, 2004 а вот и нужны эти все новороты! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CrazyCaT Жалоба Опубликовано 17 октября, 2004 [/move] а у меня есть черный бумер он всегда со мной .... Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 18 октября, 2004 Черный прикольно! Но когда два черных это еще лудше! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Faust Жалоба Опубликовано 5 ноября, 2004 ты бы ещё суда сорсы бота выложил... Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CrazyCaT Жалоба Опубликовано 21 ноября, 2004 мда уж..тогда бы было совсем весело Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kostik Жалоба Опубликовано 21 ноября, 2004 а что хочешь выложу! не проблема! Вставить Ник Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты