SP - данный патч предназначен для устранения проблем с национальными символами. С ним запуск бота должен осуществлён в локали cp1251 и порт irc-сервера должен быть для cp1251.
TCL8.6.5 - необходимая библиотека для работы бота.
2. Ознакомиться с Решениями -> http://windrop.clan.su/faq <- здесь собраны наиболее частые проблемы и вопросы при установки и использования бота, очень важно с ними ознакомиться ещё до самой установки.
3. Если вы собираетесь использовать бота на Windows (ваш комп например), то используйте эту инструкцию -> http://windrop.clan.su/index/0-4 а если на UNIX (shell (vds) например), то -> http://windrop.clan.su/index/0-8 <- лишнего там нет, все действия должны быть строго выполнены и выполнены верно.
После 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 как описано выше.
Раскоментировать параметры отвечающие за настройку времени в 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 для автоматического его назначения.
1. Ознакомиться с тем, что написано внутри самого скрипта, открыв его, обычно в начале файла идет описание настроек и переменные для изменения этих настроек. 2. Внести поправки в настройки, если таковые имеются, чтобы скрипт отвечал вашим нуждам, а не базовым настройкам.
3. Положить скрипт в директорию scripts вашего бота.
4. В директории scripts паки games, info, protection, systemявляются авто-загрузочными. Т.е. положив скрипт в них, вам не надо его прописывать в конфиге. Если же вы положили скрипт в корень директории scripts то в eggdrop.conf в блок скриптов вписать нужно строку: source scripts/скрипт.tcl
5. Перезапустить бота командой !restartили !загрузка скрипт.tcl
Установить флаг F или f, с этой просьбой нужно обратиться к администрации вашей сети. Или попросить чтобы прописали на сервере (класс по маске) с более большими параметрами.
Также с этим флагом бот будет мгновенно отправлять сообщения в приват, не зависимо от количества строк. При этом установите значение в конфиге бота: set msg-rate 0
Или отключите скрипт system/putserv_vs_putfast.tcl
У многих задаётся сразу вопрос: "А зачем боту бнц?". Иногда оно просто необходимо, часто бывает так, что IP бота забанен сервисами/сервером по разным причинам и чтобы попасть в сеть приходиться заходить через bnc или просто ради другого ипа/хоста. А так же может понадобится для управления бнц-сервером, если поставить для этого скрипт.
В eggdrop.conf изменяем параметры:
set username "логин"
set servers { бнц.сервер.ру:порт:пароль }
Если бнц меняет ник при отключении бота, то измените:
set keep-nick 0
на
set keep-nick 1
чтобы бот возвращал свой ник при следующем соединении.
Первый бот: 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 у других ботов. Тем самым можно получить более информативный ответ.
Нужен для работы с сайтами по протоколу HTTPS. Парочка скриптов используют этот пакет, один из них в сборке, это title.tcl. Если установить пакет, то бот будет выводить титл таких сайтов.