Конфигурационный файл eggdrop.conf
Конфигурационный файл с описанием можно скачать по ссылке: eggdrop.conf
Содержание
- Введение
- Описание файла eggdrop.conf
- Основное
- лог-файлы
- console
- файлы и директории
- ботнет
- дополнительное
- модули
- DNS модуль
- CHANNELS модуль
- SERVER модуль
- CTCP модуль
- IRC модуль
- TRANSFER модуль
- SHARE модуль
- COMPRESS модуль
- FILESYSTEM модуль
- NOTES модуль
- CONSOLE модуль
- WOOBIE модуль
- SEEN модуль
- BLOWFISH модуль
- ASSOC модуль
- WIRE модуль
- UPTIME модуль
- скрипты
#! /path/to/executable/eggdrop # ^- путь к исполняемому файлу бота. "#! /home/lamest/egg/eggdrop" # это нужно для того, чтобы запускать бота из конфигурационного файла. # например: ./lamest.conf # # $Id: eggdrop.conf,v 1.9 2002/12/27 22:48:49 wcc Exp $ # # детальные описания настроек на английском языке вы найдете в директории: # doc/settings/ #### ОСНОВНОЕ #### # имя, которым бот идентифицирует себя как пользователя, # при подключении к серверу. не работает, если на машине есть # ident-сервер. set username "lamest" # имя и email владельца бота. # выводится в .status и /msg <botnick> help set admin "Lamer <e-mail: lamer(at)lamest.lame.org>" # в какой IRC-сети сидит бот. данная строка нужна для того, чтобы # в ботнет было видно откуда он. # наилучший формат: "Undernet", "EFNet" и т.д. set network "WeNet" # в какой часовом поясе (timezone) ваш бот? # часовой пояс задается тремя или более алфавитными символами. # например: Central European Time (UTC+1) будет "CET" # списки поясов доступны в любой системе типа unix/linux. set timezone "GMT" # "cмeщeниe" вaшeгo чacoвoгo пoяca oтнocитeльнo гpинвичa (GMT, oнo жe UTC). # пoлoжитeльнo, ecли вы зaпaднee нулeвoгo мepидиaнa и oтpицaтeльнo, # ecли вocтoчнee. например: если временная зона UTC+1, то поправка будет "-1" set offset "+3" # если вы хотите использовать значения timezone и offset не только в # скриптах, но и глобально в системе, то раскомментируйте эту строку. #set env(TZ) "$timezone $offset" # если ваша машина имеет более одного IP, вы можете установить на каком # именно IP будет работать бот. установить можно как IP, так и хост. # но обычно хост требуется прописывать только в том случае, если бот не # может его определить сам во время запуска. #set my-hostname "virtual.host.com" #set my-ip "99.99.0.0" # если вы хотите изменить язык сообщений, что выдает бот, то установите # предпочитаемый язык. #addlang "english" #### ЛОГ-ФАЙЛЫ #### # события, записываемые в лог файлы: # m приватные сообщения и ctcp на бота # k кики, баны, смены режимов канала # j входы, выходы, сетевые-сплиты # p публичные разговоры в канале # s серверные соединения/сообщения # b линковка ботов и обмен файлом пользователей # c команды даваемые боту через msg и dcc # x работа с файловым пространством # r (если use-console-r 1) ВСЁ приходящее от сервера # v (если debug-output 1) ВСЁ исходящее на сервер # t (если debug-output 1) botnet-траффик # o прочее: информация, ошибки (ВАЖНАЯ ИНФОРМАЦИЯ) # w wallops: сообщения между IRCop'ами (нужен флаг +w в init-server) # максимальное количество логов (не меньше 5!). set max-logs 25 # максимальный размер лог-файлов. "0" для отключения. # работает только, если keep-all-logs 0 (выключено). # размер указывается в килобайтах. например: "550" указывает, что надо # перезаписать лог, если он стал больше 550 килобайт. set max-logsize 0 # отписывать лог и проверять размер (если max-logsize указан) КАЖДУЮ минуту # вместо каждых 5-ти. это бывает нужно, если бот ведет статистику на www. set quick-logs 0 # для логов с флагами "k", "j" и "p" надо указать канал принадлежности. # для ведения лога от всех каналов укажите "*". # в 'eggdrop.log' будут храниться приватные msg/ctcp, команды, прочая # информация и ошибки с каналов: logfile mco * "logs/eggdrop.log" # в 'lamest.log' будут храниться входы, выходы, кики, баны и смены режимов # канала #lamest: #logfile jk #lamest "logs/lamest.log" # [0/1] проставлять время сообщений в лог-файлы? set log-time 1 # [0/1] хранить все логи? вместо только последних 48 часов. # если отключить, то будут храниться только текущий день и вчерашний. # вчерашний будет иметь имя "(logfilename).yesterday". set keep-all-logs 0 # если keep-all-logs установлен в "1", то вам необходимо задать формат # времени, который будет приписываться к имени лога в виде суффикса. # по умолчанию: "%d%m%Y". пример: "04May2000". # внимание: на системах не поддерживающих strftime будет использоваться # формат, который установлен по умолчанию. set logfile-suffix ".%d%b%Y" # раз в сутки текущий лог-файл заканчивается и начинается новый. # этот параметр задает (в формате military time), когда это должно # происходить. имейте ввиду, что 0 в начале может запутать TCL и # он может принять его не за то значение, которое вам нужно. # формат military time прост: 3 ночи это 300, 4 дня это 1600 set switch-logfiles-at 300 # [0/1] включить "тихую" запись? фразы "Writing user file..." и # "Writing channel file ..." не будут выводиться в консоль. set quiet-save 0 #### CONSOLE #### # консольные флаги по умолчанию. затем каждый мастер/владелец смогут # поставить все необходимые флаги для себя с помощью команды .console set console "mkcobxs" #### ФАЙЛЫ И ДИРЕКТОРИИ #### # файл пользователей: где будут храниться данные о пользователях. set userfile "LamestBot.user" # файл запуска: в какой файл бот будет отписывать номер своего процесса? # по умолчанию: pid.<botnet-nick> # set pidfile "pid.LamestBot" # [0/1] сортировать пользователей в алфавитном порядке внутри файла # пользователей? set sort-users 0 # путь, где находятся файлы помощи. set help-path "help/" # путь, где находятся текстовые файлы (используются разными dump-командами). set text-path "text/" # место для хранения временных файлов (рекомендуется: /tmp) set temp-path "tmp/" # путь до файла с MOTD, который отображается при входе в патилайн бота. # о встроенных маркерах смотрите doc/text-substitutions.doc set motd "text/motd" # путь до файла с баннером для телнет-соединений. set telnet-banner "text/banner" # установите права доступа к файлам: userfile, chanfile и notefile. # # u g o u g o u g o # 0600 rw------- 0400 r-------- 0200 -w------- u - user # 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group # 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others # # для максимальной безопасности рекомендуется установить 0600. set userfile-perm 0600 #### БОТНЕТ #### # перед тем, как настраивать эту часть вы должны ясно представлять, что # такое ботнет и что именно вы от него хотите. # если вы хотите чтобы в ботнете бот использовал ник отличный от главного # ника бота, пропишите эту переменную. #set botnet-nick "LlamaBot.WeNet" # какие порты должен "слушать" бот? # внимание: если вы запускаете на одной машине больше одного бота, то # их порты НЕ ДОЛЖНЫ пересекаться! # вы можете разделить доступ сделав отдельный порт для пользователей # и отдельный для ботов. но на практике это не имеет особого значения. #listen 3333 bots #listen 4444 users listen 3333 all # [0/1] не давать соединения, если хост не совпадает с известными? # позволяет cкpывать фaкт пpиcутcтвия бoтa на сервере oт нeизвecтныx # eму пользовaтeлeй. включение сразу подразумевает невозможность регистрации # новых пользователей через телнет. set protect-telnet 0 # [0/1] проверять dcc-соединение на отсутствие "мусора", который может # заставить бота работать медленнее или неправильно? set dcc-sanitycheck 0 # время ожидания определения идента (в секундах) set ident-timeout 5 # [0/1] в патилайн пускать только тех пользователей у которых есть флаг "p"? set require-p 1 # [0/1] разрешить пользователям телнет возможность набирать 'NEW' и # становиться новыми пользователями? # (если ставите 1, то вы должны сделать protect-telnet 0) set open-telnets 0 # [0/1] отображать информацию, что это eggdrop при соединение на телнет? set stealth-telnets 0 # [0/1] отображать телнет-баннер? set use-telnet-banner 0 # время ожидания dcc/telnet/relay/etc соединений (в секундах) set connect-timeout 15 # максимальное количество строк в патилайн не расцениваемое как флуд. set dcc-flood-thr 3 # сколько попыток соединения с телнет за какое количество секунд не # считать это флудом? set telnet-flood 5:60 # [0/1] защищать телнет от флуда? # значение "0" тоже защищает от флуда, кроме от пользователей с флагом "f". set paranoid-telnet-flood 1 # время ожидания ответа на определение ip/хоста (в секундах) # (на медленном интернет-канале лучше увеличить). set resolve-timeout 15 #### ДОПОЛНИТЕЛЬНОЕ #### # если вы находитесь за firewall, задайте правильный socks-хост и # раскомментируйте следующую строку. #set firewall "proxy:178" # для sun'овского "telnet passthru" firewall'а установите данную опцию. #set firewall "!sun-barr.ebay:3666" # если у вас NAT firewall (на вашем компьютере установлены IP в диапазоне: # 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255 или # 10.0.0.0-10.255.255.255 и ваш firewall прозрачно меняет ваш адрес на # уникальный) или вы работаете через IP-маскарад, то вероятно, что dcc chat, # ctcp chat и обмен файлом пользователей может не работать. # попробуйте прописать здесь IP-адрес внешнего интерфейса вашего шлюза # в интернет. и ничего не прописывайте в my-ip и my-hostname. #set nat-ip "127.0.0.1" # использовать заданный диапазон портов для dcc-пересылок. #set reserved-portrange 2010:2020 # сколько минут продолжать игнорирование? set ignore-time 15 # в какие минуты часа производить ежечасные действия? # например, если прописать 15, то каждые xx:15 минут будут выполняться # системные действия, например, сохранение файла пользователей. set hourly-updates 00 # какие пользователи будут ВСЕГДА иметь флаг "+n"? set owner "MrLame, MrsLame" # кому бот должен посылать уведомления о начале обучения нового пользователя? set notify-newusers "$owner" # какие флаги ставить новым пользователям по умолчанию? set default-flags "h" # какие пользовательские поля показывать при выводе команды .whois? # будут выводится поля XTRA. например при пользовании скрипта # userinfo.tcl можно назначить вывод полей url и birthday. set whois-fields "url birthday" # [0/1/2] разрешить с удаленных ботов в вашем ботнет "пинать" пользователей # вашего патилайн? # 0: запретить # 1: только с share-ботов # 2: разрешить set remote-boots 2 # [0/1] разрешить разлинковывать ваших ботов (которые включены в систему # обмена общим файлом пользователей) с удаленных ботов? set share-unlinks 1 # [0/1] что делать при получении сигнала SIGHUP? # 0: сохранять файл пользователей. # 1: "умирать" (завершение процесса) set die-on-sighup 0 # [0/1] что делать при получении сигнала SIGTERM? # 0: сохранять файл пользователей. # 1: "умирать" (завершение процесса) set die-on-sigterm 1 # закомментируйте строки, если хотите добавить команды "tcl" и "set". # "tcl" позволит владельцам запускать tcl команды напрямую на боте. # "set" позволит владельцам устанавлить переменные напрямую на боте. # обе команды это потенциальная "дыра" в безопасности бота! # если вы выбираете себе владельцев (+n) очень аккуратно, то можете # включить эти команды. unbind dcc n tcl *dcc:tcl unbind dcc n set *dcc:set # [0/1/2] разрешить постоянным (permanent) владельцам команды tcl/set/dump? # 0: запретить # 1: дать владельцам команды .tcl и .set # 2: дать владельцам команду .dump set must-be-owner 1 # закомментируйте строку, если хотите добавить команду "simul", которая # позволит манипулировать пользователями в патилайн. # но следите кому раздаете +n! unbind dcc n simul *dcc:simul # максимальное количество dcc-соединений к боту одновременно. # можно увеличить, но не уменьшайте. set max-dcc 50 # [0/1] добавить 'dccsimul' команду? (требуется скрипт action.fix.tcl) set enable-simul 1 # [0/1] разрешить пользователям с флагами +d и +k использовать команды # с флагами -|- ? set allow-dk-cmds 1 # время (в секундах) при попытке бота подлинковаться повторно в ботнет? # живой пример: бот пытается подлинковаться, но его не пускают, так как # он уже есть в ботнет, но это только потому, что старый хаб, через # который этот бот сидел до этого, из-за лага еще не успел сообщить # текущему хабу, что бот от него "отвалился". set dupwait-timeout 5 # вы должны удалить или закомментировать эту строку, добавленную для # предотвращения запуска бота с ненастроенным конфигом. # боты с ненастроенными конфигами принимают не те ники, входят не в те # IRC-сети и каналы. дважды перепроверьте ваш конфигурационный файл. # ниже есть еще такая же линия. просто настраивайте конфиг :) #die "Please make sure you edit your config file completely." ######## МОДУЛИ ######## # укажите директорию в которой находятся модули (если вы собирали бота # не в режиме static) set mod-path "modules/" #### DNS МОДУЛЬ #### # модуль предоставляет асинхронную поддержку dns-запросов. # это предотвратит длительные ожидания ответов на запросы (и соответсвенно # "провисы" бота), если по каким либо причинам хост не может быть определен. loadmodule dns #### CHANNELS МОДУЛЬ #### # модуль предоставляет поддержку каналов для бота. # без него бот сможет сидеть на IRC-сервере, но не будет входить в каналы. loadmodule channels # файл, для хранения данных о каналах. set chanfile "LamestBot.chan" # [0/1] пытаться по истечению времени снимать bans/exempts/invites # установленные другими ботами на канале? set force-expire 0 # [0/1] передавать "приветствия" (info-строки) при обмене userfile? set share-greet 0 # [0/1] разрешить пользователям установку info-строк? set use-info 1 # глобальные настройки, которые будут использованы при +chan. set global-flood-chan 100:60 set global-flood-deop 3:10 set global-flood-kick 3:10 set global-flood-join 5:60 set global-flood-ctcp 3:60 set global-flood-nick 20:30 set global-aop-delay 5:30 set global-idle-kick 0 set global-chanmode "" set global-stopnethack-mode 0 set global-revenge-mode 0 set global-ban-time 0 set global-exempt-time 60 set global-invite-time 60 set global-chanset { -autoop -autovoice -bitch +cycle +dontkickops +dynamicbans +dynamicexempts +dynamicinvites -enforcebans +greet -inactive -nodesynch -protectfriends +protectops -revenge -revengebot -secret -seen +shared -statuslog +userbans +userexempts +userinvites -protecthalfops -autohalfop } # внимание: TCL не позволяет устанавливать комментарии внутри { } # channel add #lamest { # chanmode "+nt-likm" # idle-kick 0 # stopnethack-mode 0 # revenge-mode 1 # aop-delay 5:30 # need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" } # need-invite { putserv "PRIVMSG #lamest :let me in!" } # need-key { putserv "PRIVMSG #lamest :let me in!" } # need-unban { putserv "PRIVMSG #lamest :let me in!" } # need-limit { putserv "PRIVMSG #lamest :let me in!" } # flood-chan 10:60 # flood-deop 3:10 # flood-kick 3:10 # flood-join 5:60 # flood-ctcp 3:60 # flood-nick 5:60 # } # параметры внутри { } являются канальными значениями и могут быть добавлены # или изменены с помощью команд channel add и channel set. # chanmode # какие канальные режими бот будет "удерживать"? # '+' означает включен # '-' означает выключен # # idle-kick # через сколько минут бездействия в канале кикать пользователей? # (установите "0" для отключения) # # stopnethack-mode # снимать оп со всех, кто входит в канал и получает опа от сервера. # 0 выключено # 1 isoptest (не снимать, если он registered op), # 2 wasoptest (не снимать, если он был op до split) # 3 не снимать, если isop или wasop # 4 не снимать, если isop и wasop # 5 если у канала -bitch: смотри stopnethack-mode 3 # если у канала +bitch: смотри stopnethack-mode 1 # 6 если у канала -bitch: смотри stopnethack-mode 2 # если у канала +bitch: смотри stopnethack-mode 4 # # revenge-mode # что делать боту, если у него установлен режим revenge? # (по умолчанию 1). # 0 - деопать # 1 - деопать и ставить +d # 2 - деопать, ставить +d и кикать # 3 - деопать, ставить +d, банить и кикать # # ban-time # время (в минутах) на временные баны. если "0", то "вечный" бан. # # exempt-time # продолжительность действия исключений из бан-листа, в минутах. # при нулевом значении исключения не снимаются никогда. # исключение снимается в случае, если на канале нет банов, удовлетворяющих # этой же маске. поддерживается лишь некоторыми сетями (например, IRCnet и # ForestNet), определяется наличием символа 'e' в numeric 004, # получаемым от сервера в момент соединения. # # invite-time # продолжительность действия приглашений (+I режим), в минутах. # при нулевом значении приглашения не имею срока истечения. # бот будет проверять приглашения каждые X минут, но не будет их удалять, # если канал имеет флаг +i. # # aop-delay (минимум:максимум) # для autoop и autovoice # aop-delay 0 без задержки # aop-delay x или aop-delay x:x x секунд задержка # aop-delay x:y разная задержка # # если автоопный пользователь войдет в момент обработки другого автоопного # пользователя, то бот отдаст серверу команду на оп одной строкой. # # need-op # скрипт, выполняющийся при желании бота получить опа на канале. # очень эффективно в сочетании с сервисами, если Ваша сеть их поддерживает. # допускается использование переменной $botnick, однако имя канала # необходимо указывать непосредственно. # # need-invite # скрипт, выполняющийся при желании бота войти на канал по приглашению. # очень эффективно в сочетании с сервисами, если Ваша сеть их поддерживает. # допускается использование переменной $botnick, однако имя канала # необходимо указывать непосредственно. # # need-key # скрипт, выполняющийся при желании бота войти на канал закрытый ключом. # очень эффективно в сочетании с сервисами, если Ваша сеть их поддерживает. # допускается использование переменной $botnick, однако имя канала # необходимо указывать непосредственно. # # need-unban # скрипт, выполняющийся при желании бота войти на канал, где его забанили. # очень эффективно в сочетании с сервисами, если Ваша сеть их поддерживает. # допускается использование переменной $botnick, однако имя канала # необходимо указывать непосредственно. # # need-limit # скрипт, выполняющийся при желании бота войти на канал, где лимит # пользователей достиг максимума и новым нет места. # очень эффективно в сочетании с сервисами, если Ваша сеть их поддерживает. # допускается использование переменной $botnick, однако имя канала # необходимо указывать непосредственно. # # flood-chan (10:60) # сколько сообщений в канал за какое количество секунд от одного хоста # считать флудом? # # flood-deop (3:10) # сколько деопов за какое количество секунд от одного хоста считать # mass de-op? # # flood-kick (3:10) # сколько киков за какое количество секунд от одного хоста считать # mass kick? # # flood-join (5:60) # сколько входов за какое количество секунд от одного хоста считать # join-флудом? # # flood-ctcp (3:60) # сколько ctcp-запросов в канал за какое количество секунд от одного хоста # считать ctcp-флудом? # # flood-nick (5:60) # сколько смен ников за какое количество секунд от одного хоста считать # nick-флудом? # # указав 0 или 0:0 вы отключите проверку на флуд # внимание! "need-op", "need-invite", и т.д. имеют лимит строки в 120 символов. # если вам необходимо больше, создайте свою процедуру и просто вызывайте. # также есть еще множество настроек канальных опций, которые имеют два # состояния: включено/выключено # включенные опции в виде: +autoop # выключенные опции в виде: -autoop #channel set #lamest +enforcebans +dynamicbans +userbans +dynamicexempts +greet #channel set #lamest +userexempts +dynamicinvites +userinvites +protectops #channel set #lamest +protectfriends +statuslog +revenge -protecthalfops +cycle #channel set #lamest +revengebot +dontkickops +autovoice -autoop -autohalfop #channel set #lamest -bitch -secret -shared # Список доступных опций канала: # # enforcebans # кикать пользователей, если установлен бан и на канале есть совпадающие # с маской бана люди # # dynamicbans # активировать бан только при необходимости. бот будет хранить внутри себя # полный список банов, но активировать их на сервере будет только, если # появится пользователь совпадающий с маской бана. # # userbans # позволять установку банов напрямую? # если выключить, то поставить можно будет только из консоли бота. # # dynamicexempts # активировать исключение только при необходимости. бот будет хранить # внутри себя полный список исключений, но активировать их на сервере # будет только, если появится появится бан совпадающий с маской исключения. # Исключение будет сброшено, как только будет снят сам бан. # # userexempts # позволять установку исключений напрямую? # если выключить, то поставить можно будет только из консоли бота. # # dynamicinvites # активировать приглашение только при необходимости. бот будет хранить # внутри себя полный список приглашений, но активировать их на сервере # будет только, если канал будет в режиме +i и появится пользователь # запросивший приглашение. Приглашение сбросится при установке режима -i # # userinvites # позволять установку приглашений напрямую? # если выключить, то поставить можно будет только из консоли бота. # # autoop # давать статус op при входе пользователям, которые имеют флаг +o. # # authalfoop # давать статус halfop при входе пользователей, которые меют флаг +l. # # bitch # только пользователи с флагом +o могуть получить статус опа на канале. # # greet # выводит приветствия установленные пользователями. # # protectops # снова давать статус опа пользователям с флагом +o, если они были # деопнуты. # # protecthalfops # снова давать статус halfop пользователям с флагом +l, если они были dehalfop-нуты. # # protectfriends # снова давать статус опа пользователям с флагом +f, если они были # деопнуты. # # statuslog # отображать статус канала в консоли каждые 5 минут. # # revenge # мстить людям, которые деопали/кикали/банили ботов, опов (+o) и друзей (+f) # пользователи с +f не подвергаются мщению # # revengebot # то же самое что и revenge, но мстит только за ботов # все пользователи подвергаются мщению, даже опы (+o) # # autovoice # давать статус voice при входе пользователям, которые имеют флаг +v. # # secret # показывать канал при выводе команды botinfo и who в ботнет. # # shared # сделать общими пользовательские данные канала и обменивать их с # передачей файла пользователей. # # cycle # производить попытки перевойти в канал, если потеряны все опы. # # dontkickops # не кикать пользователей с флагом +o при нарушениях. # # inactive # не обслуживать канал, но при этом и не потерять данные и настройки # (flood, channel set), флаги пользователей и баны для этого канала. # установка +inactive заставит бота покинуть канал. # # seen # обработка seen-запросов в канале (требуется seen модуль). # # nodesynch # не обращать внимания на смену режимов канала не опами канала. # (это предотвратит "борьбу" ботов с irc-сервисами) # # короткий пример: # # channel add #botcentral { # chanmode "+mntisl 1" # idle-kick 1 # } # channel set #botcentral +bitch +enforcebans -greet +revenge #### SERVER МОДУЛЬ #### # модуль предоставляет серверную поддержку. loadmodule server # [0/1/2/3/4/5] тип IRC-сети? # 0 = Efnet (non +e/+I hybrid) # 1 = IRCnet # 2 = Undernet # 3 = Dalnet # 4 = Efnet +e/+I hybrid # 5 = Прочие set net-type 5 #### настройки: # ник бота, который будет использоваться на IRC (и в ботнет, если не # установлен botnet-nick). set nick "Lamestbot" # альтернативный ник, если основной ник будет недоступен. # символ "?" в нике будет автоматически заменяться на цифру. set altnick "Llamabot" # что выводить в поле realname? set realname "Owner: $owner" # скрипт, который выполнится во время подключения к серверу. # максимум 120 символов. set init-server { putserv "MODE $botnick +i-h" } # если при использовании команды .jump не будет указан порт, # какой использовать по умолчанию? set default-port 6667 # список серверов. set servers { 195.54.211.181:6667 } # [0/1] пытаться вернуть свой ник? set keep-nick 1 # [0/1] не "отстригать" символ "~" в хостмаске user@hosts? set strict-host 0 # [0/1] не выводить сообщение об обрыве DCC CHAT или SEND? set quiet-reject 1 # [0/1] отвечать на CTCP в нижнем регистре (несовместимо с RFC). # mIRC будет обрабатывать это, другие клиенты НЕТ. set lowercase-ctcp 0 # сколько выдавать CTCP-ответов за один раз? set answer-ctcp 3 # свыше скольки приватных сообщений за сколько секунд от одного хоста # считать флудом? "0" отключает. set flood-msg 60:60 # свыше скольки CTCP-запросов за сколько секунд считать флудом? # "0" отключает. set flood-ctcp 3:60 # [0/1] если все указанные сервера не отвечают, продолжать попытки # на них зайти? set never-give-up 1 # [0/1] списки серверов. # 0: бот будет хранить вызываемые сервера в отдельном списке, # не затрагивая те, что были занесены через конфиг. # 1: бот будет заменять главный список серверов теми, что вызываются # в ходе работы. set strict-servernames 0 # пауза (в секундах) сколько ждать между пересоединениями (0 = не ждать). # полезно чтобы не случилось "throttling" на серверах undernet'a. set server-cycle-wait 20 # время ожидания ответа (в секундах) от сервера, перед началом попыток # зайти через другой сервер. set server-timeout 60 # если количество серверов в сети становится меньше указанного значения, # попытаться зайти через следующий сервер. "0" отключает. # нужно для ухода с отсплитившихся серверов. # многие сети используют TS или ND сейчас и поэтому эта опция не особенно # нужна. set servlimit 0 # [0/1] проверять сервера на "жизнеспособность". при установке 1 - бот в # случае отсутствия ответа от сервера в течение продолжительного периода # времени, "прыгнет" на другой, считая этот умершим. set check-stoned 1 # [0/1] включить вывод debug-информации приходящей ОТ сервера? # для просмотра установите консольный флаг "r". # внимание! это большая "дыра", так как позволяет видеть пароли присылаемые # боту от сервера. доступно только для пользователей с +n. set use-console-r 0 # [0/1] включить вывод debug-информации посылаемой НА сервер? # для просмотра используйте флаг консоли и логов "v". # флаг "t" позволяет просматривать botnet-траффик. # внимание! это большая "дыра", так как позволяет видеть пароли посылаемые # на сервер. доступно только для пользователей с +n. set debug-output 0 # [0/1] закрывать бота, если от сервера поступает сообщение о форсированном # отключении клиента, например по команде quit, kill, kline... set serverror-quit 1 # максимальное количество строк в очереди на сервер. set max-queue-msg 300 # [0/1] отрабатывать триггеры для игнорируемых пользователей? set trigger-on-ignore 1 # [0/1] разрешить дубли в очередях? set double-mode 0 set double-server 0 set double-help 0 # [0/1/2] оптимизировать кики? # 0: не отпимизировать, просто кикать # 1: да. подбирать очередь и выводить туда кик # 2: да. отслеживать ники и не кикать отсутствующие # внимание: значение 2 требует много CPU времени. set optimize-kicks 1 #### SERVER МОДУЛЬ - net-type 5 спец.настройки (прочие сети) #### # [0/1] некоторые сети используют режим +r подразумевающий ограниченное # соединение. чтобы бот не оставался на таких серверах и "прыгал" на # другие - установите 1. # автоматически ставится 0, если установленный тип IRC-сети: 0/2/3/4. # автоматически ставится 1, если установленный тип IRC-сети: 1. # используйте только с типом IRC-сети 5! # set check-mode-r 1 # максимальная длина ников. большинство сетей поддерживают только 9. # максимальное значение поддерживаемое ботом это 32. set nick-len 32 #### CTCP МОДУЛЬ #### # модуль предоставляет поддержку CTCP ответов (рекомендуется). loadmodule ctcp # вы можете настроить следующие переменные: # ctcp-version, ctcp-finger и ctcp-userinfo # [0/1/2] методы обработки CTCP-запросов: # 0: обычно. # 1: бот будет игнорировать все CTCP-запросы, кроме CTCP CHAT и PING от # пользователей с флагом +o и выше. # 2: бот не будет отвечать более чем на "C" запросов в "S" секунд. # данные значения устанавливаются в flood-ctcp C:S (см. server модуль) set ctcp-mode 0 #### IRC МОДУЛЬ #### # модуль предоствляет доступ к стандартным IRC-операциям. loadmodule irc # [0/1] отклонение банов, устанавливаемых кем-либо кроме операторов канала # (например, серверами или пользователями извне канала). актуально # только для серверов, неиспользующих TS/ND (систему защиты от сплитов). set bounce-bans 1 # [0/1] отклонение режимов, устанавливаемых кем-либо кроме операторов канала # (например, серверами или пользователями извне канала). актуально # только для серверов, неиспользующих TS/ND (систему защиты от сплитов). set bounce-modes 0 # максимальное количество банов. при большем количестве, бот просто не будет # пытаться установить еще. ircnet поддерживает до 30 банов, efnet 20, # dalnet 100. set max-bans 100 # максимальное количество режимов +b/+e/+I. ircd 2.10 поддерживает до 30. set max-modes 100 # [0/1] кикать пользователей посылающих в канал лавину контрольных кодов и # ctcp-запросов? (может привести к кик-флуду) set kick-fun 0 # [0/1] банить пользователей посылающих в канал лавину контрольных кодов и # ctcp-запросов? (кик-флуда уже не будет, но может быть большой бан-лист) set ban-fun 0 # [0/1] начинать "обучение" пользователей после команды "hello"? set learn-users 0 # время (в секундах) ожидания возвращения пользователей из сплита. set wait-split 600 # время (в секундах) для перепоказа приветствия. # если пользователь вышел и затем вошел в канал через меньшее количество # времени, то приветствие не будет отображено. set wait-info 180 # максимальный размер (в байтах) строки аргументов посылаемых с командой mode # серверу. обычный лимит сервера составляет 200 байт. set mode-buf-length 200 # некоторые IRCop ищут ботов задавая им вопрос "hello". # обычно бот отвечает на такой запрос, чтобы этого не происходило # раскомментируйте следующие две строки и замените "myword" на любое другое # слово, которое заменит вам "hello" # unbind msg - hello *msg:hello # bind msg - myword *msg:hello # некоторые takeover'ы посылают боту команды /msg ident # закомментировав следующие строки, избавим себя от этого # но тем самым и не дадим нормально работать "хорошим" пользователям unbind msg - ident *msg:ident unbind msg - addhost *msg:addhost # для того чтобы дать нормально работать "хорошим" пользователям с ident # создадим ему замену. раскомментируйте строку и замените "myidentword" # bind msg - myidentword *msg:ident # [0/1] с помощью этого параметра можно ограничить пользователей лишь одной, # глобальной строкой описания, которая будет использоваться в качестве # приветсвия при заходе на любой канал. рекоммендуется не изменять, тем самым # дав пользователям возможность указывать приветствия (или их отсутствие) # для каждого канала в отдельности. set no-chanrec-info 0 #### IRC МОДУЛЬ - net-type 1 спец.настройки (IRCnet) #### # не настраивайте этот раздел, если ваш бот не в сети типа IRCnet! # [0/1] отклонение исключений, устанавливаемых кем-либо кроме операторов # канала (например, серверами или пользователями извне канала). актуально # только для серверов, неиспользующих TS/ND (систему защиты от сплитов). set bounce-exempts 1 # [0/1] отклонение приглашений, устанавливаемых кем-либо кроме операторов # канала (например, серверами или пользователями извне канала). актуально # только для серверов, неиспользующих TS/ND (систему защиты от сплитов). set bounce-invites 0 # максимальное количество исключений на канале. # Только ircd версии 2.10 поддерживает +e режимы. set max-exempts 100 # максимальное количество приглашений на канале. # Только ircd версии 2.10 поддерживает +I режимы. set max-invites 100 # по-умолчанию использование +e и +I режимой разрешено для IRCnet и EFnet, # и запрещено для всех остальных. # # [0/1] разрешить использовать исключения? set use-exempts 1 # [0/1] разрешить использовать приглашения? set use-invites 0 # [0/1] управление смешиванием +I/+e и остальных параматров команды MODE. # на момент появления параметров +I/+e, их смешивание с другими не допускалось # с целью обеспечения обратной совместимости со старыми версиями серверов. # однако большинтсво серверов, поддерживающих исключения # для инвайт-/бан-листов, за исключением канонического ircd2.x, допускают # смешивание для более оптимального использования ресурсов. # Проверьте возможности используемого сервера, перед изменением этого параметра. set prevent-mixing 1 #### IRC МОДУЛЬ - net-type 5 спец.настройки (прочие сети) #### # кик-метод задает как кикать (при enforce-bans): # 0 = кикать все ники одной командой # X = кикать X пользователей за один раз # # автоматические установки для net-type: # net-type 0, 2, 3 и 4 устанавливается в 1 # net-type 1 устанавливается в 4 # # при использовании net-type 5, вы можете настраивать как хотите set kick-method 1 # некоторые типы irc-серверов позволяют передавать им команды изменений # канальных режимов (modes) одной строкой сразу несколько переключений. # гарантия дана на 3 режима за один раз, но многие поддерживают и больше. # автоматические установки для net-type: # 4 для net-type 0 или 4 # 3 для net-type 1 # 6 для net-type 2 или 3 # используйте настройку только при работе в net-type 5 set modes-per-line 6 # [0/1] не все irc-сервера позволяют передавать режимы +l и +k одной строкой. # вы можете указать, разрешить их передачу вместе с другими или слать отдельно. # автоматические установки для net-type: # 1 для net-type 1/2/3 # 0 для net-type 0/4 # используйте настройку только при работе в net-type 5 set include-lk 1 # [0/1] использовать специальные /who запросы поддерживаемые ircu2.10.01 # автоматически выбирается 0 для net-type 0/1/3/4, 1 для net-type 2. # используйте это только при работе в net-type 5 #set use-354 0 # [0/1] соответствовать rfc-1459? # сервера на исходном коде DALnet, нарушают стандарт IRC (RFC1459), различая # фигурные и квадратные скобки, которые в финском языке используются как буквы. # сервера, не основанные на DALnet, считают их одним символом, # что соответствует стандарту. set rfc-compliant 0 #### TRANSFER МОДУЛЬ #### # модуль поддержки dcc send/get, а также обмена общим файлом пользователей. #loadmodule transfer #### настройки: # максимальное количество одновременных скачиваний для одного пользователя. set max-dloads 3 # размер блока для передачи через dcc (ircII использует 512 байт, но на # сегодня нормой считается 1024 байт). # установите "0" для использования turbo-dcc (рекомендуется) set dcc-block 0 # [0/1] копировать файл в /tmp перед отсылкой? # возможная ситуация, что кто-то скачивает файл с бота, а в это время админ # удаляет или переименовывает его и передача прерывается. set copy-to-tmp 1 # время ожидания (в секундах) продолжения передачи файла, если по какой-либо # причине он перестал передаваться. set xfer-timeout 30 #### SHARE МОДУЛЬ #### # модуль предоставляет поддержку общего файла пользователей путем обмена им # через ботнет. (также требуются модули: channels и transfer) #loadmodule share #### настройки: # [0/1] если между ботами была прервана связь, восстанавливать ли после # их воссоединения в общий файл пользователей все изменения, которые были # сделаны на обоих ботах во время отсутствия связи? #set allow-resync 0 # "время жизни" данных с другого бота перед их очередным обновлением. #set resync-time 900 # [0/1] при обмене файлом пользователей не принимать изменения в глобальных # флагах? бот по прежнему будет слать изменения сделанные на нем, но не будет # принимать их от других ботов. #set private-global 0 # во время обмена файлом пользователей, если опция private-global не # установлена, то какие глобальные флаги игнорировать при их изменениях? #set private-globals "mnot" # [0/1] при обмене файлом пользователей не принимать вообще никаких изменений # с других ботов? данный режим будет игнорировать все +host/+user/chpass и # прочие изменения сделанные на хабе. #set private-user 0 # [0/1] разрешить перезаписывать локальные данные и флаги ботов новыми, # пришедшими от хаба. будет работать только, если хабы на базе eggdrop # версий 1.5.1 и выше. #set override-bots 0 #### COMPRESS МОДУЛЬ #### # модуль предоставляет функцию сжатия данных. # полезен для ботов, которые обмениваются общими файлом пользователей. #loadmodule compress # [0/1] сжимать файл пользователей перед обменом? set share-compressed 1 # [0-9] уровень сжатия (0 мин. - 9 макс.) set compress-level 9 #### FILESYSTEM МОДУЛЬ #### # модуль позволяет открыть файловое пространство для пользователей. #loadmodule filesys # корневая директория файлового пространства (установите "", если не хотите # открывать файловое пространство). set files-path "filesys/" # если ваше файловое пространство подразумевает возможность закачки на него # файлов, то укажите директорию куда складывать "входящие" файлы. set incoming-path "filesys/incoming/" # [0/1] разрешить закачивать файлы в текущую директорию, где в данный момент # находится пользователь? set upload-to-pwd 0 # бот создает файл ".filedb" в каждой директории файлового пространства # для хранения в нем системной информации. вы можете указать один путь, где # хранить эти файлы вместо того, чтобы они были в каждой директории. # установка "" включает храниение в каждой директории своего файла. set filedb-path "" # максимальное количество пользователей, которые могут пользоваться # файловым пространством в один момент. # установка числа "0" будет означать без лимита. set max-file-users 20 # максимальный размер файла, который бот будет принимать. # размер в килобайтах. по умолчанию это 1024K, то есть 1M. # установка числа "0" будет означать без лимита. set max-filesize 1024 #### NOTES МОДУЛЬ #### # модуль позволяет оставлять сообщения для пользователей. # поддержка прямых сообщений user->user встроена и не требует модуля. loadmodule notes # файл, где будут храниться сообщения. set notefile "LamestBot.notes" # максимальное количество сообщений одновременно хранящихся для одного # пользователя (для предотвращения флуда). set max-notes 50 # время хранения сообщения в базе (в днях). set note-life 60 # [0/1] позволять пользователям перенаправлять сообщения на других ботов? set allow-fwd 0 # [0/1] уведомлять каждый час пользователей, что для них есть сообщения? set notify-users 1 # [0/1] уведомлять пользователей во время входа в канал о том, что для них # есть сообщения? set notify-onjoin 1 # закомментируйте эту строку, иначе бот не запустится. #die "You didn't edit your config file completely like you were told, did you?" #### CONSOLE МОДУЛЬ #### # модуль дает возможность сохранять настройки вашей консоли на боте, # когда вы уходите с него (автоматически или через .store) loadmodule console #### настройки: # [0/1] сохранять настройки консоли автоматически? (иначе используйте .store) set console-autosave 1 # [0-99999] если пользователь не имеет сохраненных настроек, к какому каналу # их подключить? set force-channel 0 # [0/1] отображать персональную строку приветствия при входе и в ботнет? set info-party 0 #### WOOBIE МОДУЛЬ #### # модуль создан только для демонстративных целей. # использовать его не имеет смысла. #loadmodule woobie #### SEEN МОДУЛЬ #### # модуль предоставляет доступ к команде seen через msg, dcc и pub. # раскомментируйте для использования. #loadmodule seen #### BLOWFISH МОДУЛЬ #### #### ЕСЛИ ВЫ НЕ ПРОЧИТАЕТЕ ЭТО, ВЫ МОЖЕТЕ ИСПОРТИТЬ ВАШ USERFILE # выберите метод шифрования. на данный момент доступен только: blowfish # раскомментируйте строку для проверки модуля иначе бот даже не запустится. # это сделано для того чтобы вы все-таки прошлись по конфигурационному файлу. loadmodule blowfish #### ASSOC МОДУЛЬ #### # модуль позволяет давать имена внутренним каналам на патилайн. # раскомментируйте для использования. #loadmodule assoc #### WIRE МОДУЛЬ #### # модуль позволяет использовать шифрованный канал .wire через dcc. # совместим с wire.tcl # раскомментируйте для использования. #loadmodule wire #### UPTIME MODULE #### # модуль сбора статистики самых "долгоиграющих" ботов. # списки на сайте http://uptime.eggheads.org/ # обычно бот там появляется после 9 часов loadmodule uptime #### СКРИПТЫ #### # это обычные и необходимые для работы скрипты. source scripts/alltools.tcl source scripts/action.fix.tcl # данный скрипт нужен для совместимости со старыми скриптами. source scripts/compat.tcl # этот скрипт позволяет приписывать к пользователям в userfile # дополнительную информацию, например: url, email, birthday и т.д. source scripts/userinfo.tcl loadhelp userinfo.help # Чтобы бот не вылетал при запуске/перезапуске, в случае если есть ошибки # в скриптах, необходимо поместить их запуск между следущими фигурными скобками # Пример (для использования необходимо раскомментировать): #utimer 1 { #source scripts/ваш_скрипт.tcl #}