Конфигурационный файл eggdrop.conf

Конфигурационный файл с описанием можно скачать по ссылке: eggdrop.conf

Содержание

  1. Введение
  2. Описание файла eggdrop.conf
    1. Основное
    2. лог-файлы
    3. console
    4. файлы и директории
    5. ботнет
    6. дополнительное
    7. модули
    8. DNS модуль
    9. CHANNELS модуль
    10. SERVER модуль
    11. CTCP модуль
    12. IRC модуль
    13. TRANSFER модуль
    14. SHARE модуль
    15. COMPRESS модуль
    16. FILESYSTEM модуль
    17. NOTES модуль
    18. CONSOLE модуль
    19. WOOBIE модуль
    20. SEEN модуль
    21. BLOWFISH модуль
    22. ASSOC модуль
    23. WIRE модуль
    24. UPTIME модуль
    25. скрипты

 

#! /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
#}
Рейтинг:   / 3
ПлохоОтлично