1. Сначала надо скачать бота на шелл. Последние версии лежат на http://www.eggheads.org/downloads/ На данный момент актуальная версия - Eggdrop 1.6.19, поэтому заходим на шелл и пишем следующее:
wget ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.19.tar.gz 2. Бота мы будем устанавливать со всеми модулями, чтобы он был функциональным и полезным. Учтите, что модули устанавливаются при компиляции бота, так что их надо ставить сразу. Стало быть, скачиваем то, что надо вашему боту:
Gseen Mod - модуль поиска юзеров. И русский язык к нему. wget http://www.kreativrauschen.com/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz
Теперь все что вам надо - скачано на шелл. Первые 2 модуля из списка супер полезны, так что собирать бота надо с ними. Мегахол и социал модули чисто для веселья и развлекалова.
3. Теперь надо откомпилировать бота и его установить.
Разархивируем бота и модули: tar zxvf eggdrop1.6.19.tar.gz tar zxvf gseen.mod.1.1.1.dev3.tar.gz tar zxvf stats.mod.1.3.3.dev1.tar.gz
Все скачанные модули распаковываются аналогичным образом и ложатся в eggdrop1.6.19/src/mod. Т.е. чтобы у вас все правильно скомпилировалось в конце, у вас должны появится папки social.mod gseen.mod stats.mod magahal.mod в папке eggdrop1.6.19/src/mod. Если модули распаковались в одной директории с папкой eggdrop1.6.19 тогда самостоятельно переместите их в eggdrop1.6.19/src/mod.
Далее переходим в папку с ботом eggdrop1.6.19
cd eggdrop1.6.19
Начинаем собирать. Пишем следующее:
./configure
Конфигуратор модулей
gmake config
Запускаем компиляцию
make
Теперь надо заинсталить бота. Делается это так:
make install
4. Переходим в папку с ботом (на примере в папку eggdrop) и редактируем eggdrop.conf. Описывать все опции конфига я не буду, но дам кратккий faq по самом важным опциям:
# Предпочитаемый язык. addlang "ru" addlang "russian"
# Ник бота, который будет использоваться на IRC. set nick "ник бота" set altnick "ник бота_"
# Имя(идент), которым бот идентифицирует себя как пользователя, при подключении к серверу. set username "eggdrop"
# Что выводить в поле realname? set realname "Eggdrop by SnuuD"
# Какие пользователи будут ВСЕГДА иметь флаг "+n"? (Через запятую: "NaRiMaN") set owner "ваш ник" set admin "ваш ник"
# Здесь надо прописать сервер. (Формат строки: irc.sitc.ru:6669) set servers { irc.LGhost.ru:6669 } set default-port 6669
# Какой порт должен "слушать" бот? listen 8850 all
# В какой IRC-сети сидит бот. (закоментировано) #set network IrcCity
# Некоторые IRC-сервера используют нестандартные префиксы и режимы подобные операторам. # Укажите их здесь, чтобы бот мог распознавать. (закоментировано) #set opchars "@&~"
# Если ваша машина имеет более одного IP, вы можете указать отдельный IP для бота. (закоментировано) #set my-ip "xxx.xxx.xxx.xx"
# Раскоментируйте строки, если хотите отключить команды "tcl" и "set". (закоментировано) #unbind dcc n tcl *dcc:tcl #unbind dcc n set *dcc:set
set ctcp-version "Eggdrop by SnuuD"
# Файлы и директории. set mod-path "modules/" set help-path "help/" set text-path "text/" set temp-path "tmp/" set userfile "bot.user" set chanfile "bot.chan" set notefile "bot.notes"
# Загрузка стандартных модулей. loadmodule channels loadmodule server loadmodule ctcp loadmodule irc loadmodule notes loadmodule console loadmodule blowfish loadmodule transfer # Модуль сбора статистики самых "долгоиграющих" ботов. Списки на сайте http://uptime.eggheads.org (закоментировано) #loadmodule uptime # Модуль tls реализует поддержку шифрованного соединения (SSLv1, SSLv2, TLSv1). Необходим некоторым скриптам. # Для вин32(закоментировано) #package ifneeded tls 1.6 "source \[file join scripts tls.tcl\] ; tls::initlib modules tls16-32.dll" # Для вин64(закоментировано) #package ifneeded tls 1.6 "source \[file join scripts tls.tcl\] ; tls::initlib modules tls16-64.dll"
# Настройка лог-файлов. set quiet-save 1 set keep-all-logs 1 set console "mkcobxs" set logfile-suffix ".%Y%b%d" #logfile jpk #имя_канала "logs/имя_канала.log"
# Глобальные настройки, которые будут использованы при +chan. 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 }
set global-flood-chan 0 set global-flood-deop 0 set global-flood-kick 0 set global-flood-join 0 set global-flood-ctcp 0 set global-flood-nick 0 set global-aop-delay 0 set global-idle-kick 0 set global-stopnethack-mode 0 set global-revenge-mode 0 set global-exempt-time 0 set global-invite-time 0 set global-ban-time 300 set global-chanmode ""
# Различные необходимые настройки. set protect-telnet 0 set open-telnets 0 set never-give-up 1 set server-cycle-wait 120 set bounce-bans 1 set net-type 0 set keep-nick 0 set max-notes 5 set note-life 10 set allow-fwd 0 set notify-users 0 set notify-onjoin 0 set console-autosave 1 set flood-msg 0:0 set ident-timeout 1 set select_timeout 100 set max_tcl_events 20
На самом деле конфиг настраивается более сложно и тонко, но это вам придется уже самим разбираться.
5. Далее, если вы собирали бота с модулями gseen и stats то вам надо скопировать языковые пакеты в папку language в корневом каталоге вашего бота. Сейчас я покажу, что надо поправить в конфигах этих модулей, и что вписать в eggdrop.conf, чтобы модули подключились при загрузке и все их сообщения были на русском языке.
Копируем gseen.conf из архива с соответствующим модулем в корневой каталог бота (если его еще там нет) и меняем там следующие строчки:
gseen.conf
# Необходимо добавить строку set seen-nick-len 32 для IRC сетей, где длинна ников больше 9 символов. set seen-nick-len 32
# Добавляем строку загрузки русского языка, предварительно скопировав gseen.ru.lang в папку language. loadseenslang "ru” "Russian” language/gseen.ru.lang
# Установим язык по-умолчанию - Русский set default-slang "ru”
Далее копируем stats.conf из архива с соответствующим модулем в корневой каталог бота (если его еще там нет) и меняем там следующие строчки:
stats.conf
# load the default language (Язык по умолчанию, меняем на stats.ru.lang, предварительно скопировав stats.ru.lang в папку language.) loadslang language/stats.ru.lang
6. Все. Уже почти можно радоваться, потому что бот собран и его осталось только запустить. делается это так:
mkdir tmp
Запускаем бота с флагом -m, чтобы создать базу данных пользователей и каналов. Соответственно заходим в директорию бота и пишем:
./eggdrop -m Если все конфиги настроены без ошибок, то бот войдет в сеть. Дальше напишите в приват боту слово hello (/msg ник_бота hello) и он вас запомнит, как админа. После этого командой pass (/msg ник_бота pass ваш_пароль) установите ваш пароль. Далее с помощью /CTCP ник_вашего_бота CHAT или telnet’а вы должны зайти в патилайн - окно для управления вашим терминатором. Там вы сможете указать боту, на какие каналы ему зайти и еще кучу настроек.
Вот вроде бы и все. Бот находится на канале и уже умеет вести статистику и искать юзеров. Но есть еще куча tclскриптов (всяких !кручу, !копать и прочее), которые вы захотите установить. A подключаются tcl скрипты следующим образом: Открывается eggdrop.conf и прописывается строка source scripts/scriptname.tcl Отсюда видно что source - добавление чего-нибудь к загрузке. scripts/ директория, где находится скрипт, а scriptname.tcl - имя скрипта.
7. Вот теперь точно все. Дальше уже пойдет сложная настройка бота под конкретные нужды каждого пользователя этого замечательного софта. Надеюсь, что данный faq вам хоть в чем-то помог.(SnuuD)