Перейти к содержанию
  • Реклама

  • Социальные сети



    Новости сайта Лыткарино Online
    на главной странице Яндекса
    добавить на Яндекс
Авторизация  
Гость zadnica

!Боты и скрипты для в Мирк!

Рекомендуемые сообщения

Гость zadnica   
Гость zadnica

Расскажите побольше о ботах(для Мирк) и скриптах к ним !

если не жалко дайте Бота или срипты (если есть к Windrop)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IRCа рулез :) Я в ботах мало рулю, но если есть вопросы по мирк скриптам обращася :) Меня можно поймать на канале #ULTRA в Далнете :)

Только не баньте за рекламу :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну это не TransFile, а его переделка, очень крутая называется ClonTrans, позволяет кидаться небольшими файлами, за 45 минут с трёх клонов реально мптришку переслать :) Всё это чудо работает через ctcp, посылает пакеты, потом с помощью специальной проги эти пакета преобразуются в файл :) Сначало всё было круто, а потом сервак начал говорить что я флудю :(

Изменено пользователем Little Devil

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость zadnica   
Гость zadnica

блин не полчучается скрипт ccs для Windrop активизировать кинул в папку scripts в конфинге написал source scripts/ccs.tcl !Может правда и активизировался а вот приветсвие не работает может я че напутал

set greet(#тут канал где мой бот) {

"test"

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Kostik   

Скрипт.......может быть паленый.......или еще хуже бот у тебя паленый!

Я со скриптыми вообще замучался........пашут все а не отвечает не один!

до ума никак не могу довести своего бота!

Постоянно слетает! и не хочет русский принимать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Kostik   

Понял щас посмотрю и выложу тебе скрипт какой нить!

-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   

Это тебе что бы бот сам акик делал!

# 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!"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Kostik   

у меня проблема с этими просоединениес файлов! мне так проще! если еще надо! я скину сюда только когда буду дома!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

Авторизация  

×
Яндекс.Метрика
Лыткарино Online - городской информационно-развлекательный портал, 18+
Контакты | Реклама на сайте
При любом копировании материалов сайта гиперссылка на источник обязательна.