.::главная::..::[eggdrop]::..::команды бота::..::irc::..::статистика::..::гостевая::..::новости::..::ссылки::.
goggle delicious facebook lj mailru twitter vk yaru
Канал #UOMZ УОМЗ Информация bz20

УСТАНОВКА


Eggdrop
  • Скачиваем eggdrop.
  • Распаковываем архив tar -zxvf eggdrop1.6.20.tar.gz (если это не поможет, попробуйте Gunzip eggdrop1.6.20.tar.gz , затем tar -xvf eggdrop1.6.20.tar).
  • Переходим в каталог с распакованным eggdrop сd eggdrop1.6.20.
  • Пишем ./configure.
  • После завершения конфигурирования подключаем модули. Для автоматического подключения модулей пишем make config, Для подключения модулей вручную make iconfig.
  • make динамической компиляции или make static для динамической.
  • Пишем make install DEST=~/[путь к боту].

Windrop
  • Скачиваем windrop
  • Распаковываем самораспаковывающийся архив в нужную директорию

НАСТРОЙКА

Для запуска и правильного функционирования бота необходимо отредактировать конфигурационый файл eggdrop.conf. Внимательно изучите этот файл! Удалите строки: die "You didn’t edit your config file like you were told, did you?"
Перевод eggdrop.conf

#Кодировка для правильного отображения русских символов
encoding system iso8859-1


#### ОСНОВНОЕ ####



# имя, которым бот идентифицирует себя как пользователя,
# при подключении к серверу. не работает, если на машине есть
# ident-сервер.
set username "Botnick"
# имя и email владельца бота.
# выводится в .status и /msg <botnick> help
set admin "Owner"
# в какой IRC-сети сидит бот. данная строка нужна для того, чтобы
# в ботнет было видно откуда он.
# наилучший формат: "Undernet", "EFNet" и т.д.
set network "IRCnet"
# в какой часовом поясе (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 "0"
# если вы хотите использовать значения timezone и offset не только в
# скриптах, но и глобально в системе, то раскомментируйте эту строку.
#set env(TZ) "\$timezone \$offset"
# если ваша машина имеет более одного IP, вы можете установить на каком
# именно IP будет работать бот. установить можно как IP, так и хост.
# но обычно хост требуется прописывать только в том случае, если бот не
# может его определить сам во время запуска.
#set my-hostname "virtual.host.com"
#set my-ip "127.0.0.1"
# если вы хотите изменить язык сообщений, что выдает бот, то установите
# предпочитаемый язык.
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 5
# максимальный размер лог-файлов. "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"
# в 'Botnick.log' будут храниться входы, выходы, кики, баны и смены режимов
# канала #channel:
logfile jk #channel "logs/Botnick.log"
# [0/1] проставлять время сообщений в лог-файлы?
set log-time 1
# [0/1] хранить все логи? вместо только последних 48 часов.
# если отключить, то будут храниться только текущий день и вчерашний.
# вчерашний будет иметь имя "(logfilename).yesterday".
set keep-all-logs 1
# если 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 0000
# [0/1] включить "тихую" запись? фразы "Writing user file..." и
# "Writing channel file ..." не будут выводиться в консоль.
set quiet-save 1


#### CONSOLE ####



# консольные флаги по умолчанию. затем каждый мастер/владелец смогут
# поставить все необходимые флаги для себя с помощью команды .console
set console "mkcobxs"


#### ФАЙЛЫ И ДИРЕКТОРИИ ####



# файл пользователей: где будут храниться данные о пользователях.
set userfile "Botnick.user"
# файл запуска: в какой файл бот будет отписывать номер своего процесса?
# по умолчанию: pid.<botnet-nick>
set pidfile "pid.Botnick"
# [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 "Botnick"
# какие порты должен "слушать" бот?
# внимание: если вы запускаете на одной машине больше одного бота, то
# их порты НЕ ДОЛЖНЫ пересекаться!
# вы можете разделить доступ сделав отдельный порт для пользователей
# и отдельный для ботов. но на практике это не имеет особого значения.
#listen 3333 bots
#listen 4444 users
# [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 15
# [0/1] в патилайн пускать только тех пользователей у которых есть флаг "p"?
set require-p 0
# [0/1] разрешить пользователям телнет возможность набирать 'NEW' и
# становиться новыми пользователями?
# (если ставите 1, то вы должны сделать protect-telnet 0)
set open-telnets 1
# [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 7
# сколько попыток соединения с телнет за какое количество секунд не
# считать это флудом?
set telnet-flood 5:60
# [0/1] защищать телнет от флуда?
# значение "0" тоже защищает от флуда, кроме от пользователей с флагом "f".
set paranoid-telnet-flood 0
# время ожидания ответа на определение 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 10
# какие пользователи будут ВСЕГДА иметь флаг "+n"?
set owner "v01d450"
# кому бот должен посылать уведомления о начале обучения нового пользователя?
set notify-newusers "\$owner"
# какие флаги ставить новым пользователям по умолчанию?
set default-flags "hp"
# какие пользовательские поля показывать при выводе команды .whois?
# будут выводится поля XTRA. например при пользовании скрипта
# userinfo.tcl можно назначить вывод полей url и birthday.
set whois-fields "url birthday"
# [0/1/2] разрешить с удаленных ботов в вашем ботнет "пинать" пользователей
# вашего патилайн?
# 0: запретить
# 1: только с share-ботов
# 2: разрешить
set remote-boots 0
# [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 0
# закомментируйте строку, если хотите добавить команду "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
######## МОДУЛИ ####


####
# укажите директорию в которой находятся модули (если вы собирали бота
# не в режиме static)
set mod-path "modules/"


#### DNS МОДУЛЬ ####



# модуль предоставляет асинхронную поддержку dns-запросов.
# это предотвратит длительные ожидания ответов на запросы (и соответсвенно
# "провисы" бота), если по каким либо причинам хост не может быть определен.
loadmodule dns


#### CHANNELS МОДУЛЬ ####



