В данной статье я не буду рассказывать о том, как создать свои скрипты (хотя это не сложно). А по на пальцах расскажу основные принципы. В статьи я отвечу на следующие вопросы: Начало Если вы постоянный посетитель IRC или вы фаундер (хозяин) среднего канала и вы задумывались о установки бота на свой канал, но не знали, что это – эта статья для ВАС. Дело это не простое, но и не очень сложное – в некоторых случаях требует финансового вложения. Что же такое бот? Основные понятия. Бот это своеобразный пользователь, который автономно выполняет команды и следить за каналом, а так же находиться на нём ~ 24 часа в сутки. Плюсы бота: 1. Создаёт некий престиж для канала 2. Следит за флудом (засорением канала) и если у бота есть права наказывает виновного 3. Выполнение довольно важных функций (поиск человека, поиск информации и т.п.) 4. Игрушка, если установлен игровой бот (викторина, анекдот, рулетка и т.п.) Например мой бот, который находится в сети Dalnet выполняет следующие функции: !stat - Узнать статистику о себе. !stat - узнать статистику о нике !top10,!top20 - Узнать топ10/топ20 самых общительных на канале. !place,!tplace - Узнать какое место вы занимаете, узнать какое место вы заняли сегодня. !chanplace - Узнать какое место занимает канал на котором вы находитесь. !seen - !seen Ник - поиск человека. !peak - Узнать когда было максимальное кол-во человек на канале. !horolove - покажет любовный гороскоп на сегодня с www.horo.ru. !today (!сегодня) - покажет звездный гороскоп на сегодня для всех знаков. !server,!сервер - Данный скрипт позволит узнать какие сервисы запущены на хостинге, где хостится домен. !whois - Войс домена или ip Пример: !whois www.ya.ru . Вся информация берётся с ripn.net !port - Коннект на определенный порт. Пример: !port www.ya.ru 80. !nmap - Сканирует сервер на открытые порты. !ya - Поискать информацию в Яндекс. Аналог: !yandex,!яндекс. Это лишь маленький список возможностей МОЕГО бота (более подробно: http://www.sunlim.net/irc/botinfo/help.txt) Где взять бота и как его установить на свой (или на любой) канал? Захотели вы установить бота к себе на канал, тут можно пойти двумя способами: А). Попросить нужного вам бота на специализированных каналах (В разных сетях разные каналы, такие как #bot #bots #eggdrop #eggdrops #egghelp #bothelp). В общем найдёте нужный канал. Б). Установить бота на шелл (нужно иметь shell-доступ к сайту) и стать его хозяином. Для начала надо выбрать какой нужен бот – это зависит от того на какой платформе стоит сервер , где будете размещать бота (может быть либо win либо *nix) Для серверов на Windows – Windrop бот, а для серверов на *nix – eggdrop. Всё предельно ясно, других ботов я даже не рассматриваю. Про Windrop я тоже писать не буду, так как он менее распостранён, чем egg. Порядок установки Eggdrop’a на *nix shell: 1. Найти сам шелл. Это может быть хостинг от вашего сайта, где поддерживается доступ по SSH + должен быть установлен пакет TCL. 2. Если вы наши nix’овый шелл переходим далее… Заходим в программу putty выбираем SSH, вводим информацию – коннектимся. Всё предельно просто, попадаем в консоль управления (шелл) -> сразу же советую набрать команду tclsh (этим самым вы узнаете установлен ли TCL модуль (НЕОБХОДИМ), если вы получите приглашение в виде символа "%" то TCL модуль есть (Превосходно), если такого преглашения вы не получите – вы не сможете установить бота. 3. Если вы получили % - сразу пропускайте этот пункт. (УСТАНОВКА TCL ВОЗМОЖНО ТОЛЬКО ИЗ ПОД ROOT АККАУНТА) Как установить TCL ? Скачать TCL в исходниках можно с ftp-сайта: ftp://ftp.scriptics.com/pub/tcl/ Порядок сборки TCL: Распакуйте архив с TCL (tar -zxf tcl8.x.x.tar.gz) Зайдите в директорию с нужной платформой (cd tcl8.x.x/unix) Наберите './configure' Наберите 'make' Наберите 'make install' И в /usr/local/lib появится libtcl8.x.x.so, в /usr/local/include директория tcl8.x.x, а в /usr/local/bin cl-shell tclsh. 4. Переходим к установке самого бота. Сразу посетите следующие ссылки ftp://ftp.eggheads.org/pub/eggdrop/GNU/ Исходные коды всех версий бота включая последнюю beta-версию http://geteggdrop.com/ Сразу отдает последний релиз бота http://johoho.eggheads.org/eggdrop/ Скомпиленные версии бота под разные платформы Но я советую использовать уже собранный комплект и имеющий основные модули eggdrop1.6.16.rus, собрал человек под ником dRive-r (За это ему большой респект) Устанавливаем бота: wget http://...полный путь до бота на сервере/…tar tar –zxf eggdrop.tar cd eggdrop ./configure (Конфигурируем бота) *** Но если собирать нужно с конкретной версией TCL, то указывайте: ./configure --with-tcllib=/libtcl8x.so --with-tclinc=/tcl.h make config (Для автоматического подключения модулей) make Так вроде бота поставили =) Теперь надо настроить бота, чтобы потом его запустить. В шелле набираем mc и переходим в папку куда мы разархивировали файлы для бота, наводим курсор на файл eggdrop.conf и нажимаем F4 (Это основной файл, где хранится большая часть информации и настроек для Бот’a). Находим в данном файле строки: set nick "Nick" <- Ник для вашего бота, советую зарегистрировать данный ник ДО захода бота в сеть. set altnick "Altnick" <- Альтернативный ник, если основной ник используется set username "use" <- данные перед @ в хуизе (Идент) set realname "ICQ: 12345" <- Имя =) Можно вписать, что угодно например ваши контакты. set allow-desync 1 Дальше находим: set servers { <- Список серверов на которые должен заходить БОТ irc.dalnet.ru:6667 <- Сервер для моего бота, ВВЕДЁН для примера. Irc.web-hack.ru:6667 <- Альтернативный сервер } Дальше: channel add #channel { <- Основной канал для вашего бота =) Это первый канал, куда бот зайдёт. Потом список можно увеличить. } Дальше: set owner "KROT_find" <- Ваш ник, хозяин бота set admin "nick " <- Ваше мыло set network "Dalnet.ru" <- сеть, можно не указывать. Внимание, если вы будете устанавливать бота и хотите, чтобы у него был зарегистрированный ник и его никто не использовал добавьте: set init-server {putquick "PRIVMSG NickServ :IDENTIFY ПАРОЛЬ"} *где ПАРОЛЬ = это пароль, который указывался при регистрации Ника* Данную строку можно ввести в любую часть, например: set net-type 4 listen 3333 all set owner "KROT_find" set admin "nick " set network "EggdropNet" set init-server {putquick "PRIVMSG NickServ :IDENTIFY 1234567"} Вот, вроде основные настройки установлены. Теперь запускаем бота, в шелле набираем ./eggdrop –m eggdrop.conf (Потом набирать без ключа –m, только ./eggdrop имя.conf) Бот запустился, сразу вам показывается порт (скорее всего 3333) Берём любую терминальную программу (например: Putty) и указываем адрес, порт (3333) и коннектимся через терминал к нашему боту. Из-за того что мы запустили бота с ключём –m он начинает подключаться к серверу, мы это увидем в окне терминала. В окне набираем команду NEW (для регистрации нового пользователя), тут вас попросят ввести логин и пароль для управления, которые вы будете использовать в будущем для управления ботом. Бот зашёл на канал, всё отлично – идём дальше. Основные модули для бота, возможности, скрипты. Что то такое модули? На этот вопрос я отвечу своими словами: Это те же самые скрипты выполняющие автономные функции, например: Подсчёт кто сколько сказал. Прописывать модули и скрипты надо в eggdrop.conf, в самом низу: ##### SCRIPTS ##### # This is a good place to load scripts to use with your bot. # This line loads script.tcl from the scripts directory inside your eggdrop's # directory. All scripts should be put there, although you can place them where # you like as long as you can supply a fully qualified path to them. # # source scripts/script.tcl source scripts/название_скрипта.tcl source scripts/time.tcl source название_модуля.conf Существует множество модулей: Stats, статический модуль – считает кто сколько наговорил на канале, ведёт топ лучших “говорунов”, молчунов, а так же ещё имеет несколько возможностей. Gseen, поисковый модуль – показывает, когда интересующий вас человек покинул канал. Это основные модули и СКОРЕЕ всего они будут установлены сразу в вашей сборке. Есть ещё несколько модулей, но искать их вам надо самим. Как писать скрипты – я рассказывать не буду, кого это очень интересует изучите сами (Ссылки, где можно почитать о модулях, скриптах, изучить язык tcl я приведу в самом конце). Настройки бота для каналов. Когда вы всё настроили и запустили бота он сразу заходит на один канал, чтобы увеличить это кол-во наберите в терминале следующие команды: .+chan #channel <- Заставить бота на зайти на указанный канал .-chan #channel <- Заставить бота выйти с канала Другие важные команды: .restart <- Сделать рестарт вашему боту .die <- убить бота, потом надо будет через шелл его заново пускать После захода бота на канал, он сразу начинает выполнять команды, например: !stat … Данные команды очень раздражают посетителей, если каждый человек будет набирать данную команду то канал превратиться в помойку. Как сделать чтобы бот отвечал лично человеку (А не в общий канал), который ввёл команду модуля Stats: В терминалке наберите .chanset #канал +quietstats Как сделать чтобы бот отвечал лично человеку (А не в общий канал), который ввёл команду модуля Gseen: В терминалке наберите .chanset #канал +quietseens +quietaiseens Вот я описал самый минимум команд, самый минимум команд. Этой информации хватит лишь, чтобы запустить бота и установить его на канал. Если вам интересна эта тема и вы хотите изучить язык TCL, посетите ниже приведённые ссылки. Полезные ссылки. ftp://ftp.eggheads.org/pub/eggdrop/GNU/ (Исходные коды всех версий бота включая последнюю beta-версию) http://johoho.eggheads.org/eggdrop/ (Скомпиленные версии бота под разные платформы) http://www.unseen.org/~simpson/eggdrop/ - (Информационный сайт) http://windrop.sourceforge.net/ (Windrop версия ботов) http://forum.hack.su (Русскоязычный форум, где вам окажут помощь, а так же там вы найдёте много tcl скриптов) http://eggdrop.org.ru (Наверно самый крупный и самый известный русский ресурс о ботах) http://eggdrop.org.ru/scripts/ (Неплохой выбор скриптов) http://www. juravlev.inc.ru (Информационный сайт) Вот минимальный список сайтов, который лично я посещал для сбора информации и запуска своего первого бота. Так вот сразу пишу копирайты: Автор: r3bus Почта: admin[at]sunlim.net ICQ: 869968 Сайт: http://www.sunlimited.ru