Введение в цикл Вступление в введение. Это - первая статья из серии 'Боты от Инвиза' (Инвиз, как известно, второй мой ник). В этой статье вы узнаете теоретически, что такое бот, как он работает и что можно с ним сделать. Что такое сеху? С бурным развитием Battle.net культуры, в наши головы явно вбились стереотипы о нужных и не нужных аттрибутах каждого клана. Клан - прежде всего коллектив игроков - маниаков и не очень. Когда игроков объединяет только подпись после ника, игрокам постепенно приедается клан и они переходят в другой. Если вы посмотрите на всем известном показателе, так сказать, нашей русской культуры - на канал Frozen Throne Rus-1, то вы увидите, что 90% всех присутствующих - в кланах. И если сравнивать кланы по названиям, то они абсолютно разные и их множество. Отчего так? Потому что клан,в основном своем в России, да и в мире, - извините, способ неудавшихся в реальной жизни людей объеденить народ, который бы просто не пошел за ним в любом другом случае. И все к друг другу переходят, постоянная текучка, кланы распадаются, т.к. игроки покидают клан. Как этого избежать? надо обеспечить игроков необходимым техническим оборудованием (так я его называю.). Это как для хорошего поэта в революционное время отстать от него и дать писать свои шедевры. Т.е. создать некую биосферу для обитания такого редкого индивида, как соклановец сознательный. Конечно, это прежде всего сайт, регулярные мероприятия, но и не последнюю роль играет тут бот.
У многих людей сложился стереотип, что бот, это сидящая на канале железка, которая спамит канал с предложениями 'вступить в реальный клан, все на канал anal' и говорящая фразы 'ping blya, vremya blya'. На самом деле, бот - оружие для творчества. Бот может развлечь посетителей, создать ненавязчивую рекламу, необходимую информацию, а для тех кто знает язык Visual Basic Script, для тех это вообще безграничный океан свободы самовыражения.
В последующих уроках, я расскажу о том, где скачать новую версию, как установить бота, как настроить, расскажу о командах, приветствиях, скриптах, маленьких хитростях и стилизации. Как почетый ботмастер бывшего СНГ, я могу с уверенностью сказать, что бот - такая вещь, которую нельзя выпускать из вида.
Обзор ботов. Итак, мы решились: Боту - жизнь! и встал главный вопрос: какого бота выбрать? На самом деле на этот вопрос можно ответить довольно просто. Для этого нужно провести сравнение разных ботов.
1) Trivia Bot.Тривиа с английского языка переводится, как викторина в вольном переводе. Отсюда и главная задача - проводить викторины на канале. Бот устанавливается просто, имеет простой интерфейс, неплохой интерфейс составления вопросов и ответов к ним, интересную викторину, НО имеет так же куча недостатков. Чрезвычайно не хватает функций для модерации канала, имеет обывновение вылетать и имеет скудный запас вопросов (около 150) в самом начале и то по старкрафту только. К тому же, бот не поддерживает CD-Key от Warcraft III и TFT. Вот такие пироги. Я, попользовавшись пятнадцать минут, решил все таки остановиться на следующем представителе бот-семейства. 2)StealthBotStealth - своего рода герой. Он делает два года отличный бесплатный продукт, выпускает обновления, его сайт часто падает, но он еще и успевает отвечать на множество вопросов на форуме. Герой! Stealthbot по праву называется самым распространенным и, мягко говоря, лучшим ботом в мире. До неприличия правильное количество настроек, возможность создавать свои команды и писать скрипты. Последнее - абсолютно гениально. С ними, мы познакомимся в одних из последних уроков. Прост в инсталляции и в настройке. Минус - английский язык. Для новичков - очень отталкивающе. Но я опишу весь интерфейс, чтобы не было проблем никаких, даже у самых скромных и робких новичков. Существую некие русификаторы, сделанные с помощью Restorator'a и прочих программ распаковки ресурсов EXE'шников. Могу вам сказать, что ставить их бессмысленно, т.к. они не переводят и трех сотых всего текста. Стелсбот поддерживает ключи от всех игр от близзарда, так что проблем с этим никаких не будет. 3) Другие боты.Другие боты, в основном, написаны новичками или очень давно. Когда-то многие были конкурентоспособные с ботом от Стелса, но потом перестали выпускать обновления и все. Се ля ви, побеждает сильнейшний.
Выбрали? Конечно, выбор крайне невилик: Или стелсбот или стелсбот. Хорошая альтернатива? Это даже не печально, т.к. мы просто будем использовать профессиональный бот, очень профессионально. И я вам в этом помогу.
А что же из себя бот представляет? Бот - отдельная от игры программа. Она использует ваш CD-Key, Через BNLS (подробности в статье о BNET) заходит на канал и сидит там как обычный пользователь. Бот имеет разные функции, который мы будем активно использовать, например, с помощью стелсбота, можно играть орел-решка. И главное, что это встроенная возможность, а многие из вас, даже об этом и не знали. Бот может говорить пинг пользователям, что обычно воспринимается, как самое важное, но это не так. Фактически - это игрок, который сидит на канале и говорит то, что от него требуется . Или же можно провести параллель с ребенком. Ребенок говорит взрослым то, чему его научат и именно вы выступаете в роли няньки этого ребенка. Ребенок станет умнее, если вы приложите усилия, но не станет, если вы не хотите эти усилия прикладывать. Здесь все зависит от вас.
Краткий F.A.Q., как заключение первой статьи цикла Q:Могут ли несколько ботов сидеть на одном ключе? A:Не-а. Тут все как и с обычной игрой. Нельзя, вообщем.
Q:Я скачал бота, запустил, а на канале его не вижу. A:Его надо настроить, рассмотрим это в следующих статьях.
Q:А как сделать ..? A:Подождите немножко, в следующих статьях я опишу базовые вещи, которые обычно нужны рядовому боту.
Q:А что такая короткая статья? A:В моих планах разбить цикл на статей 6-7, +приложения.
Инсталляция и Настройка Вступление в Статью Вторая часть из этой серии. Рассказывает об инсталляциии и настройке бота. Инсталляция Вы когда нибудь устанавливали WinAMP? Вы видели значит, тот инсталлятор от компании NullSoft. Не хотелось бы думать, что вы не сможете установить бота без меня. Просто кликайте кнопки далее далее далее. Спросит путь - введите путь, куда вы хотите установить бота. В конце концов, вы его установите и все. Никаких проблем с версией, скачанной с официального сайта возникнуть не должно. Настройка апустив StealthBot.exe из папки с ботом, мы видим простенькое окошко. Интерфейс описан в приложении 1 (на данный момент не готово). Итак, нам нужно настроить нашего бота. Хотя в стелсботе и присутствует возможность настройки 'пошагово' для новичков, но мы же собираемся стать госу ботумастерами! Начинаем? Нажмите Ctrl+P (английская) или зайдите в меню Settings => Bot Settings=>Connection Settings=>Configuration.
Введение в цикл
Далее идут описания опций:
Username:
Тут вы вводите имя своего бота. Если такого имено не зарегестрировано, то оно создается автоматически.
Password:
Пароль для аккаунта бота. Поставьте посложнее, если собираетесь бота делать шаманом.
CD-Key
Ключ от основной игры, которую вы выберите позже. Так же есть встроенная база ключей, которую заполняете вы. Для удобства. Управляется она кнокпками Add Current - Добавить введенный ключ в базу ключей. Manage - расширенное управление ключами.
Expansion CD-Key
Ключ от дополнения. На самом деле это вовсе не обязательно, но если вы не хотите, чтобы у бота было иконка из, скажем, RoC, тогда вводите смело.
Home Channel
Канал, на который будет подсоединяться бот, сразу при подсоединении. Если вы делаете бот для клана, вводите clan <тег вашего клана>. Например clan 4f.
Server
Выбирайте Europe.Battle.Net, если вы собираетесь держать бота на Европе. Если нет - то выбирайте другой, соответственно.
Trigger
Если вы ввели CD-Key для Warcraft III, то выбирайте Warcraft III. И соответственно если для другой игры - выбирайте именно её. Если вы ввели еще и ключ от дополнения - то выберите игру-дополнение. Итак, основые настройки пройдены.
Идем далее. Выбираем Interface Settings, т.к. в Advanced - настройки типа подключения, а кроме BNLS там ничего не нужно (Local Hashing только для игр ранее WC3)
Описание настроек
Единственная опция, которая нам будет полезна - Use UTF-8 for encoding\decoding... Это функция включает кодировку UTF-8, соответственно мы можем видеть русский шрифт в окне бота. А это важно!
Переходим к более интересным настройкам.
Moderation Options
Тут включаются-выключатся функции модерирования ботом канала.
Описание настроек Enable Phrasbanning. Опция, которую обычно называют просто - Фильтр мата. Когда включенна, можно настроить слова, на которые бот будет реагировать попыткой бана с канала сказавшего это слово. Enable IPBanning. Опция, когда включена работает так: Допустим, у вас на канале сидел человек с ником KOPOBKA. Далее, он начал всех оскорблять и вы его забанили с канала. Он выходит из Battle.net, создает аккаунт заново и заходит под аккаунтом MblLLIKA. Но не тут то было. Он не может зайти, т.к. вы забанили его по IP - Адресу. Enable ClienBans. Когда включена, появляется возможность настроить клиенты игры, пользователи которых будут забанены с канала. Например вы выставили Warcraft II: Bnet Edition. И любой кто зайдет через эту игру к вам на канал будет забанен. Enable Quet-Time. Буквально переводится, как Время тишины. Все пользователи, который не занесены в Safelist (о нем позже), попытавшиеся сказать хоть фразу, будут банииться с канала. Enable Kick-On-Yell Опция, с помощью которой бот кикает всех, кто 'кричит'. Т.е. пишет более пяти символов большими буквами подряд. Enable PlugBan Опция, из-за которой банятся все, у кого включен плаг УДП. Просто оставьте отключенной. Enable Channel Protection. Банит всех пользователей, пытающихся зайти на канал, которые не занесены в Safelist. Protection Message Сообщение, которое будет выводиться забаненному при включенной опциии Channel Protection. Возьмем пример, когда близкие друзья клана и соклановцы обсуждают кланвар. Тогда вы включаете Протекшн и вводите сюда: 'Извините, у нас совещание'. И всех будет банить с этим сообщением. Удобно! Ban Idle Users Банить всех, кто неактивен в течении X секунд Kick Instead of Ban Кикать, а не банить, в предыдущей опции. Seconds before Ban Как раз то самое число Х в секундах. Ban Warcraft III Peons. Так называемый Peonban. Банит всех, с иконкой раба. Levelbans. Levelbans Level, Levelban Message. Помогает настроить бан пользователей ниже уровня Х. Если вы считаете, что ваш канал для госу, ставьте уровень 200 и никто не сравнится с вашей крутостью
Так... Кажется все. Далее - Greet Message Settings.Тут настраивается сообщение, которым встречает бот всех входящих.
Описание настроек Greet Users Who Join The Channel. Включает приветствие. Wisper Greet Message Заставлет бота писать входящему приветствие личным сообщением. Длинная строка - место, где вы напишете свое сообщение. Но прежде хотелось бы отметить систему перменных. переменная введенная в любой части строки, выполнит свою функцию. Итак список: %c - Канал бота на данный момент %0 - Имя входящего %1 - Имя Бота %p - Пинг входящего %v - Версия Бота %a - Доступ к базе (попозже уточним) %f - Флаги в базе (аналогично) %t - Время на компьютере, где установлен бот. А не у входящего %d - Дата на компьютере, где установлен бот. А не у входящего
Пару примеров приветствия: При установленном Wisper Greet Messages Hello %0 . Glad to see you in our channel. Your ping is %p . Anything more? Ask our Shamans.
Итак, если зашел игрок с ником KAPA6AC и пингом 100, то сообщение соответственно будет таким: Hello KAPA6AC . Glad to see you in our channel. Your ping is 100 . Anything more? Ask our Shamans.
Не правда ли просто? Вот еще один пример, при выключенном Wisper Greet Messages. /me [ %t :: Event] %0 has joined the channel with ping %p ms.
Это сообщение будет выглядеть так, если в без двадцати десять на канал зайдет apm70 с пингом 74: [ 21:40:01 :: Event] apm70 has joined the channel with ping 74 ms.
Вот такая система.
В стелсботе есть еще Idle Messages. Это сообщения, которы будут выводиться, когда бот неактивен определенное количество времени. Давайте-ка разберемся. Описание настроек Idle Messages Show Idle Messages Включение их как таковых. Delay Between Messages: Время межу сообщениями в минутах. Желательно делать минуты 3-4. Так не будет сильно навязчиво. Длинная строка - это и есть ваше Idle Message. И тут так же поддерживаются переменные. %c - канал, на котором сидит бот. %mp3 - песня в WinAMP на компьютере, где установлен Бот. %me - имя бота %v - Вресия бота %botup - количество времени, прошедшее с момента включения бота. %cpuup - количество времени, прошедшее с момента включения компьютера, на котором установлен бот. %quote - фраза, выбранная случайным образом из сказанных до этого. %rnd - случайно выбранное имя человека на канале. Так же доступны три других кнопки - Quote, Uptime, Mp3. Которые выводят цитату, Время в онлайне и песню в Винампе соответственно.
Пару примеров Idle Message'ей. Хей, %rnd , А я вот тут подумал, я вот уже %botup включен. И я никому не нужен. 3а что? или /me слушает песню %mp3 . И вам советует послушать! ^^ b
Miscellaneous Settings.Короче говоря, остальное. Описание настроек Опять же настройки: Use ProfileAMP. Интересная возможность - в профиль бота пишется песня, которая играется в данный момент в Виампе на компьютере владельца бота. Whisper COmmand Responses. Если вам нужно, чтобы бот отвечал на команды личным сообщением - то ставьте галку смело Check User's mail. Включает проверку внутренней встроенной почты. Об этом позже. Ignore Tic-Tac-Toe games Игнорировать предложения поиграть в Tic-Tac-Toe игры. Не нашел информации об этом. Оставляйте невключенной Disable The User Monitor. Отключает встроенный Юзер Монитор. И об этом позже. Enable URL Detection. В полследней версии бота, при включенной опции, если кто то на канале напишет ссылку вида http://wc3.p0.ru то на нее можно будет нажать из окна бота. При отключенной опции - нет. low .mp3 commands Отключить команды управления музыкой, такие как .mp3 .play .next .prev , но об этом мы еще расскажем подробнее позже. Connect on Startup При включенной опции, бот при включении сразу будет пытаться подсоединиться к серверу. Minimize on Startup При включенной опции, бот при включении сразу сворачиваться. Forward Whispers to Если боту придет личное сообщение - он его напишет юзеру указанному ниже. Backup Channel. Если бота кикнули с какого то канала, он попытается войти на канал указанный ниже.
Кастом Коммандс/b> Итак, третья статья из цикла боты от инвиза, посвященная кастом коммандсам. Права и Флаги У каждого человека входящего на канал есть определенные права и флаги. По умолчанию, у человека, неизвестного боту права 0 и флагов нет. Права ознчают, какие именно и сколько команд вы сможете запустить. Например, стандартная команда pingme требует права 40, и 'левый человек' не сможет использовать эту команду. О флагах мы поговорим потом. Что за ...? Custom Commands (Пользовательские Команды) - та фича, которая придала боту столько популярности. В двух словах: CC - система создания новых команд для бота. Давайте разберемся, что из себя представляет команда в Стелсботе.
Рассмотри команду: 4F.Inviz: .pingme 4F.Bot: Your ping at login was 120ms.
1 блок - Триггер. Помните, мы видели в опциях точку? Да-да, именно. Триггер - знак, с которого начинаются все команды. Он выступает в качестве переменной, так что его можно поменять в любое время. Обычно - точка. В примере отмечен красным - .
2 блок - Имя команды. Это часть команды, которая идет после триггера. Фактически это её идентификатор. Желательно команды называть лаконичными, но в то же время, отражающими свою суть. Яркий пример - .information . Вполне. В примере отмечено зеленым цветом pingme
3 блок - Ответ бота на команду. Самое важное и нужное - что будет делать бот, когда увидит на канале команду? Это и есть ответ бота. На примере отмечен Your ping at login was 120 ms. оранжевым цветом.
4 блок(необязательный) - Переменная. Т.е. значение не постоянное. В данном случае числовое значения пинга в милисекундах. На примере - желтым цветом 120
5 блок(невидимый) - Необходимое (или буквенное значение для флагов) числовое значение, для использования команды.
Итак, давайте посмотрим - Триггер установлен в самом начале в настройках. так? значит при создании оманды он нам не требуется. Далее, смотрим - переменная вовсе не обязательна. Так? да. То есть, чтобы создать команду, нам требуются следующие параметры:
Необходимый доступ, Имя команды, Ответ бота.
Для добавления команд, существует специальный интерфейс - Custom Commands Editor, он вызывается из меню бота. Но мы будем сразу работать как профи , т.е. напряму вводя боту команды с канала. Нам потом еще понадобится это и не раз. Мы будем пользоваться командой .cmdadd - Её синтаксис таков:
.cmdadd Уровень доступа Имя команды Ответ бота.
Давайте попробуем создать простенькое меню информации бота. Прежде всего, давайте создадим инфомрацию о боте. Команда будет называться Бот. На русском. Заходим на канал, пишем:
.cmdadd 0 Бот Наш бот - лучший во всем мире. Правда, он пока еще маленький.
4F.Inviz: .Бот 4F.Bot: Наш бот - лучший во всем мире. Правда, он пока еще маленький.
Да! Получилось. Первый шаг к умному боту сделан.
Advanced CC
Итак, мы только что научились создавать команды. Но встает другой вопрос, мы создали много команд информационных, но их используют, начинается чрезвычайный флуд. Надо сделать, чтобы ответ отсылался в приват. Как? Легко, для этого существует переменная %0. Она содержит в себе имя запустившего команду. Давайте попробуем.
.cmdadd 0 wisperme /w %0 А-га!!! Я тебя узнал!
окей, мы добавили команду 'wisperme', не требующую доступа, которая при запуске открывает стандартное личное сообщения бнета (/w) и отсылает его запустившему юзеру. Просто? не то слово.
Рассмотрим более интересные переменные - перменные, называемые Аргументами. Этих переменных может быть до девяти (%1 %2 %3 - %9, и они будут содержать информацию, заданную пользователем при запуске. Зачем это нужно? Давайте рассмотрим пример!
.cmdadd 0 serve /me относит стакан холодного %1 пользователю %2, за счет %0.
Итак, команда serve. Переменная %1 будет содержать название напитка в родительном падеже. Переменная %2 - Имя того, кому напиток будет отнесен. Переменная %0 - имя запустившего.
4F.Inviz: .serve чая Lesnik[Bofs] 4F.Bot относит стакан холодного чая пользователю Lesnik[Bofs] за счет 4F.Inviz.
не очень сложный пример, показывает, что ващи возможности очень велики, даже всего с двумя переменными, доступными в CC. Нужно больше? Тогда нужно использовать Visual Basic Script. О нем в следующей статье
Вот вам примерчик небольшого меню:
.cmdadd 0 help /w %0 Hello, %0. Need help? Type some of these: .info .clan .chief .site .contacts
.cmdadd 0 info /w %0 I am a bot of a <ваш клан> clan, And this is a help menu. Choose another commands for more info.
.cmdadd 0 clan /w %0 The clan <ваш клан> is one of the best clans in Russia. If u want to join, u must have 15 level and 50% stats.
.cmdadd 0 chief /w %0 Our chief - <Имя вождя> is a great friend, good organizator and just a perfect man to lead us!
.cmdadd 0 site /w %0 U can visit our site - <Адрес сайта>.
.cmdadd 0 contacts /w %0 You can contact us by ICQ - <Номер Аськи>, Mail - <Почтовый ящик>, and @ channel 'clan <ваш клан>'.
Интересности Мало кто знает, что можно дублировать системные команды с толоком. Например все знают о встроенной команде pingme. Она требует доступ 40. Но если добавить Custom Command с таким же именем и доступ 0... то, результат будет таким:
.cmdadd 0 pingme Your ping at login was 10937 ms. Good Luck!
Допустим, у 4F.Inviz - права 40, а у Scorpiо) - права 20. Стандартная команда требует 40 прав, а наша - 0.
4F.Inviz: .pingme //я вызываю команду 4F.Bot: Your ping at login was 102 ms. //Бот говорит правду, т.к. запустилась стандартная команда. Scorpi: Пинг? Scorpi: .pingme 4F.Bot: Your ping at login was 10937 ms. Good Luck! Scorpi: 10937!!! WTF?!
И так делается с любыми командами, например, если сделать шуточную команду .whoami (системная говорит ваш доступ), такой:
.cmdadd 0 whoami U, %0 , Just a little noob of BNet. То тем, у кого нет прав 40 (стандартная команда требует 40) буду тполучать от бота сообщения о том, что они маленькие нубы. А те у кого есть 40 - бот им будет послушно отвечать, что у них 40 права. Изменение доступа в командах, вшитых в бота К сожалению, стандартные команды не появляются в списке команд, так что их на первый взгляд изменить невозможно. Но это на первый взгляд. Есть один параметр, который все же можно отредактировать - изменение доступа на команду. Но немногие даже могу предположить об этом.
Как? Допустим, вы хотите сделать избитую команду pingme, чтобы её смогли использовать все. Как же!?
Заходите в папку со стелсботом. Находите файл access.ini. Открывайте его блокнотом и внизу вписывайте pingme=0 (или другая команда=нужный доступ), сохраняйте, перезапускайте бота, если запущен. Все! готово!
Злоключение Итак, мы научились создавать команды, узнали что такое доступ, сделали простенькое меню инфомрации и меня доступ на стандартные команды. Ну вот, третья статья подходит к концу, далее в планах перевести ридми на русский, написать статью о скрипте. Появилось разнообразие, не так ли? |