|
EggDrop1.6.21 - исходник бота последней версии.
SP - данный патч предназначен для устранения проблем с национальными символами. С ним запуск бота должен осуществлён в локали cp1251 и порт irc-сервера должен быть для cp1251.
TCL8.6.5 - необходимая библиотека для работы бота.
Начать следует с:
2. Ознакомиться с Решениями -> http://windrop.clan.su/faq <- здесь собраны наиболее частые проблемы и вопросы при установки и использования бота, очень важно с ними ознакомиться ещё до самой установки.
После 3-х простых действий у вас имеется полностью укомплектованный бот. Для поддержания его работоспособности требуется обновление в автоматическом режиме (указывается в конфиге) либо командой !обновить <- обновления выходят достаточно часто, два раза в неделю как минимум.
Вся необходимая информация по скриптам что имеются в боте, находится на главной странице этого сайта, а именно название скрипта, его флаг и описание, выводится при наведении курсора на команду.
В остальном вам помогут на нашем форуме или канале. |
Самый оптимальный вариант для бота стоит 3 $ в месяц - тариф Меркурий (1 ядро; 10 ГБ; 512 МБ) [Debian-7-amd64].
Не используйте бесплатные/платные шеллы, их возможностей и вашего уровня доступа не хватит для нормальной работы бота. Вам же не нужны лишние ограничения и ошибки в системе? |
Что отвечает за кодировку: 1. Порт у irc-сервера должен быть для cp1251 (чаще всего это 6667 или 6669) 2. Если бот на unix, то он должен быть запущен командой: ./eggdrop.sh или ./eggdrop-m.sh (в них указана правильная локаль) 3. Если у вас бот при запуске этими файлами запускается не в кодировке "cp1251" (Проверить можно командой !инфа (!info) или !tcl encoding system), то попробуйте в eggdrop.sh и eggdrop-m.sh заменить: LANG=ru_RU.CP1251 на: LC_ALL=ru_RU.CP1251
4. WPack ставить нужно только на EggDrop1.6.21-SP11 с этого сайта. Возможно ваш вариант без SP. 5. Ни в конфиге, ни в ваших скриптах не должно быть строки "encoding system ...".
P.S: Если только часть сообщения отображается не в той кодировке или например не работает !син это значит что бот запускался до этого не правильно (не тот порт, не та локаль) и успел записать в свои базы кракозябры. Что в этом случае можно посоветовать? Очистить вручную эти базы или переустановить бота. |
Бот вас не признает только в том случае, если не совпадёт ваш хост с теми, что прописаны на ваш ник (handle).
Для того чтобы добавить новый хост, надо под тем ником (handle), который известен боту, написать в приват: identauth пароль. Затем можно посмотреть в !whois какие хосты имеются и отредактировать командами: !±хост.
Как вы уже наверно поняли, у вас не получится добавить овнера назначением флага "n" через скрипт управления, так как это не безопасно. Чтобы добавить нового овнера, надо вписать его ник в eggdrop.conf в параметр "set owner" и добавить в бота командой !+юзер ник. Далее бот напишет этому юзеру в приват с предложением установить пароль, после этого надо установить пароль pass пароль и авторизироваться командой auth пароль и юзер станет полноценным овнером.
Важно: Если вы ставите флаг "P" (перманентная авторизация), то не стоит добавлять хосты состоящие только из ника или идента или того и другого.
Простой пример: у вас один из хостов в !whois ввида ник!*@* вроде бы удобно, так как у вас динамичный ip и бот вас всегда признаёт, вы выходите из сети и любой человек может взять ваш ник и управлять ботом. За то время, пока сервисы не сменят ник, можно много чего успеть или сервисов вовсе может не быть. Конечно, полный, уникальный хост не проблема для иркопов, в нормальных сетях об этом думать не стоит или просто не использовать флаг "P", а каждый раз проходить авторизацию с использованием пароля, который, кстати, при желании может подглядеть админ сервера. |
Изначально бот использует примерно 25 мегабайт оперативной памяти (это скрипты, модули, некоторые базы данных), а дальше всё зависит от активности пользователей и каналов на боте, бот загрузит различные базы для игр и тем самым увеличит размер примерно до 50 мегабайт, но это всё мелочи, по мере активности пользователей будут заполняться базы с различной информацией и здесь уже всё зависит только от этого, бот может использовать и 500 мегабайт и 1000 и это не зависит от количества скриптов, столько может использовать даже 1 скрипт у которого база с более миллионом записей . В среднем нужно 100 мегабайт для бота. |
1) Отключаем бота командой !die если потеряна идентификация то: -win: Ctrl+Alt+Delete -> Процессы - завершаем процес eggdrop. -unix: Узнаём pid номер бота - в корне бота файл pid.ник_бота или командой ps x затем kill пид_номер (Если у вас один бот то можно: kill -9 `ps U$USER | grep egg| awk '{print $1}'`) 2) Находим запись о вашем аккаунте в bot.user 3) Удаляем в ней строку начинающуюся с "--PASS" 4) Запускаем бота и вводим в чате /msg ник_бота pass пароль
|
Бот покидает канал в том случае если данный канал у него не прописан, например при соединении с сервером часто бывает автоджойн, в этом случае бота насильно затащит на данный канал, но он покинет его так как его нет в bot.chan. Аналогично будет и с линкованым каналом.
Но чаще всего бывает ошибка при добавлении канала, например в названии канала используются русские буквы аналогичные английским или наоборот или разный регистр тоже может повлиять если у вас не установлена русская локаль на сервере. По-этому лучше всего при добавлении канала копировать название канала в клиенте, а не набирать самому. |
Кратко: Устанавливаем новую версию, заменяем поверх папку data и файлы: bot.user, bot.chan.
Подробно: В папке data почти все данные (очки, пик, цитаты, хелпы, фразы и т.д.). Внимание: в некоторых версиях бота, сами базы обновляются или формат записи, поэтому тут уж смотрите сами, при замене файлов, на старые, могут возникнуть ошибки.
База юзеров, банов и игроков викторины находятся в файле bot.user. В bot.chan хранятся каналы и их установки.
Если у вас включено обучение мегахала то в старой папке megahal находим файл megahal.msg и переименовываем его в megahal.trn затем переносим в новую папку. Если новый бот уже запускался то нужно при выключенным боте удалить файлы megahal.brn и megahal.brn~bak затем заменить megahal.trn как описано выше.
|
Информация выводимая командой !хелп меняется тут:
scripts/info/help.tcl А так же есть ещё один список который выводит одну команду при входе на канал, он находится в скрипте scripts/info/count.tcl
|
Раскоментировать параметры отвечающие за настройку времени в eggdrop.conf, указать нужное значение в set offset, бота следует перезапустить (!die).
# Настройка времени. (закомментировано)
#set offset "-6"
#set timezone "GMT"
#set env(TZ) "$timezone $offset"
P.S: Если время не меняется у бота при изменении значения в set offset (проверить можно набрав !инфа), то нужно убрать пробел из set env(TZ) "$timezone$offset"
|
Можно отключить приват командой "!приват выкл" и тогда только овнер сможет воспользоваться приватными командами.
Ещё можно настроить скрипт antiflood.tcl в строке variable aflset {+ 6 30 RD 3} здесь установлено, что при 6 сообщениях в приват за 30 секунд будут выставлены флаги RD на 3 минуты. (флаг R принимает сообщения только от зарегистрированных, а флаг D вообще игнорирует все приватные сообщения, этот флаг есть не во всех сетях или может по другому обозначаться, например в далнете это флаг g)
Так же можно в eggdrop.conf в строке putquick "MODE $botnick +B" добавить флаг D для автоматического его назначения. |
В scripts/info/count.tcl находим строку: "putserv "NOTICE $nick :........" и изменяем её. |
1. Ознакомиться с тем, что написано внутри самого скрипта, открыв его, обычно в начале файла идет описание настроек и переменные для изменения этих настроек. 2. Внести поправки в настройки, если таковые имеются, чтобы скрипт отвечал вашим нуждам, а не базовым настройкам. 3. Положить скрипт в директорию scripts вашего бота.
4. В директории scripts паки games, info, protection, system являются авто-загрузочными. Т.е. положив скрипт в них, вам не надо его прописывать в конфиге. Если же вы положили скрипт в корень директории scripts то в eggdrop.conf в блок скриптов вписать нужно строку: source scripts/скрипт.tcl
5. Перезапустить бота командой !restart или !загрузка скрипт.tcl |
На канале набираем: !set +флаг - отключение скрипта. !set -флаг - включение скрипта.
Список флагов можно узнать командой: !chaninfo no* Или набрать на канале:
!хелп флаги
Отключение ВСЕХ скриптов кроме самого скрипта отключения выполняется командой "!скрипты -" на канале, для включения "!скрипты +". |
Банит чей ник изменён сервисами на Guest????, а также постоянно удерживает бан на канале:
!ban Guest*!*@* 0 Смени ник! stick
Банит чей ник очень длинный:
!ban ??????????????????*!*@* 0 Длина ника превышает норму (макс. 18 символов). Поменяйте и перезайдите.
Бан по имени: !regban -name {^имя$} -ban 3 -kick {Плохое имя}
Банит всех кто с указанного сервера:
!regban -server {^irc\.server\.ru$} -ban 3 -kick {Плохой сервер}
Банит всех кто не с указаного сервера:
!regban -server {^(?!irc\.server\.ru)(.*?)$} -ban 3 -kick {Используй irc.server.ru}
Немного о RegExp:
^ - начало строки $ - конец строки
* - ноль или более + - одно или более ? - ноль или одно
\ - экранирование . - любой символ кроме переводов строки (.+?) и (.*?) - любой текст |
Чтобы убрать автоматическое снятие бана на канале через определенный промежуток времени напишите команду в патилайне: .chanset #канал ban-time 0 или на канале:
!set ban-time 0
|
Прочитать: !helps -c -g amode !helps amodeadd
и ввести на канале: !amodeadd +v *!*@*
|
Установить флаг F или f, с этой просьбой нужно обратиться к администрации вашей сети. Или попросить чтобы прописали на сервере (класс по маске) с более большими параметрами. Также с этим флагом бот будет мгновенно отправлять сообщения в приват, не зависимо от количества строк. При этом установите значение в конфиге бота: set msg-rate 0
Или отключите скрипт system/putserv_vs_putfast.tcl |
1. Создаём на боте юзера Services. Пишем в PuTTY .+user services маска. Например: .+user services *!*@service@ircnetwork.ru
2. Теперь нужно назначить флаг, для того чтобы бот не считал сообщения от этого юзера флудом. Пишем .chattr services +f |
Есть 3 решения:
1. Убрать сервисного бота с канала и научиться пользоваться этим ботом.
2. Прописать сервисного бота на боте и дать ему глобал f
3. На канале набрать !set +nodesynch
|
Нужно поменять кодировку -> Окно -> Кодировка -> Выбираем: Win1251 (Cyrilic) |
У многих задаётся сразу вопрос: "А зачем боту бнц?". Иногда оно просто необходимо, часто бывает так, что IP бота забанен сервисами/сервером по разным причинам и чтобы попасть в сеть приходиться заходить через bnc или просто ради другого ипа/хоста. А так же может понадобится для управления бнц-сервером, если поставить для этого скрипт.
В eggdrop.conf изменяем параметры:
set username "логин"
set servers { бнц.сервер.ру:порт:пароль }
Если бнц меняет ник при отключении бота, то измените:
set keep-nick 0
на
set keep-nick 1
чтобы бот возвращал свой ник при следующем соединении.
|
cd
cd eggdrop/scripts
./autobotchk eggdrop.conf -noemail -5
Открываем файл ботнет-ник.botchk в корне бота и заменяем:
botscript="eggdrop eggdrop.conf"
на:
botscript="eggdrop.sh"
Установим права:
cd
cd eggdrop
chmod +x ботнет-ник.botchk
|
Если вы наблюдаете следующие сообщения, при запуске бота:
* Last context: megahal:megahal.c/512 []
* Please REPORT this BUG!
* Check doc/BUG-REPORT on how to do so.
* Wrote DEBUG
* SEGMENT VIOLATION -- CRASHING!
В этом случае запускать бота нужно так: LANG=ru_RU.CP1251 LC_TIME=en_US env MALLOC_OPTIONS='Dm' ./eggdrop
То есть надо в eggdrop.sh и в eggdrop-m.sh добавить:
env MALLOC_OPTIONS='Dm' перед ./eggdrop
|
У вас есть два бота и вы хотите их слинковать:
Первый бот: Windrop (botnet-nick) c хостом windrop.clan.su (PuTTy) и портом 8850 Второй бот: Eggdrop
(botnet-nick)
c хостом eggdrop.clan.su (PuTTy) и портом 8855
Первому боту пишем:
!addbot Eggdrop eggdrop.clan.su:8855 Второму боту пишем:
!addbot Windrop windrop.clan.su:8850
Чтобы боты слинковывались автоматически нужно указать хаб-бота, например таким ботом у нас будет первый (Windrop) значит второму (Eggdrop) пишем:
!botattr Windrop +h Делаем рестарт любому боту.
Список команд по ботнету можно узнать командой: !helps -g botnet
Что может дать Botnet:
1. Разделение файла пользователей между ботами (Sharing). Это когда файл пользователей будет вести один бот (MasterBot), а другие боты (ShareBots) будут просто из него черпать информацию.
2. Можно просто объединить ботов для общего partyline. Тогда люди имеющие доступ на разных ботах к partyline смогут видеть и общаться с пользователями других ботов.
3. Создавать сетевые сервисы. Например, сетевой seen, когда пользователь запросив информацию о последнем местонахождении интересующего его человека получит ответ от бота, который в свою очередь посмотрит в своей базе, а также спросит по Botnet у других ботов. Тем самым можно получить более информативный ответ.
4. Управление всеми ботами через одного бота. |
1. Допустим бот по каким-то причинам не может подключиться к ирк-серверу, в этом случае ctcp бесполезен. 2. Бот подключился к серверу но с другим ником и в этом случае к кому вы будете подключаться через ctcp? 3. Сейчас вы используете виндроп, а завтра купите vds и вам в любому случае нужен будет PuTTY для подключения к серверу. 4. Так или иначе в инструкциях рассматриваются оба способа, выбирать вам. |
Нужен для работы с сайтами по протоколу HTTPS. Парочка скриптов используют этот пакет, один из них в сборке, это title.tcl. Если установить пакет, то бот будет выводить титл таких сайтов.
Устанавливаем на unix от root:
apt-get install libssl-dev
wget http://dfn.dl.sourceforge.net/sourceforge/tls/tls1.6.7-src.tar.gz
tar -xzf tls1.6.7-src.tar.gz
cd tls1.6.7
./configure
make
make install
Проверить можно командой: .tcl package req tls |
locale -a | grep ru_RU - для просмотра русских локалей на сервере.
-Debian:
От root на сервере:
localedef -c -i ru_RU -f CP1251 ru_RU.CP1251 Располагается либо в /usr/lib/locale/ либо /usr/share/locale/
-Ubuntu:
От root на сервере:
apt-get install language-pack-ru-base echo "ru_RU.CP1251 CP1251" >>/var/lib/locales/supported.d/ru locale-gen
В eggdrop.sh и eggdrop-m.sh заменяем:
LANG=ru_RU.CP1251 на: LC_ALL=ru_RU.CP1251 |
1. Включаем запись логов в конфиге бота:
logfile jpk #имя_канала "logs/имя_канала.log"
2. Устанавливаем настроенный pisg.
Скачиваем:
wget http://windrop.clan.su/pisg.tar.gz
Распаковываем:
tar -xzf pisg.tar.gz
Удаляем архив:
rm -rf pisg.tar.gz
3. Настраеваем под себя pisg.cfg, переносим папку gfx с картинками туда где будет стата.
Переходим в папку:
cd pisg Генерируем страничку командой:
./pisg
4. Добавляем в кронтаб pisg.
Заходим:
crontab -e
i
Добавляем строку чтобы генерировать статистику раз в сутки:
0 */24 * * * /папка/до/писга/pisg -co /папка/до/конфига/писга/pisg.cfg
*Если уже есть строки в кронтабе, то создаём новую строку: ^ + O Удалить строку можно командой: dd
Жмём: Esc
Чтобы сохранить и выйти набираем:
:
wq
*Если у вас не работают команды: i, dd и тд, то у вас другой редактор в котором не сложно разобраться.
|
|