# модуль предоставляет поддержку каналов для бота.
# без него бот сможет сидеть на IRC-сервере, но не будет входить в каналы.
loadmodule channels
# файл, для хранения данных о каналах.
set chanfile "Botnick.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 10: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 5:60
set global-aop-delay 61:61
set global-idle-kick 0
set global-chanmode ""
set global-stopnethack-mode 0
set global-revenge-mode 0
set global-ban-time 120
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 #channel {
chanmode ""
idle-kick 0
stopnethack-mode 0
revenge-mode 1
aop-delay 61
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
# Список доступных опций канала:
#
# 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 "Botnick"
# альтернативный ник, если основной ник будет недоступен.
# символ "?" в нике будет автоматически заменяться на цифру.
set altnick "Botnick_"
# что выводить в поле realname?
set realname "RealName"
# скрипт, который выполнится во время подключения к серверу.
# максимум 120 символов.
set init-server { putserv "nickserv identify пароль"
}
# если при использовании команды .jump не будет указан порт,
# какой использовать по умолчанию?
set default-port 6667
# список серверов.
set servers {
87.224.128.4: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 0
# свыше скольки 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 10
# время ожидания ответа (в секундах) от сервера, перед началом попыток
# зайти через другой сервер.
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 0
# [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 1


#### IRC МОДУЛЬ ####



# модуль предоствляет доступ к стандартным IRC-операциям.
loadmodule irc
# [0/1] отклонение банов, устанавливаемых кем-либо кроме операторов канала
# (например, серверами или пользователями извне канала). актуально
# только для серверов, неиспользующих TS/ND (систему защиты от сплитов).
set bounce-bans 1
# [0/1] отклонение режимов, устанавливаемых кем-либо кроме операторов канала
# (например, серверами или пользователями извне канала). актуально
# только для серверов, неиспользующих TS/ND (систему защиты от сплитов).
set bounce-modes 1
# максимальное количество банов. при большем количестве, бот просто не будет
# пытаться установить еще. ircnet поддерживает до 30 банов, efnet 20,
# dalnet 100.
set max-bans 30
# максимальное количество режимов +b/+e/+I. ircd 2.10 поддерживает до 30.
set max-modes 30
# [0/1] кикать пользователей посылающих в канал лавину контрольных кодов и
# ctcp-запросов? (может привести к кик-флуду)
set kick-fun 0
# [0/1] банить пользователей посылающих в канал лавину контрольных кодов и
# ctcp-запросов? (кик-флуда уже не будет, но может быть большой бан-лист)
set ban-fun 0
# [0/1] начинать "обучение" пользователей после команды "hello"?
set learn-users 1
# время (в секундах) ожидания возвращения пользователей из сплита.
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 - hello *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 0
# [0/1] отклонение приглашений, устанавливаемых кем-либо кроме операторов
# канала (например, серверами или пользователями извне канала). актуально
# только для серверов, неиспользующих TS/ND (систему защиты от сплитов).
set bounce-invites 0
# максимальное количество исключений на канале.
# Только ircd версии 2.10 поддерживает +e режимы.
set max-exempts 20
# максимальное количество приглашений на канале.
# Только ircd версии 2.10 поддерживает +I режимы.
set max-invites 20
# по-умолчанию использование +e и +I режимой разрешено для IRCnet и EFnet,
# и запрещено для всех остальных.
#
# [0/1] разрешить использовать исключения?
# set use-exempts 0
# [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 3
# [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 1


#### TRANSFER МОДУЛЬ ####



# модуль поддержки dcc send/get, а также обмена общим файлом пользователей.
loadmodule transfer


#### настройки:
# максимальное количество одновременных скачиваний для одного пользователя.
set max-dloads 3
# размер блока для передачи через dcc (ircII использует 512 байт, но на
# сегодня нормой считается 1024 байт).
# установите "0" для использования turbo-dcc (рекомендуется)
set dcc-block 1024
# [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 "/home/mydir/filesys"
# если ваше файловое пространство подразумевает возможность закачки на него
# файлов, то укажите директорию куда складывать "входящие" файлы.
#set incoming-path "/home/mydir/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 "Botnick.notes"
# максимальное количество сообщений одновременно хранящихся для одного
# пользователя (для предотвращения флуда).
set max-notes 10
# время хранения сообщения в базе (в днях).
set note-life 7
# [0/1] позволять пользователям перенаправлять сообщения на других ботов?
set allow-fwd 1
# [0/1] уведомлять каждый час пользователей, что для них есть сообщения?
set notify-users 0
# [0/1] уведомлять пользователей во время входа в канал о том, что для них
# есть сообщения?
set notify-onjoin 1


#### CONSOLE МОДУЛЬ ####



# модуль дает возможность сохранять настройки вашей консоли на боте,
# когда вы уходите с него (автоматически или через .store)
loadmodule console


#### настройки:
# [0/1] сохранять настройки консоли автоматически? (иначе используйте .store)
set console-autosave 1
# [0-99999] если пользователь не имеет сохраненных настроек, к какому каналу
# их подключить?
set force-channel 0
# [0/1] отображать персональную строку приветствия при входе и в ботнет?
set info-party 1


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


##### SCRIPTS ####



# Здесь вы можете добвлять скрипты для расширения функционала бота вида
#source scripts/script.tcl, либо указать файл со списком скриптов, например source eggdrop.scripts
#Скрипты необходимые для работы бота
source scripts/alltools.tcl
source scripts/action.fix.tcl

Tcl-команды, добавленные в Eggdrop

Tcl-команды Eggdrop


В этом документе приведен исчерпывающий список всех Tcl-команд, добавленных в Eggdrop. Все встроенные, нормальные команды Tcl конечно же сохранены, но вы можете их использовать также и для скриптов. Список разбит на категории.

Список команд подходит в аккурат для Eggdrop v1.6.18. Скрипты, написанные для версий v1.3/1.4, возможно, будут работать после небольших изменений. Скрипты, написанные для v0.9, v1.0, v1.1 или v1.2, возможно, не будут работать без существенных изменений в коде. Команды, которые были изменены в этой версии Eggdrop (или просто новые команды) помечены слева вертикальной палочкой (|).

  1. [#output Функции для отправки серверу или в логи команд/сообщений]
  2. [#urmc Функции для работы с базой пользователей]
  3. [#chancmds Функции для управления каналами]
  4. [#dcccmds Функции для работы с DCC]
  5. [#notes Функции для работы с модулем NOTES]
  6. [#assoc Функции для работы с модулем ASSOC]
  7. [#compress Функции для работы с модулем COMPRESS]
  8. [#filesys Функции для работы с модулем FILESYS]
  9. [#misc Прочие функции]
  10. [#globvars Глобальные переменные]
  11. [#bind Bind]
    1. [#binda Типы привязок]
    2. [#bindb Возвращаемые значения]
  12. [#control Процедуры управления]
  13. [#tcp TCP-соединения]
  14. [#matchchars Символы, используемые в масках]

1. Функции для отправки серверу или в логи команд/сообщений

putserv <text> [options]
Описание: послать текст серверу, на подобие '.dump' (предназначается для прямых серверных команд); сообщение откладывается в очередь, так что вы не должны зафлудить сервер.Опции:

-next: поместить сообщение в начало очереди.
-normal: никакого эффекта

Возвраты: никакихМодуль: server
puthelp <text> [options]
Описание: послать текст серверу, подобно функции 'putserv', но используя другую очередь, предполагаемая для отправки сообщений на канал или человеку.Опции:

-next: поместить сообщение в начало очереди.
-normal: никакого эффекта

Возвраты: никакихМодуль: server
putquick <text> [options]
Описание: послать текст серверу, подобно функции 'putserv', но используя другую (и быструю) очередь.Опции:

-next: поместить сообщение в начало очереди.
-normal: никакого эффекта

Возвраты: никакихМодуль: server
putkick <channel> <nick,nick,...> [reason]
Описание: послать кики серверу и попытаться поместить столько ников в одну команду кика, сколько это возможно.Возвраты: никакихМодуль: irc
putlog <text>
Описание: послать текст в логфайл бота, помеченный как 'misc' (o)Возвраты: никакихМодуль: core
putcmdlog <text>
Описание: послать текст в логфайл бота, помеченный как 'command' (c)Возвраты: никакихМодуль: core
putxferlog <text>
Описание: послать текст в логфайл бота, помеченный как 'file-area' (x)Возвраты: никакихМодуль: core
putloglev <level(s)> <channel> <text>
Описание: послать в логфайл бота текст, вмещающий в себя все подробности указанных флагов. Используйте "*" для того, чтобы вести лог со всеми флагами.Возвраты: никакихМодуль: core
dumpfile <nick> <filename>
Описание: послать содержимое файла их директории help/text пользователю на IRC, используя /msg (одна строка - одно сообщение). Пользователь не имеет флагов, поэтому привязки к флагам внутри файла работать не будут.Возвраты: никакихМодуль: core
queuesize [queue]
Возвраты: число сообщений всех очередей. Если указана очередь, то только размер очереди. Очереди бывают: mode, server, help.Модуль: server
clearqueue <queue>
Описание: удаление всех сообщений из очереди. Возможные аргументы: mode, server, help или all.Возвраты: число удаленных строк из указанной очереди.Модуль: server

2. Функции для работы с базой пользователей

countusers
Возвраты: число пользователей в базе данных бота.Модуль: core
validuser <handle>
Возвраты: 1 если пользователь, чье имя присутствует, иначе - 0.Модуль: core
finduser <nick!user@host>
Описание: поиск пользовательской записи, которая полностью совпадает с заданной маской nick!user@hostВозвраты: найденный псевдоним, в противном случае - "*".Модуль: core
userlist [flags]
Возвраты: список пользователей бота. Вы можете здесь использовать систему совпадения флагов ([global]{&/|}[chan]{&/|}[bot]). '&' обозначает "и", '|' - "или". (имеется ввиду, что можно запросить список пользователей, имеющих определенный флаг. Про пользовательские флаги см. [users.html Пользователи и флаги] -- прим. mef)Модуль: core
passwdok <handle> <pass>
Описание: проверка пользовательского пароля. Проверка против пароля "" (пустая строка) или "-" исключает возможность отсутствия пароля у пользователя.Возвраты: 1 если пароль пользователя совпадает; иначе - 0.Модуль: core
getuser <handle> <entry-type> [extra info]
Описание: интерфейс к новой общей поддержке userfile. Допустимые вводимые значения:

{|

BOTFL | возвращает текущие флаги, установленные для пользователя ботом. BOTADDR | возвращает список, содержащий адрес бота, порт телнета и порт бота. HOSTS | возвращает список хостов для пользователя. LASTON | возвращает список, содержащий время (в формате unix) последней встречи с пользователем и место встречи (под "встречей" следует понимать тот момент, когда пользователь зашел на канал с ботом или на патилайн бота; т.е попал в логи бота -- прим. mef). 'LASTON #channel' вернет время последнего посещения канала или 0, если информация об этом отсутствует. INFO | возвращает глобальное пользовательское приветствие. XTRA | возвращает дополнительную пользовательскую информацию. COMMENT | возвращает комментарий для пользователя, видимый только мастером. EMAIL | возвращает пользовательский адрес электронной почты. URL | возвращает пользовательскую ссылку на интернет-сайт. HANDLE | возвращает пользовательский псевдоним так, как он сохранен в userfile. PASS | возвращает зашифрованный пользовательский пароль. |}

Возвраты: информация, специфичная для каждого из допустимых вводимых значений.Модуль: core

setuser <handle> <entry-type> [extra info]
Описание: эта функция аналогична функции getuser. Она позволяет вам устанавливать различные значения, которые приведены ниже. И которые также совпадают с вышеописанной функцией.

{|

HOSTS | если использовать без третьего аргумента, все хосты для пользователя будут удалены. Иначе добавлены маска хоста *1* :P. LASTON | Настройка имеет три вариации. "setuser <handle> LASTON <unixtime> <place>" устаналивает глобальное время LASTON, "setuser <handle> LASTON, "setuser <handle> LASTON <unixtime>" устанавливает глобальное время LASTON (оставляя поле <place> пустым) и "setuser<handle> LASTON <unixtime> <channel>" устанавливает пользовательское время LASTON для канала (если это действительный канал). PASS | установка пользовательского пароля (третий аргумент не требуется).

|}Возвраты: никакихМодуль: core

chhandle <old-handle> <new-handle>
Описание: изменить псевдоним пользователя.Возвраты: 1 в случае удачного завершения; 0 - если новый псевдоним является негодным или уже используется, или в случае отсутствия пользователя.Модуль: core
chattr <handle> [changes [channel]]
Описание: изменение аттрибутов для пользовательской записи. Формат вносимых изменений прежний - '+f', '-o', '+dk', '-o+d' и т.д. Если изменения имеют формат '|<changes> <channel>, то флаги для указанного канала также изменятся. Вы можете также пользоваться форматом '+o|-o #channel'.Возвраты: новые флаги для пользователя (если вы не внесли изменений, то возвращаются текущие флаги). Если указан канал, возвратятся флаги этого канала в формате '<globalflags|channelflags>'. Символ "*" возвратится при отсутствии указанного пользователя.Модуль: core
botattr <handle> [changes [channel]]
Описание: функция аналогична вышеописанной, за исключением того, что этой функцией удобней изменять флаги бота, чем аттрибуты настоящих пользователей.Возвраты: новые флаги для бота (если вы не внесли изменений, то возвращаются текущие флаги). Если указан канал, возвратятся флаги этого канала в формате '<globalflags|channelflags>'. Символ "*" возвратится при отсутствии указанного бота.Модуль: core
matchattr <handle> <flags> [channel]
Возвраты: 1, если указанный пользователь имеет указанные флаги; иначе - 0.Модуль: core
adduser <handle> [hostmask]
Описание: создание новой записи пользователя с псевдонимом и указанной маской хоста (без пароля и флагами, указанными по умолчанию).Возвраты: 1 в случае удачного выполнения; 0, если псевдоним уже занят.Модуль: core
addbot <handle> <address>
Описание: добавление нового бота в userlist с псевдонимом и указанным адресом бота (без пароля и флагов).Возвраты: 1 в случае удачного выполнения; 0, если псевдоним уже занят.Модуль: core
deluser <handle>
Описание: позволяет удалить пользовательскую запись по псевдониму.Возвраты: 1 в случае удачного выполнения; 0, если пользователь отсутствует.Модуль: core
delhost <handle> <hostmask>
Описание: удаляет маску хоста из пользовательского списка хостов.Возвраты: 1 при выполнении; 0, если маска хоста (или пользователь) отсутствуют.Модуль: core
addchanrec <handle> <channel>
Описание: добавляет запись о канале пользователю.Возвраты: 1 при выполнении; 0, если пользователь или канал отсутствует.Модуль: channels
delchanrec <handle> <channel>
Описание: удаляет запись о канале у пользователя, включая все флаги, ассоциируемые с этим каналом.Возвраты: 1 при выполнении; 0, если пользователь или канал отсутствуют.Модуль: channels
haschanrec <handle> <channel>
Возвраты: 1 если данный псевдоним имеет запись указанного канала; иначе - 0.Модуль: channels
getchaninfo <handle> <channel>
Возвраты: приветствие для указанного канала (аналогично функции 'getinfo')Модуль: channels
setchaninfo <handle> <channel> <info>
Описание: установка приветствия на указанный канал для пользователя. Если приветствие "none", оно удаляется.Возвраты: никакихМодуль: channels
newchanban <channel> <ban> <creator> <comment> [lifetime] [options]
Описание:добавляет бан в список банов канала; 'creator' - тот, кто установил бан. В 'lifetime' устанавливается время бана (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное в конфигурационном файле бота. Установка 'lifetime' на 0 дает постоянный бан.Опции:

sticky: держать баны на канале всегда активными, даже с 'dynamicbans on'.
none: никакого эффекта

Возвраты: nothingМодуль: channels
newban <ban> <creator> <comment> [lifetime] [options]
Описание: добавляет бан в список глобальных банов (бан присутствует на всех каналах); 'creator' - тот, кто установил бан. В 'lifetime' устанавливается время бана (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное вконфигурационном файле бота. Установка 'lifetime' на 0 дает постоянный бан.Опции:

sticky: держать баны на канале всегда активными, даже с 'dynamicbans on'.
none: никакого эффекта

Возвраты: никакихМодуль: channels
newchanexempt <channel> <exempt> <creator> <comment> [lifetime] [options]
Описание: добавляет освобождение в список канала; 'creator' - тот, кто установил освобождение. В 'lifetime' устанавливается время освобождения (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное в конфигурационном файле бота. Установка 'lifetime' на 0 дает постоянное освобождение. Освобождение не удаляется до тех пор, пока присутствует бан, на который оно установленно. Для временных банов, время которых уже истекло, освобождение не удаляется до тех пор, пока бан не будет удален.Опции:

sticky: держать освобождение на канале всегда активным, даже с 'dynamicexempts on'.
none: никакого эффекта

Возвраты: никакихМодуль: channels
newexempt <exempt> <creator> <comment> [lifetime] [options]
Описание: добавляет освобождение в глобальный список (который имеет силу на всех каналах); 'creator' - тот, кто установил освобождение. В 'lifetime' устанавливается время освобождения (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное вконфигурационном файле бота. Установка 'lifetime' на 0 дает постоянное освобождение. Освобождение не удаляется до тех пор, пока бан не будет удален.Опции:

sticky: держать освобождение на канале всегда активным, даже с 'dynamicexempts on'.
none: никакого эффекта

Возвраты: никакихМодуль: channels
newchaninvite <channel> <invite> <creator> <comment> [lifetime] [options]
Описание: добавляет приглашение в список канала; 'creator' - тот, кто установил приглашение. В 'lifetime' устанавливается время приглашения (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное в конфигурационном файле бота. Установка 'lifetime' на 0 дает постоянное приглашение. Приглашение не удаляется до тех пор, на канале присутствует режим '-i'.Опции:

sticky: держать приглашение на канале постоянно активным, даже с 'dynamicinvites on'.
none: никакого эффекта

Возвраты: никакихМодуль: channels
newinvite <invite> <creator> <comment> [lifetime] [options]
Описание: добавляет приглашение в глобальный список (который имеет силу на всех каналах); 'creator' - тот, кто установил приглашение. В 'lifetime' устанавливается время освобождения (в минутах). Если 'lifetime' не установлено, в силу входит значение, указанное в конфигурационном файле бота. Установка 'lifetime' на 0 дает постоянное приглашение. Приглашение не удаляется до тех пор, на канале присутствует режим '-i'.Опции:

sticky: держать приглашение на канале всегда активным, даже с 'dynamicinvites on'.
none: никакого эффекта

Возвраты: никакихМодуль: channels
stick <banmask> [channel]
Описание: делает "липучий" бан или, если указан канал, то устанавливает "липучку" только на канал.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
unstick <banmask> [channel]
Описание: снимает с бана "липучесть" или, если указан канал, "липучка" снимается только с канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
stickexempt <exemptmask> [channel]
Описание: делает "липучее" освобождение или, если указан канал, устанавливает "липучку" только на канал.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
unstickexempt <exemptmask> [channel]
Описание: снимает с освобождения "липучесть" или, если указан канал, "липучка" снимается только с канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
stickinvite <invitemask> [channel]
Описание: делает "липучее" приглашение или, если указан канал, устанавливает "липучку" только на канал.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
unstickinvite <invitemask> [channel]
Описание: снимает с приглашения "липучесть" или, если указан канал, "липучка" снимается только с канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killchanban <channel> <ban>
Описание: удаляет бан из списка банов канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killban <ban>
Описание: удаляет бан из глобального списка банов.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killchanexempt <channel> <exempt>
Описание: удаляет освобождение из списка свобождений канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killexempt <exempt>
Описание: удаляет освобождение из глобального списка.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killchaninvite <channel> <invite>
Описание: удаляет приглашение из списка приглашений канала.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
killinvite <invite>
Описание: удаляет приглашение из глобального списка приглашений.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: channels
ischanjuped <channel>
Возвраты: 1 если канал заблокирован и бот не может на него войти; иначе - 0.Модуль: channels
isban <ban> [channel]
Возвраты: 1 если указанный бан есть в глобальном списке банов; иначе - 0. Если указан канал, то список банов этого канала также проверяется.Модуль: channels
ispermban <ban> [channel]
Возвраты: 1 если указанный бан есть в глобальном списке банов *И* помечен как постоянный; иначе - 0. Если указан канал, то список банов этого канала также проверяется.Модуль: channels
isexempt <exempt> [channel]
Возвраты: 1 если указанное освобождение есть в глобальном списке освобождений; иначе - 0. Если указан канал, то список освобождений этого канала также проверяется.Модуль: channels
ispermexempt <exempt> [channel]
Возвраты: 1 если указанное освобождение есть в глобальном списке освобождений *И* помечено как постоянное; иначе - 0. Если указан канал, то список освобождений этого канала также проверяется.Модуль: channels
isinvite <invite> [channel]
Возвраты: 1 если указанное приглашение есть в глобальном списке приглашений; иначе - 0. Если указан канал, то список приглашений этого канала также проверяется.Модуль: channels
isperminvite <invite> [channel]
Возвраты: 1 если указанное приглагшение есть в глобальном списке приглашений *И* помечено как постоянное; иначе - 0. Если указан канал, то список приглашений этого канала также проверяется.Модуль: channels
isbansticky <ban> [channel]
Возвраты: 1 если указанный бан помечен как "липучий" в глобальном списке банов; иначе - 0. Если указан канал, то список банов этого канала также поверяется.Модуль: channels
isexemptsticky <exempt> [channel]
Возвраты: 1 если указанное освобождение помечено как "липучее" в глобальном списке освобождений; иначе - 0. Если указан канал, то список освобождений этого канала также поверяется.Модуль: channels
isinvitesticky <invite> [channel]
Возвраты: 1 если указанное приглашение помечено как "липучее" в глобальном списке приглашений; иначе - 0. Если указан канал, то список приглашений этого канала также поверяется.Модуль: channels
matchban <nick!user@host> [channel]
Возвраты: 1 если указанный nick!user@host совпадает с баном в глобальном списке банов; иначе - 0. Если указан канал, то список банов этого канала также поверяется.Модуль: channels
matchexempt <nick!user@host> [channel]
Возвраты: 1 если указанный nick!user@host совпадает с освобождением в глобальном списке освобождений; иначе - 0. Если указан канал, то список освобождений этого канала также проверяется.Модуль: channels
matchinvite <nick!user@host> [channel]
Возвраты: 1 если указанный nick!user@host совпадает с приглашением в глобальном списке приглашений; иначе - 0. Если указан канал, то список приглашений этого канала также проверяется.Модуль: channels
banlist [channel]
Возвраты: список глобальных банов, или, если указан канал, - список банов канала. Каждое занесение в список содержит: маску хоста, комментарий, время окончания бана, время добавления, время последней активности и создатель. Время окончания бана устанавливается в формате unix.Модуль: channels
exemptlist [channel]
Возвраты: список глобальных освобождений, или, если указан канал, - список освобождений этого канала. Каждое занесение в список содержит: маску хоста, комментарий, время окончания освобождения, время добавления, время последней активности и создатель. Время окончания освобождения устанавливается в формате unix.Модуль: channels
invitelist [channel]
Возвраты: список глобальных приглашений, или, если указан канал, - список приглашений этого канала. Каждая запись в список содержит: маску хоста, комментарий, время окончания приглашения, время добавления, время последней активности и создатель. Время окончания приглашения устанавливается в формате unix.Модуль: channels
newignore <hostmask> <creator> <comment> [lifetime]
Описание: добавление записей в список игнорирования. 'lifetime' - время игнорирования, по истечению которого запись удаляется. Если 'lifetime' не указана, в силу входит значение, указанное в конфигурационном файле бота. Установка 'lifetime' на 0 указывает на постоянность игнорирования.Возвраты: отсутствуютМодуль: core
killignore <hostmask>
Описание: удаление записи из списка игнорирования.Возвраты: 1 в случае удачного завершения; иначе - 0Модуль: core
ignorelist
Возвраты: список игнорирования. Каждая запись содержит: маску хоста, комментарий, время окончания игнорирования, время добавления, и создатель. Время окончания игнорирования устанавливается в формате unix.Модуль: core
isignore <hostmask>
Возвраты: 1 если игнорируемый находится в списке; иначе - 0.Модуль: core
save
Описание: записывает userfile и channelfile на диск.Возвраты: отсутствуютМодуль: core
reload
Описание: загружает userfile с диска, заменяет более старый в памяти.Возвраты: отсутствуютМодуль: core
backup
Описание: создает простую резервную копию userfile на диск. Если загружен модуль channels, также делает и резервную копию channelfile.Возвраты: отсутствуютМодуль: core
getting-users
Возвраты: 1 если бот в данный момент скачивает userfile с другого бота (и потому, записи пользователей резко меняются); если нет - 0.Модуль: core

3. Функции для управления каналами

channel add <name> [option-list]
Описание: добавляет канал боту для слежения. Полный список возможных опций приведены в файле doc/settings.mod.channels. Обратите внимание, что опции канала должны быть заключены в фигурные скобки.Возвраты: отсутствуютМодуль: channels
channel set <name> <options...>
Описание: устанавливает опции для указанного канала. Полный список возможных опций приведены в файле doc/settings.mod.channels.Возвраты: отсутствуютМодуль: channels
channel info <name>
Возвраты: список параметров указанного канала.Модуль: channels
channel get <name> <setting>
Возвраты: значение устанавливаемой вами опции. Для флагов значение 0 равно отключению (-) и не нулевое - включению (+).Модуль: channels
channel remove <name>
Описание: удаление записи канала из памяти бота и отключение слежения за этим каналом.Возвраты: отсутствуютМодуль: channels
savechannels
Описание: сохранение настроек канала в channelfile, если он определен.Возвраты: отсутствуютМодуль: channels
loadchannels
Описание: повторная загрузка настроек канала из channelfile, если он определен.Возвраты: отсутствуютМодуль: channels
channels
Возвраты: список каналов, записи которых имеются у бота.Модуль: channels
channame2dname <channel-name>
chandname2name <channel-dname>
Описание: эти две функции очень важны для корректной поддержки "!channels". Бот различает описания имени каналов (chan dnames) и реальные имена каналов (chan names). chan dnames определяет нормальное название канала, такое как "!channel". chan name - какой идентификатор использует IRC-сервер для этого канала. Идентификатор состоит из chan dname и префикса с ID; что-то типа "!ABCDEchannel".Для функция бота, таких как isop, isvoice и т.п. вам понадобится знать chan dname. Если вы связываетесь с сервером, обычно вы получаете chan name. Вот это-то как раз и нужно для функции channame2dname.Если у вас имеется только chan dname и вы хотите отправить напрямую исходные серверные команды, используйте функцию chandname2name.КСТАТИ: Для не-!каналов chan dname и chan name - одно и то же.Модуль: irc
isbotnick <nick>
Возвраты: 1 если никнейм совпадает с именем бота; иначе - 0.Модуль: server
botisop [channel]
Возвраты: 1 если бот является оператором на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
botishalfop [channel]
Возвраты: 1 если бот является полуоператором на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
botisvoice [channel]
Возвраты: 1 если бот является войсом на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
botonchan [channel]
Возвраты: 1 если бот находится на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
isop <nickname> [channel]
Возвраты: 1 если указанный пользователь находится на канале (или на каком-либо канале, если не указано) и имеет статус оператора; иначе - 0.Модуль: irc
ishalfop <nickname> [channel]
Возвраты: 1 если указанный пользователь находится на канале (или на каком-либо канале, если не указано) и имеет статус полуоператора; иначе - 0.Модуль: irc
wasop <nickname> <channel>
Возвраты: 1 если указанный пользователь получил статус оператора/снял статус оператора на канале, имея статус оператора перед изменением режима канала; иначе - 0.Модуль: irc
washalfop <nickname> <channel>
Возвраты: 1 если указанный пользователь получил статус полуоператора/снял статус полуоператора на канале, имея статус полуоператора перед изменением режима канала; иначе - 0.Модуль: irc
isvoice <nickname> [channel]
Возвраты: 1 если указанный пользователь является войсом (+v) на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
onchan <nickname> [channel]
Возвраты: 1 если указанный пользователь находится на указанном канале (или на каком-либо канале, если не указано); иначе - 0.Модуль: irc
nick2hand <nickname> [channel]
Возвраты: прозвище пользователя на канале. Если канала не указан, бот проверяет все свои каналы. Если имя не найдено, возвращается "". Если имя найдено, но не выдается прозвище, возвращается "*".Модуль: irc
hand2nick <handle> [channel]
Возвраты: имя первого пользователя на указанном канале (если указан), прозвище которого совпадает с nick!user@host; если совпадения не найдено, возвращается "". Если канал не указан, проверяются все каналы.Модуль: irc
handonchan <handle> [channel]
Возвраты: 1 если чей-либо nick!user@host на канале (или на всех каналах бота, если не указано) совпадает с указанным прозвищем; иначе - 0.Модуль: irc
ischanban <ban> <channel>
Возвраты: 1 если указанный бан присутствует в списке банов указанного канала (не список банов канала, находящийся в памяти бота), иначе - 0.Модуль: irc
ischanexempt <exempt> <channel>
Возвраты: 1, если указанное освобождение присутствует в списке освобождений указанного канала (не список освобождений канала, находящийся в памяти бота), иначе - 0.Модуль: irc
ischaninvite <invite> <channel>
Возвраты: 1, если указанное приглашение присутствует в списке приглашений указанного канала (не список приглашений канала, находящийся в памяти бота), иначе - 0.Модуль: irc
chanbans <channel>
Возвраты: список текущих банов канала. Каждый элемент списка имеет форму {<бан> <кем_поставлен> <возраст>}. Возраст измеряется в секундах и исчисляется с момента установки и по момент запроса списка.Модуль: irc
chanexempts <channel>
Возвраты: список текущих освобождений канала. Каждый элемент списка имеет форму {<освобождение> <кем_установлено> <возраст>}. Возраст измеряется в секундах и исчисляется с момента установки и по момент запроса списка.Модуль: irc
chaninvites <channel>
Возвраты: список текущих приглашений канала. Каждый элемент списка имеет форму {<приглашение> <кем_сделано> <возраст>}. Возраст измеряется в секундах и исчисляется с момента установки и по момент запроса списка.Модуль: irc
resetbans <channel>
Описание: удаление всех банов канала, кроме хранимых в памяти бота, и освежение остальных банов, которые могут находится на канале, но отсутствуют.Возвраты: отсутствуютМодуль: irc
resetexempts [channel]
Описание: удаление всех освобождений канала, кроме хранимых в памяти бота, и освежение остальных освобождений, которые могут находится на канале, но отсутствуют.Возвраты: отсутствуютМодуль: irc
resetinvites [channel]
Описание: удаление всех приглашений канала, кроме хранимых в памяти бота, и освежение остальных приглашений, которые могут находится на канале, но отсутствуют.Возвраты: отсутствуютМодуль: irc
resetchan <channel>
Описание: повторное считывание настроек канала с сервера.Возвраты: отсутствуютМодуль: irc
getchanhost <nickname> [channel]
Возвраты: user@host указанного имени пользователя (имя пользователя не влючается в возвращаемый хост). Если канал не указан, бот проверяет все свои каналы. Если пользователь с искомым именем отсутствует на канале(ах), то возвращается "".Модуль: irc
getchanjoin <nickname> <channel>
Возвраты: Отметка времени (в формате unix) о посещении указанным пользователем канала.Модуль: irc
onchansplit <nick> [channel]
Возвраты: 1 если пользователь отсплитился с канала (или какого-другого канала, если не указанно); иначе - 0.Модуль: irc
chanlist <channel> [flags[&chanflags]]
Описание: Описание: глобальные флаги; символ '&' побуждает на поиск флагов канала. Примеры:

{|

n | Глобальный владелец &n | Владелец канала o&m | Глобальный оператор, Мастер канала |}

Возвраты: список пользователей, находящихся в данный момент на канале бота, которые имеют указанные флаги. Если флаги не заданы, возвращаются все имена пользователей. Пожалуйста, заметьте, что выполняя функцию 'chanlist' после части или знака 'bind', ушедший пользователь будет все еще числиться, поэтому вы можете проверять wasop, isop и т.п.Модуль: irc

getchanidle <nickname> <channel>
Возвраты: количество минут бездействия указанного пользователя; 0, если указанный пользователь отсутствует на канале.Модуль: irc
getchanmode <channel>
Возвраты: строку типа "+ntik key" для указанного канала.Модуль: irc
jump [server [port [password]]]
Описание: переподсоединение на указанный сервер или (если не указано) на следующий сервер из списка серверов бота.Возвраты: отсутствуютМодуль: server
pushmode <channel> <mode> [arg]
Описание: посылает смену режима канала (напр. pushmode #lame +o goober) через систему очереди бота. Все смены режимов будут посланы единожды (в одной строке могут помещаться любые мыслимые комбинации), после завершения скрипта или когда произойдет вызов функции 'pushmode'.Возвраты: отсутствуютМодуль: irc
flushmode <channel>
Описание: немедленная посылка всех, предварительно отправленных, изменений режимов канала на сервер вместо ожидания завершения скрипта (для указанного канала).Возвраты: отсутствуютМодуль: irc
topic <channel>
Возвраты: строка, содержащая текущую тему указанного канала.Модуль: irc
validchan <channel>
Описание: проверка наличия записи указанного канала в памяти бота. Заметьте, что этого делать не обязательно, если бот уже находится на канале.Возвраты: 1, если канал присутствует; иначе - 0.Модуль: channels
isdynamic <channel>
Возвраты: 1, если канал является динамическим; иначе - 0.Модуль: channels
setudef <flag/int/str> <name>
Описание: инициализация указанного пользователем флага канала или настройки. Вы можете использовать их также как и другие флаги/настройки. ВАЖНО: Не забудьте переинициализировать ваши флаги/настройки после рестарта, иначе они будут потеряны.Возвраты: отсутствуютМодуль: channels
renudef <flag/int/str> <oldname> <newname>
Описание: переименование указанного пользователем флага канала или настройки.Возвраты: отсутствуютМодуль: channels
deludef <flag/int/str> <name>
Описание: удаление указанного пользователем флага канала или настройки.Возвраты: отсутствуютМодуль: channels

4. Функции для работы с DCC

putdcc <idx> <text>
Описание: послать текст на указанный dcc.Возвраты: отсутствуютМодуль: core
dccbroadcast <message>
Описание: отправить сообщение каждому, кто сидит на патилайне, во всем ботнете. В форме "*** " для локальных пользователей и "*** (Bot) " для пользователей на других ботах.Возвраты: отсутствуютМодуль: core
dccputchan <channel> <message>
Описание: отправить ваше сообщение каждому на указанном канале в ботнете по вышеописанным формам. Разрешенные каналы от 0 до 99999.Возвраты: отсутствуютМодуль: core
boot <user@bot> [reason]
Описание: скинуть пользователя с патилайнаВозвраты: отсутствуютМодуль: core
dccsimul <idx> <text>
Описание: симуляция набора текста по dcc указанному пользователю. Заметьте, что в v0.9 было возможно симулировать только команды; сейчас команды могут распознаваться префиксом '.' и симулироваться.Возвраты: отсутствуютМодуль: core
hand2idx <handle>
Возвраты: idx (число больше или эквивалентное нулю) для пользователя, дающееся, если пользователь заходит на патилайн в режим чата (даже если он в данный момент на канале или вышел из чата), файлообмена или в управление скрипта. Вернется "-1" , если не найдено idx. Если пользователь использует несколько соединений, вернется idx первого подключения.Модуль: core
idx2hand <idx>
Возвраты: псевдоним пользователя с указанным idx.Модуль: core
valididx <idx>
Возвраты: 1 если присутствует текущий idx; иначе - 0.Модуль: core
getchan <idx>
Возвраты: текущий канал патилайна для пользователя, находящегося на патилайне; "0" указывает его группу патилайна, "-1" на то, что пользователь вышел из чата, и значение от 1 до 99999 приватного канала.Модуль: core
setchan <idx> <channel>
Описание: установка канала пользовательского патилайна. Патилайн не извещает пользователя, что он в данный момент находится уже на новом канале. Может использоваться имя канала (предоставлено в наличии).Возвраты: отсутствуютМодуль: core
console <idx> [channel] [console-modes]
Описание: изменение режима пользовательской dcc консоли как обсолютный режим (типа "mpj") так и просто добавлением/удалением флагов (типа "+pj" или "-moc", или "+mp-c"). Вид канала пользовательской консоли также может быть изменен (в рамках допустимого канала).Возвраты: список, содержащий вид пользовательского (нового) канала и (новых) режимов консоли или ничего, если этот пользователь в данный момент отсутствует на патилайне.Модуль: core
echo <idx> [status]
Описание: включение/выключение пользовательского эха; статус может иметь положение 1 или 0.Возвраты: новое значение эха для указанного пользователя (или текущее значение, если статус был пропущен).Модуль: core
strip <idx> [+/-strip-flags]
Описание: изменение купирующих флагов пользователя.

{|

b | удаление всех жирных шрифтов c | удаление всех команд управления цветом r | удаление всех команд реверсирования u | удаление всех подчеркивающих шрифтов a | удаление всех ANSI-команд g | удаление всех кодов Ctrl-G (звонка) |}

Возвраты: новые купирующие флаги для указанного пользователя (или текущие флаги, если купирующие флаги были пропущены).Модуль: core

putbot <bot-nick> <message>
Описание: отправка сообщения через ботнет другому боту. Если на другом конце отсутствует скрипт для перехвата сообщения, отправленное сообщение игнорируется.Возвраты: отсутствуютМодуль: core
putallbots <message>
Описание: отправка сообщения через весь ботнет всем ботам. Если на другом конце отсутствует скрипт для перехвата сообщения, отправленное сообщение игнорируется.Возвраты: отсутствуютМодуль: core
killdcc <idx>
Описание: закрытие соединений патилайна или файлобмена.Возвраты: отсутствуютМодуль: core
bots
Возвраты: список ботов, соединенных в данный момент в ботнет.Модуль: core
botlist
Возвраты: список ботов, находящихся в данный момент в ботнете. Каждый пункт списка состоит из четырех элементов: бот, аплинк, версия и статус общего доступа:

{|

бот | ник бота в ботнете аплинк | бот, к которому подсоединен бот версия | текущая версия бота статус | "+" если бот с общим доступом; иначе "-"

|}Модуль: core

islinked <bot>
Возвраты: 1 если бот слинкован; иначе - 0.Модуль: core
dccused
Возвраты: число dcc-соединений, используемых в данный момент.Модуль: core
dcclist [type]
Возвраты: список активных соединений, каждый пункт списка содержит шесть элементов:Доступные 'type': chat, bot, files, file_receiving, file_sending, file_send_pending, script, socket (эти соединения еще не 'control'), telnet и server. Timestamp в формате unix.Модуль: core
whom <chan>
Возвраты: список пользователей на ботнете, которые находятся на указанном канале. "0" если по умолчанию - патилайн. Каждый пункт списка содержит шесть элементов: имя, название бота, имя хоста, флаг доступа ('-', '@', '+', или '*'), время бездействия в минутах и сообщение отсутствия (отсутствует, если пользователь не ушел). Если вы указали "*" вместо канала, вернется список всех пользователей с ботнета с дополнительным аргументом, который указывает на канал.Модуль: core
getdccidle <idx>
Возвраты: количество секунд бездействия пользователя на dcc chat/file system/script.Модуль: core
getdccaway <idx>
Возвраты: сообщение отсутствия для пользователя в dcc-чате (или "" если пользователь не настроил сообщение).Модуль: core
setdccaway <idx> <message>
Описание: установка через патилайн пользовательского сообщения отсутствия и пометка его отсутствия. Если установлено "", пользователь помечается как не уходивший.Возвраты: отсутствуютМодуль: core
connect <host> <port>
Описание: исходящее соединение с созданием dcc-сессии. Команды управления следует использовать немедлено после удачного соединения, чтобы ничего не было утеряно.Возвраты: idx нового соединения.Модуль: core
listen <port> <type> [options] [flag]
Описание: открытие прослушивания порта с поддержкой входящих соединений по телнету; type может быть одним из "bots", "all", "users", "script", или "off":
listen <port> bots [mask]
Описание: поддержка соединений только ботов; опционально маска используется для идентификации имен ботов. Если маска начинается с '@', это интерпретируется как маска разрешенных хостов для входящих соединений.Возвраты: номер порта
listen <port> users [mask]
Описание: поддержка соединений только пользователей (не ботов); опционально маска используется для идентификации разрешенных имен. Если маска начинается с '@', это интерпретируется как маска разрешенных хостов для входящих соединений.Возвраты: номер порта
listen <port> all [mask]
Описание: поддержка соединений от всех; опционально маска используется для идентификации разрешенных имен пользователей, ботов. Если маска начинается с '@', это интерпретируется как аска разрешенных хостов для входящих соединений.Возвраты: номер порта
listen <port> script <proc> [flag]
Описание: поддержка соединений, которые расцениваются как процессы. Процесс вызывается с одним параметром: idx нового соединения. Флаг может быть только 'pub', дает возможность подсоединиться боту ко всем.Возвраты: номер порта
listen <port> off
Описание: закрытие прослушивания портаВозвраты: отсутствуютМодуль: core
dccdumpfile <idx> <filename>
Описание: вывод файла из текстовой директории в dcc-чат пользователя. Совпадение флагов используется везде, здесь также работает.Возвраты: отсутствуютМодуль: core

5. Функции для работы с модулем NOTES

notes <user> [numberlist]
Возвраты: "-1" если нет пользователя, "-2", если файл, содержащий записки поврежден или отсутствует. Если порядковый номер не указан, пользователю возвращается число хранящихся записок. В противном случае - список, содержащий информацию о хранящихся записках. Записки хранятся в файле в следующем формате: { }.Модуль: notes
erasenotes <user> <numberlist>
Описание: удаление определенных или всех хранящихся записок для указанного пользователя. '-' удаляет все записки.Возвраты: "-1" если пользователь отсутствует, "-2" если файл, содержащий записки поврежден или отсутствует. "0" если нет ни одной записки или указан номер удаленной.Модуль: notes
listnotes <user> <numberlist>
Описание: список доступных записок вкупе с порядковым номером (напр. "2-4;8;16-")Возвраты: "-1" если пользователь отсутствует, "-2" если файл, содержащий записки поврежден или отсутствует. "0" если нет ни одной записки, - список доступных записок.Модуль: notes
storenote <from> <to> <msg> <idx>
Описание: сохранение записки для последующего прочтения, извещение idx (для отключения извещения указывайте "-1" в поле idx).Возвраты: "0" в случае удачного завершения; не-0 - в случае неудачи.Модуль: notes

6. Функции для работы с модулем ASSOC

assoc <chan> [name]
Описание: установка имени, ассоциируемое с каналом ботнета, если вы указали один.Возвраты: текущее имя для этого канала, если есть.Модуль: assoc
killassoc <chan>
Описание: удаление имени, ассоциируемого с каналом ботнета, если есть. Для удаления всех ассоциаций, используйте 'killassoc &'.Возвраты: отсутствуют.Модуль: assoc

7. Функции для работы с модулем COMPRESS

compressfile [-level <level>] <src-file> [target-file]
uncompressfile <src-file> [target-file]
Описание: сжатие и расжатие файлов. Опции 'level' указывает на метод сжатия. Доступны методы с 0 (минимальное использования CPU, минимальное сжатие) и до 9 (максимальная загрузка CPU и максимальная компрессия). Если вы не указали файл-архив, в который требуется сжать исходный файл, то исходный файл перезаписывается.Возвраты: отсутствуютМодуль: compress
iscompressed <filename>
Описание: определяет является ли указанный сжатый методом gzip. Возвращает "1" если является, "0", если нет и "2" при возникновении какой-либо ошибки при проверке.Возвраты: отсутствуютМодуль: compress

8. Функции для работы с модулем FILESYS

setpwd <idx> <dir>
Описание: изменение директории системных файлов пользователя, аналогична команде 'cd'. Путь до директории может быть относительным или абсолютным.Возвраты: отсутствуютМодуль: filesys
getpwd <idx>
Возвраты: текущая директория системных файлов пользователя.Модуль: filesys
getfiles <dir>
Возвраты: список файлов указанной директории; директория указывается относительно dcc-пути.Модуль: filesys
getdirs <dir>
Возвраты: список поддиректорий указанной директории; директория указывается относительно dcc-пути.Модуль: filesys
dccsend <filename> <ircnick>
Описание: попытка начать пересылку файла указанному нику через dcc; имя файла должно быть указано с полным путем или относительным корневой директории бота.Возвраты:

{|

| в случае удачного завершения; 1 | таблица dcc полна (слишком много соединений); 2 | невозможно открыть сокет для пересылки; 3 | файл отсутствует; 4 | файл был отложен в очередь для последующей пересылки, после того, как пользователь уменьшит количество соединений для пересылки файлов. 5 | включено copy-to-tmp и файл перемещен во временную директорию. |}

Модуль: transfer

filesend <idx> <filename> [ircnick]
Описание: подобно 'dccsend', за исключением операций с текущей файловой областью пользователя и разрешения использовать относительные пути из текущей пользовательской директории.Возвраты: "0" при неудаче; "1" в случае удачного завершения (как при немедленной отправке, так и при откладывании в очередь).Модуль: filesys
fileresend <idx> <filename> [ircnick]
Описание: функция подобная 'filesend', только он отправляет DCC RESEND вместо DCC SEND, что позволяет пользователям восстанавливать пересылку файла с места обрыва, если их клиент поддерживает этот протокол. ircII/BitchX/etc поддерживают; mIRC - нет.Возвраты: 0 on failure; 1 on success (either an immediate send or a queued send)Модуль: filesys
setdesc <dir> <file> <desc>
Описание: установка описания для файлов в директории системных файлов; директории относительной к dcc-пути.Возвраты: отсутствуютМодуль: filesys
getdesc <dir> <file>
Возвраты: описание файла в файлобласти, если есть.Модуль: filesys
setowner <dir> <file> <handle>
Описание: изменение владельца файла в файлобласти; директории относительной к dcc-пути.Возвраты: отсутствуютМодуль: filesys
getowner <dir> <file>
Возвраты: владелец файла в файлобласти.Модуль: filesys
setlink <dir> <file> <link>
Описание: создание или изменение линкованного файла (файла, который в данный момент присутствует на другом боте); директории относительной dcc-пути.Возвраты: отсутствуютМодуль: filesys
getlink <dir> <file>
Возвраты: линк для линкованного файла, есть есть.Модуль: filesys
getfileq <handle>
Возвраты: список чьей-нибудь файловой очереди; каждый пункт списка состоит из двух элементов: имени файлополучателя и название самого файла.Модуль: transfer
getfilesendtime <idx>
Возвраты: время в формате unixtime начала файловой пересылки или отрицательное число:

{|

-1 | пересылок, совпадающих с указанным isx не найдено -2 | idx совпадает с тем, кто не осуществлял файловых пересылок

|}Модуль: transfer

mkdir <directory> [<required-flags> [channel]]
Описание: создание директории в файловой области. Разрешено только тем пользователям, чьи флаги позволяет это.Возвраты:

{|

| удачное завершение 1 | невозможно создать директорию 2 | название присутствует, но это не директория -3 | невозможно открыть файловую базу данных

|}Модуль: filesys

rmdir <directory>
Описание: удаление директории из файлообласти.Возвраты: 0 при удачном; 1 при неудачном завершенииМодуль: filesys
mv <file> <destination>
Описание: перемещение файла из исходного расположения в указанный. Можно использовать файловые маски, такие как '/incoming.*', указывающие на директорию целиком.Возвраты: Если команда была выполнена - число перемещенных файлов. Иначе - возвращается отрицательное число:

{|

-1 | неверное название исходного файла -2 | неверное расположение -3 | перемещаемый файл уже присутствует -4 | совпадений не найдено

|}Модуль: filesys

cp <file> <destination>
Описание: копирование файла из исходного расположения в указанный. Можно использовать файловые маски, такие как '/incoming.*', указывающие на директорию целиком.Возвраты: Если команда была выполнена - число скопированных файлов. Иначе - возвращается отрицательное число:

{|

-1 | неверное название исходного файла -2 | неверное расположение -3 | перемещаемый файл уже присутствует -4 | совпадений не найдено

|}Модуль: filesys

getflags <dir>
Возвраты: требуемые флаги для доступа к директории.Модуль: filesys
setflags <dir> [<flags> [channel]]
Описание: установка флагов, требуемых для доступа к директории.Возвраты: 0 в случае удачного завершения; -1 или -3 при неудачеМодуль: filesys

9. Прочие функции

bind <type> <flags> <keyword/mask> [proc-name]
Описание: Вы можете использовать функцию 'bind' для прикрепления Tcl-процедур к различным событиям. Флаги () - флаги на которые надо установить триггер на событие (если прилагается). Имя процесса ('[proc-name]') может быть именем Tcl-процедуры для вызова этой функции (см. ниже формат вызова процедуры). Если имя процесса не указано, привязка на событие ('bind') не добавляется. Вместо этого возвращается текущая привязка на событие (если она stackable, возвращается список текущих привязок на событие).Возвраты: имя добавленной команды или (если имя процесса не указано), список текущих привязок на событие для этой команды.Модуль: core
unbind <type> <flags> <keyword/mask> <proc-name>
Описание: удаление предварительно созданных привязок на событие.Возвраты: имя удаленной команды.Модуль: core
binds [type/mask]
Возвраты: список Tcl-привязок на событие, в котором каждый пункт состоит из пяти элементов: { }Модуль: core
logfile [<modes> <channel> <filename>]
Описание: создание нового лог-файла, в который отражаются изменения режимов указанных каналов. Если лог-файл не указан, возвращается список существующих лог-файлов. "*" указывает на все каналы. Также вы можете изменить режимы и канал присутствующие в лог-файле с помощью этой функции. Установив пустой режим и канал ("") вы прекратите ведение лог-файла.Возвраты: имя созданного лог-файла или, если лог-файл не указан, список лог-файлов типа: {mco * eggdrop.log} {jp #lame lame.log}Модуль: core
maskhost <nick!user@host>
Возвраты: простроение маски на указанную маску хоста ("n!u@1.2.3.4" -> "*!u@1.2.3.*", "n!u@lame.com" -> "*!u@lame.com", "n!u@a.b.edu" -> "*!u@*.b.edu").Модуль: core
timer <minutes> <tcl-command>
Описание: выполнение указанной Tcl-команды по истечению указанного времени (в минутах).Возвраты: идентификатор таймераМодуль: core
utimer <seconds> <tcl-command>
Описание: выполнение указанной Tcl-команды по истечению указанного времени (в секундах).Возвраты: идентификатор таймераМодуль: core
timers
Возвраты: список активных минутных таймеров. Каждый пункт списка содержит число минут, оставшихся до активации; команду, которую следует выполнить; идентификатор таймера.Модуль: core
utimers
Возвраты: список активных секундных таймеров. Каждый пункт списка содержит число минут, оставшихся до активации; команду, которую следует выполнить; идентификатор таймера.Модуль: core
killtimer <timerID>
Описание: удаление минутного таймера из списка.Возвраты: отсутствуютМодуль: core
killutimer <timerID>
Описание: удаление секундного таймера из списка.Возвраты: отсутствуютМодуль: core
unixtime
Возвраты: большое целое число, которое представляет число секунд, прошедших с 00:00 1 января 1970 года (GMT).Модуль: core
duration <seconds>
Возвраты: число секунд, сконвертированных в количество лет, недель, дней, часов, минут и секунд. 804600 секунд тоже самое, что и 1 неделя 2 дня 7 часов 30 минут.Модуль: core
strftime <formatstring> [time]
Возвраты: строка времени, форматированная под стандарт strftime. Если указано время, используется значение указанного времени. Иначе - текущее время.Модуль: core
ctime <unixtime>
Возвраты: форматированная строка даты/времени относительно текущих установок локали с указанной строки в формате unixtime; например "Fri Aug 3 11:34:55 1973".Модуль: core
myip
Возвраты: длинный номер, составленный из IP-адреса бота, как он выглядит в (например) DCC-запросе.Модуль: core
rand <limit>
Возвраты: случайное целое - между 0 и ограниченное - -1.Модуль: core
control <idx> <command>
Описание: удаление idx с патилайна и отправлять все будущие введенные символы на указанную Tcl-функцию. Функцмя будет вызвана с двумя параметрами: idx и вводимый текст. При удачном завершении функция вернет "0", и "1" если контроль над пользователем вернулся к боту. Если поле для вводимого текста оставить пустым (""), это заставит считать, что соединение разорвано и никогда не вызовет killdcc, как если бы случился "invalid idx".Возвраты: отсутствуютМодуль: core
sendnote <from> <to[@bot]> <message>
Описание: симуляция отправки записки одним пользователем другому.Возвраты:

{|

| отправка не удалась 1 | записка была доставлено локально или отправлена другому боту 2 | записка была сохранена локально 3 | пользовательский ящик полон 4 | Tcl-привязка к событию сработала на записке 5 | записка была сохранена по причине отсутствия пользователя |}

Модуль: core

link [via-bot] <bot>
Описание: попытка линковки к другому боту напрямую. Если вы указали транзитного бота (via-bot), это позволяет транзитному боту линковаться с требуемым.Возвраты: 1 если линк установлен; иначе - 0.Модуль: core
unlink <bot>
Описание: попытка отлинковки бота из ботнета.Возвраты: 1 в случае удачного завершения; иначе - 0.Модуль: core
encrypt <key> <string>
Возвраты: зашифрованная строка (используя текущий загруженный модуль шифрования), кодированная в ASCII, используя base-64.Модуль: encryption
decrypt <key> <encrypted-base64-string>
Возвраты: дешифрованная строка (используя текущий загруженный модуль шифрования).Модуль: encryption
encpass <password>
Возвраты: зашифрованная строка (используя текущий загруженный модуль шифрования).Модуль: encryption
die [reason]
Описание: отправка боту в логфайл фатальной ошибки и последующий выход. Если причина не указана, используется "EXIT".Возвраты: отсутствуютМодуль: core
unames
Возвраты: текущая используемая ботом операционная система.Модуль: core
dnslookup <ip-address/hostname> <proc> [[arg1] [arg2] ... [argN]]
Описание: Эта функция используется для асинхронного запроса dns. Если модуль dns не загружен, эта функция блокируется; к тому же она будет или немедленно возвращаться или немедленно вызывать указанный процесс (т.е. если кэш функции уже заполнен).Так же, как и при завершении запросов, указанный процесс будет вызываться как указано ниже: <proc> <ipaddress> <hostname> <status> [[arg1] [arg2] ... [argN]]если статус равен "1", запрос был удовлетворен и "0", если - нет. Все дополнительные параметры (указанные как arg1, arg2 и argN выше) добавляются к другим параметрам процесса.Возвраты: отсутствуютМодуль: core
md5 <string>
Возвраты: 128-битное MD5 сообщение-сводка указанной строки.Модуль: core
callevent <event>
Описание: ручная установка триггеров на определенное событие. Например: callevent rehash.Возвраты: отсутствуютМодуль: core
traffic
Возвраты: список, содержащий информацию о испозовании ботом траффике в байтах. Каждый пункт содержит пять элементов: тип, входящий траффик сегодня, общий входящий траффик, исходящий траффик сегодня, общий исходящий траффик.Модуль: core
modules
Возвраты: список, содержаший информацию о текущих загруженных модулях бота. Каждый пункт списка содержит три элемента: модуль, версия и зависимости. Каждая зависимость содержит подпункт с названием и версией модуля.Модуль: core
loadmodule <module>
Описание: попытка загрузки указанного модуля.Возвраты: "Already loaded." ("Уже загружен."), если модуль уже загружен, "" в случае удачной загрузки или причина отказа загрузки модуля.Модуль: core
unloadmodule <module>
Описание: попытка выгрузки указанного модуля.Возвраты: "No such module", ("Модуль не найден") если модуль не загружен, иначе - "".Модуль: core
loadhelp <helpfile-name>
Описание: попытка загрузки указанного файла помощи из директории help.Возвраты: отсутствуютМодуль: core
unloadhelp <helpfile-name>
Описание: попытка выгрузки указанного файла помощи.Возвраты: отсутствуютМодуль: core
reloadhelp
Описание: перезагрузка файлов помощи бота.Возвраты: отсутствуютМодуль: core
restart
Описание: обновление настроек бота, прибитие всех таймеров, перезагрузка всех модулей и переподсоелинение бота на следующий сервер в списке.Возвраты: отсутствуютМодуль: core
rehash
Описание: обновление настроек бота.Возвраты: отсутствуютМодуль: core
stripcodes <strip-flags> <string>
Описание: удаление указанных управляющих символов из заданной строки. Купирующие флаги могут быть в любой комбинации из нижеследующего:

{|

b | удаление всех жирных шрифтов c | удаление всех команд управления цветом r | удаление всех команд реверсирования u | удаление всех подчеркивающих шрифтов a | удаление всех ANSI-команд g | удаление всех кодов Ctrl-G (звонка)

|}Возвраты: обработанная строка.Модуль: core

10. Глобальные переменные

ЗАМЕЧАНИЕ: Все переменные конфигурационного файла также являются глобальными.

botnick
Значение: текущее используемое имя бота (например: "Valis", "Valis0" и т.п.)Модуль: server
botname
Значение: текущий nick!server@host, что видит сервер (например: "Valis!valis@crappy.com")Модуль: server
server
Значение: текущее настоящее имя сервера (так, как сервер называет себя) и порт на котором подсоединен бот (например: "irc.math.ufl.edu:6667"). Заметим, что это значение не всегда совпадает с интернет-адресом сервера.Модуль: server
serveraddress
Value: the current server's internet address (hostname or IP) and port bot is connected to. This will correspond to the entry in server list (for example: "eu.undernet.org:6667"). Note that this does not necessarily match the name server calls itself.Модуль: server
version
Значение: текущая версия бота "1.1.2+pl1 1010201 pl1"; первые цифры - текстовая версия, вторые - числовая версия, и все последующие - названия наложенных патчей.Модуль: core
numversion
Значение: текущая циферная версия бота (например: "1010201"). Циферная версия имеет формат "MNNRRPP", где:

{|

M | главный номер релиза; NN | малый номер релиза; RR | номер подрелиза; PP | уровень пачта для этого подрелиза. |}

Модуль: core

uptime
Значение: время в формате unixtime с момента запуска бота.Модуль: core
server-online
Значение: время в формате unixtime с момента соединения бота с текущим сервером.Модуль: server
lastbind
Значение: последняя команда завязки на событии, которая была задействована. Это позволяет вам идентифицировать команду, которая была задействована на событи как процесс Tcl.Модуль: core
isjuped
Значение: 1 если имя бота было захвачено(437); иначе - 0.Модуль: server
handlen
Значение: значение HANDLEN устанавливается в src/eggdrop.h.Модуль: core
config
Значение: имя конфигурационного файла Eggdrop, используемое в данный момент.Модуль: core

11. Привязки

Вы можете использовать команду 'bind' при прикрепления Tcl-процедур к определенным событиям. Например, вы можете написать Tcl-процедуру, которую следует вызывать каждый раз после того, как пользователь произнесет на канале слово "danger". Некоторые типы привязок помечены как "скученные" ("stackable"). Это значит, что вы можете привязать одновременно разные команды на один триггер. Обычно, к примеру, привязка на событие выглядит следующим образом 'bind msg - stop msg:stop' (пример создает /msg-команду "stop" вызовом Tcl-процесса "msg:stop"), будет перезаписывать любые предыдущие привязки для /msg-команды "stop". Со скученными привязками, типа 'msgm', к примеру, вы можете привязать к событию команду к определенному количеству процессов. Когда привязка сработает, ВСЕ Tcl-процедуры, которые были назначены к этой привязке, активируются. Для удаления 'bind', пользуйтесь командой 'unbind'. Например, удалить привязку к /msg команде "stop", можно строкой 'unbind msg - stop msg:stop'.

  1. Типы привязок
    1. MSG'bind msg <flags> <command> <proc>
      procname <nick> <user@host> <handle> <text>'
      Описание:используется для /msg-команд. Первое слово "msg" является командой и все последующие - текстовый аргумент.Модуль: server
    2. DCC'bind dcc <flags> <command> <proc>
      procname <handle> <idx> <text>'
      Описание: используется для команд на патилайне; первое слово является командой, а все последующие - текстовым аргументом. idx является верным до тех пор, пока пользователь неотсоединится. После чего idx может использоваться вновь, поэтому будьте осторожны с хранением idx на протяжении длительного периода времени.Модуль: core
    3. FIL'bind fil <flags> <command> <proc>
      procname <handle> <idx> <text>'
      Описание: тоже, что и DCC, за исключением реакции на пользователя, зашедшего в файлобласть, вместо патилайна.Модуль: filesys
    4. PUB'bind pub <flags> <command> <proc>
      procname <nick> <user@host> <handle> <channel> <text>'
      Описание: используется для команд на канале. Первое слово рассматривается как команда, а все последующие как текстовый аргумент.Модуль: irc
    5. MSGM (stackable)'bind msgm <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <text>'
      Описание: поиск совпадений в вводимых через /msg строках текста с указаной маской. Полезно для привязки Tcl-процедур к словам или фразам, встречающимся в тексте. Если процедура возвращает 1, Eggdrop не журналирует сообщение, на котором сработала данная привязка. Привязки MSGM выполняются перед привязками MSG. Если включена опция exclusive-binds, то привязки MSG не будут срабатывать на тексте, являющийся MSGM привязкой.Модуль: server
    6. PUBM (stackable)'bind pubm <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <text>'
      Описание: практически тоже самое, что и MSGM, за исключением того, что триггеры устанавливаются на канале, а не на /msg-сообщения. служит для установки имени канала и может содержать маску. Также, если строка триггеров является привязкой PUB, то эти же триггеры не могут быть использованы в привязке PUBM.Модуль: irc
    7. NOTC (stackable)'bind notc <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <text> <dest>'
      Описание: в поле указывается имя (имя бота, очевидно) или название канала. может содержать маску. Эта функция рассматривается как нарушение протокола отклика на /notice в IRC, поэтому предназначена только для внутренного использования (ведение лога и т.п). Заметьте, что серверные извещения не являются событиями для NOTC. Если процесс возвращает 1, бот не журналирует сообщение, которое реагирует с привязкой.Новые Tcl-процедуры следует описывать как
proc notcproc {nick uhost hand text {dest ""}} { global botnick; if {$dest == ""} {set dest $botnick} ... } для совместимости.Модуль: server
    1. JOIN (stackable)'bind join <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>'
      Описание: реагирует на чей-либо вход на канал. имеет формат "#channel nick!user@host" и может содержать маску.Модуль: irc
    2. PART (stackable)'bind part <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <msg>'
      Описание: реагирует когда кто-либо покидает канал. имеет формат "#channel nick!user@host" и может содержать маску. Если прощальное сообщение не указано, имеет вид "".Новые Tcl-процедуры следует описывать как
proc partproc {nick uhost hand chan {msg ""}} { ... } для совместимости.Модуль: irc
    1. SIGN (stackable)'bind sign <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <reason>'
      Описание: реагирует на singoff или, возможно, кто-то попал в нетсплит и не вернулся. singoff-сообщение является последним аргументом в процедуре. В могут использоваться маски, которые имеют формат '#channel nick!user@host'.Модуль: irc
    2. TOPC (stackable)'bind topc <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <topic>'
      Описание: реагирует на изменение темы ("топика") канала. В могут использоваться маски, которые имеют формат '#channel nick!user@host'.Модуль: irc
    3. KICK (stackable)'bind kick <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <target> <reason>'
      Описание: реагирует, когда кого-либо выкидывают с канала. имеет формат '#channel target', где 'target' - имя пользователя, подвергнувшегося выкидыванию (может содержать маски). Процедура вызывается с имя, user@host и прозвище вышибалы, плюс название канала, имя провинившегося пользователя и причина; игнорируется.Модуль: irc
    4. NICK (stackable)'bind nick <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <newnick>'
      Описание: реагирует на смену имени. имеет формат '#channel newnick' и может содержать маски. Канал может быть "*", если пользователь не находится на канале (обычно, бот еще не на канале).Модуль: irc
    5. MODE (stackable)'bind mode <flags> <mask> <proc>
      proc-name <nick> <user@host> <handle> <channel> <mode-change> <target>'
      Описание: поломалось 'mode-change' в части этих компонентов, поэтому 'mode-change' будет всегда изменяться в одиночку, также как "+m" или "-o". 'victim' покажет аргумент изменения режима (для o/v/b/e/I) или "", если была установка режима без аргумента. Поле 'flags' игнорируется. Бот автоматически распознает изменение режима ПОСЛЕ всех вызванных совпадающих Tcl-процедур. Поле 'mask' имеет формат '#channel +/-modes' и может содержать маски.Если рассматривать режим сервера, то 'nick' будет "", 'user@host' - названием сервера, а 'handle' - "*". Заметьте, что 'victim' было добавлено в 1.3.17 и скрипты, написанные для версий до 1.3.2, работать не будут. Простое исправление (написанное guppy) в следующем примере: Заметим, что 'target' было добавлено в 1.3.17 и не будет работать в предыдущих версиях Eggdrop. Так же обратите внимание, что режим привязок был полностью неработоспособным в 1.3.17 и только в 1.3.18 это было исправлено. Многие привязки полностью не срабатывали в 1.3.17.Простой пример (написанный guppy) в следующем примере.Старый скрипт выглядел следующим образом:
bind mode - * mode_proc proc mode_proc {nick uhost hand chan mode} { ... } Для того, чтобы сделать его работающим в 1.3.23+ и оставить совместимым со старыми ботами, делаем так: bind mode - * mode_proc_fix proc mode_proc_fix {nick uhost hand chan mode {target ""}} { if {$target != ""} {append mode " $target"} mode_proc $nick $uhost $hand $chan $mode } proc mode_proc {nick uhost hand chan mode} { ... } Модуль: irc
    1. CTCP (stackable)'bind ctcp <flags> <keyword> <proc>
      proc-name <nick> <user@host> <handle> <dest> <keyword> <text>'
      Описание: будет именем (именем бота, очевидно) или названием канала. В указывается ctcp-команда (которая может содержать маски), может остаться пустым. Если процедура возвращает "0", бот попытается перехватить обработку ctcp-команды.Модуль: server
    2. CTCR (stackable)'bind ctcr <flags> <keyword> <proc>
      proc-name <nick> <user@host> <handle> <dest> <keyword> <text>'
      Описание: тоже самое, что и CTCP, но реагирует только на ctcp-ответ (ctcp вставляется в извещение вместо PRIVMSG)Модуль: server
    3. RAW (stackable)'bind raw <flags> <keyword-mask> <proc>
      procname <from> <keyword> <text>'
      Описание: предыдущие версии Eggdrop требовали перекомпиляции для включения этой привязки на событие, но теперь она стандартна. может содержать как числа, типа "368", так и ключевое слово, напр. "PRIVMSG. В поле может быть имя сервера или исходный пользователь (в зависимости от ); поле игнорируется. Последовательность аргументов идентична последовательности, которую IRC-сервер отправляет боту. Предварительная обработка только разъединяет их, по отдельности хватает только на определение . Если процедура возвращает "1", Eggdrop не обрабатывает далее строку (значит, что ваш бот ведет себя иногда довольно странно).Модуль: server
    4. BOT'bind bot <flags> <command> <proc>
      proc-name <from-bot> <command> <text>'
      Описание: реагирует на сообщение, пришедшее с другого бота в ботнет. Первое слово является командой и следующим за ней аргументов; поле игнорируется.Модуль: core
    5. CHON (stackable)'bind chon <flags> <mask> <proc>
      proc-name <handle> <idx>'
      Описание: когда кто-либо впервые входит на патилайн через dcc-чат или телнет, эта привязка реагирует перед тем, как этот кто-либо присоединится к чат-каналу (да-да, вы можете изменить канал в процедуре 'chon'). В поле указывается прозвище и поддерживаются маски. Эта процедура НЕ реагирует на то, что кто-либо вернулся из файлобласти и т.п.Модуль: core
    6. CHOF (stackable)'bind chof <flags> <mask> <proc>
      proc-name <handle> <idx>'
      Описание: срабатывает, когда кто-либо покидает патилайн с последующим отсоединением от бота. В поле указывается прозвище и поддерживаются маски. Заметьте, что соединение может прерваться пользователем, так что не посылайте вывод информации на idx.Модуль: core
    7. SENT (stackable)'bind sent <flags> <mask> <proc>
      proc-name <handle> <nick> <path/to/file>'
      Описание: после того, как пользователь удачно скачает файл с бота, эта привязка сработает. Поле содержит прозвише пользователя, который инициировал пересылку, и поддерживает маски. - текущий получатель (на IRC) файла. В поле указывается относительный путь до dcc-директории (если пересылка файла начинается вызовом скрипта к 'dccsend', в описываемом случае точный путь указывается в вызове 'dccsend').Модуль: transfer
    8. RCVD (stackable)'bind rcvd <flags> <mask> <proc>
      proc-name <handle> <nick> <path/to/file>'
      Описание: реагирует на удачную закачку файла пользователем. В поле указывается пользовательское прозвище. содержит имя пользователя, который закачивает файл. - окончательный относительный путь перемещения файла, располагаемый в dcc-директории (обычно, ваша директория входящих файлов).Модуль: transfer
    9. CHAT (stackable)'bind chat <flags> <mask> <proc>
      proc-name <handle> <channel#> <text>'
      Описание: когда кто-нибудь произносит что-либо в ботнете, это вызывает реакцию данной процедуры. Поле игнорируется; содержит прозвище пользователя на боте (DronePup) или другого бота (Eden@Wilde) и поэтому вы не можете ответить на записанного локально пользователя. В поле 'mask' указывается текстовая строка, и поддерживаются маски.NOTE: Если БОТ сказал что-либо на ботнете, то вместо описанной привязки вызывается BCST.Модуль: core
    10. LINK (stackable)'bind link <flags> <mask> <proc>
      proc-name <botname> <via>'
      Описание: реагирует на линковку бота в ботнет. это имя бота, которым он линкуется в ботнет; - транзитный бот. проверяет botnetnick линкующегося бота и поддерживает маски. Поле игнорируется.Модуль: core
    11. DISC (stackable)'bind disc <flags> <mask> <proc>
      proc-name <botname>'
      Описание: реагирует на рассоединение бота с ботнетом по какой-либо причине. Похоже на процедуру линковки, игнорируются; проверяет botnetnick отлинковывающегося бота, маски поддерживаются.Модуль: core
    12. SPLT (stackable)'bind splt <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>'
      Описание: реагирует на уход кого-либо с канала в нетсплит. Конечно, это может быть расценено за фальшивую тревогу (очень просто сделать поддельный нетсплит singoff-сообщением в некоторых сетях); может содержать маски и имеет формат '#channel nick!user@host'. Любой, кто вызовет SPLT, вызовет реакцию на REJN или SIGN не позднее wait-split-минут (указываемые в конфигурационном файле).Модуль: irc
    13. REJN (stackable)'bind rejn <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>'
      Описание: кто-либо, кто после сплита заново зашел на канал. может содержать маски и имеет формат '#channel nick!user@host'.Модуль: irc
    14. FILT (stackable)'bind filt <flags> <mask> <proc>
      procname <idx> <text>'
      Описание: пользователи патилайна и файловой области могут послать текст через FILT перед обработкой. Если процедура вернет пустую строку, текст продолжит обработку. Иначе бот использует вернувшийся текст из процедуры и продолжит его обработку.Модуль: core
    15. NEED (stackable)'bind need <flags> <mask> <proc>
      procname <channel> <type>'
      Описание: эта привязка на событие подобна случаю, когда бот просит статус оператора или ключ к каналу. могут быть: op, unban, invite, limit и key; имеет формат '#channel type' и допускает использование масок. игнорируется.Пример:bind need - "% op" needop < handles only need op
      bind need - "*" needall < handles all needsМодуль: irc
    16. FLUD (stackable)'bind flud <flags> <type> <proc>
      procname <nick> <user@host> <handle> <type> <channel>'
      Описание: любой флуд, засеченный через настройки флуд-контроля (типа 'flood-ctcp') обрабатывается этой процедурой. Если процедура вернула "1", то никаких действий флуд не вызывает; если процедура вернула "0", бот применяет свое обычное для флуда "наказание". Типы флуда: pub, msg, join или ctcp (могут попасть под маску "*"); поле игнорируется.Модуль: server
    17. NOTE (stackable)'bind note <flags> <mask> <proc>
      procname <from> <to> <text>'
      Описание: входящие записки (как с патилайна кого-нибудь в IRC так и с другого бота в ботнете) вызывают реакцию этой процедуры. Если привязка отсутствует, бот не будет обрабатывать записки. Поле должно быть строго указанным (никаких масок), но регистр не важен; поле игнорируется.Модуль: core
    18. ACT (stackable)'bind act <flags> <mask> <proc>
      proc-name <handle> <channel#> <action>'
      Описание: когда кто-либо выполняет действие на ботнете, это вызывает реакцию текущей процедуры. игнорируются; отлавливает текст действия и может содержать маски.Модуль: core
    19. WALL (stackable)'bind wall <flags> <mask> <proc>
      proc-name <handle> <msg>'
      Описание: когда бот получает wallops, возникает реакция этой процедуры. Поле игнорируется; отлавливает текст wallops-сообщения. Заметим, что исходя из RFC, имя сервера показывается в том же формате, что и исходное сообщение, некоторые IRCd отсылают в формате "nick!user@host", и Eggdrop его не обрабатывает, а просто передает привязке так, как оно есть. Если процесс возвращает 1, Eggdrop не журналирует сообщение, на которое сработала привязка.Модуль: server
    20. BCST (stackable)'bind bcst <flags> <mask> <proc>
      proc-name <botname> <channel#> <text>'
      Описание: когда бот отсылает сообщение всему ботнету (см. 'dccbroadcast' выше), возникает реакция этой процедуры. Поле игнорируется; отлавливает текст и может содержать маски. Аргумент "channel" всегда будет "-1".Это так же происходит, если БОТ (не человек, как в отношении с привязкой CHAT) что-нибудь произносит на канале посредством команды. В этом случае аргумент "channel" будет реальным, а не "-1".Модуль: core
    21. CHJN (stackable)'bind chjn <flags> <mask> <proc>
      proc-name <botname> <handle> <channel#> <flag> <idx> <user@host>'
      Описание: реагирует на чей-либо вход на канал ботнета. отлавливает название канала и может содержать маски. В поле указывается один из: * (владелец), + (мастер), @ (оператор) или % (мастер ботнета).Модуль: core
    22. CHPT (stackable)'bind chpt <flags> <mask> <proc>
      proc-name <botname> <handle> <idx> <channel#>'
      Описание: реагирует на чей-либо выход с канала ботнета. Поле игнорируется; отлавливает название канала и может содержать маски.Модуль: core
    23. TIME (stackable)'bind time <flags> <mask> <proc>
      proc-name <minute> <hour> <day> <month> <year>'
      Описание: позволяет вызывать процедуры по расписанию. содержит 5 разделенных пробелами целых значений формы "минуты часы дни месяцы годы". Минуты, часы, дни, месяцы содержат значение из двух цифр (нулей); год в любом случае имеет длину в четыре символа. Поле 'flags' игнорируется.Модуль: core
    24. AWAY (stackable)'bind away <flags> <mask> <proc>
      proc-name <botname> <idx> <text>'
      Описание: реагирует на чей-либо уход или возвращение на ботнет. В поле указывается причина (если причина не указывается, возвращается текст ""). отлавливает botnetnick бота, к которому подсоединен пользователь и может содержать маски. Поле игнорируется.Модуль: core
    25. LOAD (stackable)'bind load <flags> <mask> <proc>
      proc-name <module>'
      Описание: реагирует на загрузку модуля. содержит имя загружаемого модуля и поддерживает маски; поле игнорируется.Модуль: core
    26. UNLD (stackable)'bind unld <flags> <mask> <proc>
      proc-name <module>'
      Описание: реагирует на выгрузку модуля. содержит имя выгружаемого модуля и поддерживает маски; поле игнорируется.Модуль: core
    27. NKCH (stackable)'bind nkch <flags> <mask> <proc>
      proc-name <oldhandle> <newhandle>'
      Описание: реагирует на изменение прозвища локального пользователя (в userfile). отлавливает старое прозвище пользователя и может содержать маски; поле игнорируется.Модуль: core
    28. EVNT (stackable)'bind evnt <flags> <type> <proc>
      proc-name <type>'
      Описание: реагирует на одно из событий. Поле игнорируется; доступные значения:

      {|

sighup | вызывается при kill -HUP sigterm | вызывается при kill -TERM sigill | вызывается при kill -ILL sigquit | вызывается при kill -QUIT save | вызывается при сохранении userfile rehash | вызывается после команды rehash (обновление настроек бота) prerehash | вызывается перед командой rehash prerestart | вызывается перед рестартом logfile | вызывается при суточном переключении лог-файлов loaded | вызывается при загрузке бота userfile-loaded | вызывается после загрузки userfile |}

{|

connect-server | вызывается перед подсоединением к IRC-серверу init-server | вызывается при соединении с IRC-сервером disconnect-server | вызывается при рассоединении с IRC-сервером

|}

Модуль: core

    1. LOST (stackable)'bind lost <flags> <mask> <proc>
      proc-name <handle> <nick> <path> <bytes-transferred> <length-of-file>'
      Описание: реагирует на обрыв пересылки DCC SEND, подобно тому, когда соединение разрывается до окончания пересылки/получения данных. В основном случается при обрыве пользователем.Модуль: transfer
    2. TOUT (stackable)'bind tout <flags> <mask> <proc>
      proc-name <handle> <nick> <path> <bytes-transferred> <length-of-file>'
      Описание: реагирует при таймауте при пересылке DCC SEND. Это может случаться по причине отсутствия подтверждения на dcc-соединение или остановке пересылке данных по какой-либо причине.Модуль: transfer
  1. Возвращаемые значенияРазличные привязки на события привлекают внимание своими возвратами от процедуры (используя формат 'return <значение>'). Обычно значение имеет вид "0" или "1", а пустое значение расценивается как "0". Будьте внимательны, если вы пропустите значение возврата, процедурой вернется результат последней запущенной Tcl-команды. И это не совсем похоже на тот результат, который вы ожидали (это такая причуда Tcl).Ниже приведен список привязок на событие, которые используют возвращаемые значения процедур, на которые реагируют:
    1. MSGВозвращает "1" для записи в лог факт вызова команды таким образом:

      (nick!user@host) !handle! command

    2. DCCВозвращает "1" для записи в лог факт вызова команды таким образом:

      #handle# command

    3. FILВозвращает "1" для записи в лог факт вызова команды таким образом:

      #handle# files: command

    4. PUBВозвращает "1" для записи в лог факт вызова команды таким образом:

      <<nick>> !handle! command

    5. CTCPВозвращает "1" на запрос бота не обрабатывать CTCP-команду к нему. Иначе позволяет отсылать отклик на CTCP (возможно сообщение об ошибке, если бот не знает куда его деть).
    6. FILTВозвращает "" указывая на обработку текста и бот просто игнорирует его. В противном случае бот обойдется с текстом как с любым другим.
    7. FLUDВозвращает "1" указывая боту не производить никаких действия на флуд. В противном случае бот приводит в силу обычные "наказания".
    8. RAWВозвращает "1" запрещая боту обрабатывать текст с сервера. Это может затрагивать выполнение работы ботом, указывая ему пропустить то, что он обычно обрабатывает -- вы были предупреждены.
    9. CHONВозвращает "1" запрещая обрабатывать событие входа на патилайн.
    10. CHOFВозвращает "1" запрещая боту обрабатывать событие выхода с патилайна.
    11. WALLВозвращает "1" для запрета записи в лог сообщения, на которое реагирует привязка.
    12. NOTEВозвращает "1" для того, чтобы Eggdrop не обрабатывал последующую записку. Это включает в себя кучу привязок, которые начнут выполняться одна за одной так, словно бот только и предназначен, чтобы обрабатывать записки.
    13. MSGMВозвращает "1" для запрета записи в лог сообщения, на которое реагирует привязка.
    14. PUBMВозвращает "1" для запрета записи в лог сообщения, на которое реагирует привязка.
    15. NOTCВозвращает "1" для запрета записи в лог сообщения, на которое реагирует привязка.

12. Процедуры управления

Используя команду 'control' вы можете отдать DCC-соединение (или исходящее TCP-соединение) в управление скриптом. Весь полученный с соединения текст отправляется на указанную вами процедуру. Весь исходящий текст следует отправлять с 'putdcc'. Процедура управления вызывается со следующими параметрами:

procname <idx> <input-text>

Контрольная процедура вызывается с 2-мя аргументами - номеров каналаи пришедшим текстом (целая строка, без символов перевода каретки). Связь между каналом и процедурой живет до закрытия канала, а потом процедуру никто не вызывает (если только ее опять не поверят или не используют для контроля многих каналов).

Для сообщения котрольной процедуре, что канал был закрыт, ее вызывают с параметрами номера канала с пустым вторым параметром, т.е. строкой "". Это бывает только, когда канал уже был закрыт. Т.о. через контрольную процедуру никогда нельзя узнать, что в канал писали пустые строка. Процедуре передают только не пустые строки и целиком за один раз. Когда прислали "" канал уже закрыт и ничего нельзя туда писать (или пытаться закрыть по killdcc).

Если вы хотите вернуть ручной контроль вашего соединения обратно боту, ваш процесс должен вернуть "1". Иначе, возврат "0" оставит контроль.

13. TCP соединения

Eggdrop позволяет вам создавать два типа TCP-соединений ("телнет"): исходящие и входящие. Для исходящих соединений вам следует указать удаленный хост и порт для соединения с ним. Для входящих соединений вам требуется указать только порт для прослушивания. Все соединения являются*управляемые событием*. Это значит, что бот реагирует вашими процедурами, когда что-либо случается на соединении и ваша процедура ожидает возврата так, как только это возможно. Ожидания в процедуре для бОльшего ввода нет никакого. Для инициирования исходящего соединения, используйте:

set idx [connect <hostname> <port>]

$idx теперь содержит новый DCC-ввод для исходящего соединения.

Все соединения используют неблокируемый (называемый "асинхронным", что ошибочно) ввод/вывод. Не вдаваясь в подробности, все это можно выразить в следующем:

  • соединение происходит не мгновенно, а откладывается
  • если соединение прервано, канал имеет флаг EOF, что можно проверить по команде EOF

Команда 'connect' может вернуть ошибку, если указанное вами имя хоста не откликается (это рассматривается как "DNS error"). В противном случае будет расценено как успешное выполнение. Если соединение прервано, вы немедленно получите EOF.

Правильней после вызова команды 'connect' вам следует установить 'control' для нового idx (см. выше). После этого соединение станет обычным DCC-соединением, которое будет контроллироваться скриптом. Если вы вернете "1" с контрольной процедуры (указывая на то, что вы хотите вернуть управление боту), бот просто закроет соединение и избавится от него. Другие команды, что работают на нормальных DCC-соединениях, типа 'killdcc' и 'putdcc' будут также работать на этом idx. Команда 'killdcc' будет обрывать свое выполнение с "invalid idx", если вы попробуете использовать ее на закрытом сокете.

Для создания прослушиваемого порта используйте:

listen <port> script <proc>

Процедуру следует обозначить как:

procname <newidx>

Например:


  listen 6687 script listen:grab

  proc listen:grab {newidx} {
    control $newidx listen:control
  }

Когда на порту 6687 произойдет новое соединение, Eggdrop создаст новый idx для соединения. Этот idx направлен в 'listen:grab'. Процедура немедленно направляет этот idx под контроль. Однажды вызванный 'listen:grab' idx ведет себя подобно исходящему соединению.

Наилучший способ научиться использовать эти команды, это найти скрипт, который их использует и осторожно ему следовать. К тому же, это даст вам хорошее начало.

14. Символы, используемые в масках

Многие привязки на события используют символы подстановки в аргументах. Есть четыре специальных символа:

?

заменяет любой одиночный символ

*

заменяет 0 или больше символов любого типа

%

заменяет 0 или больше символов, не содержащих пробелы (может использоваться для поиска совпадения по одному слову)

~

заменяет 1 или больше символов пробела (может использоваться для слов, разделенных пробелами)


1997 Robey Pointer
1999 - 2006 Eggheads Development Team
2003-2004, 2005-2006, 2007 Перевод vadim s. sabinich

ЗАПУСК


Eggdrop
  • Переходим в директорию с установленным eggdrop.
  • Если у Вас нет папки tmp в корне бота, то создайте её вручную, иначе бот не запустится. Запуск бота производим командой ./eggdrop -m eggdrop.conf, флаг -m нужен для создания нового файла пользователей, в последующие разы это флаг указывать не нужно, иначе файл пользователей будет заменен на пустой.
  • Ждем пока бот зайдет на канал, и пишем /msg <ник_бота> hello, бот определит вас как хозяина.
  • Неоходимо установить пароль пишем /msg <ник_бота> PASS пароль, после этого Вы можете управлять ботом через DCC-чат или partyline, используя заданный пароль.

Windrop
  • Переходим в директорию с устновленным windrop.
  • Запускаем файл Runonce.bat или в консоли набираем eggdrop -m, создастся файл пользователей.
  • Процедура идентификации такая же как и у eggdrop.

последние сообщения::.

e-mailIRCa | Пятница 08 Августа 2014 в 12:49:53
Ребята, вечером 6 сентябра буду проезжать Урал по дороге на Байкал. Мечтаю всех вас увидеть. Приходите на свои перроны, съедим по мороженому, посмотрю на вас, порадуюсь.

e-mailPaha | Tue 11 Февраля 2014 в 1:32:19
Это комбоджийский новый год по старому стилю

e-mailАря | Пятница 31 Января 2014 в 18:11:09
Это чё за мягкое порно? (23:45:31) Фант0м вышел из комнаты (quit: Quit: disconnected...). (01.02.2014 00:00:01) Day changed to 01 Фев 2014 (00:00:09) Izdera: *** С НОВЫМ ГОДОМ #uomz !!! ***

последние скрипты::.

Погода в Ташкенте | 30 Января 2013 | Информационный
Информирует о текущей погоде в городе Ташкент

wettash.rar

Sex dice | 17 Января 2013 | Развлекательный
Шуточный скрипт, позволяет проделать с выбранным ником действия сексуального характера.

sexdice.rar

Прогноз погоды | 17 Января 2013 | Информационный
Очередная версия прогноза погоды с возможностью выбора страны и города.

rp5.rar

Поиск по сайту
Почта на izdera.ru
Логин:
Пароль:
регистрация
#uomz
Яндекс.Метрика
2010-2013©Izotop