Главная » Статьи » Прочее

Боты на Battle.net

05-12-2016
Введение в цикл


Вступление в введение.
Это - I-я статья из серии 'Боты от Инвиза' (Инвиз, как видно, II-й мой ник). В данной работе вы узнаете в теории, что такое бот, как он работает и что возможно с ним сделать.
Что такое сеху?
С бурным развитием Battle.net культуры, в наши головы явно вбились стереотипы о нужных и не нужных аттрибутах каждого клана. Клан - в I-ю очередь коллектив игроков - маниаков и так себе. Когда игроков объединяет лишь подпись после ника, игрокам мало помалу приедается клан и они переходят в иной. Если вы посмотрите на всем известном показателе, как говорится, нашей русской культуры - на канал Frozen Throne Rus-1, то вы увидите, что 90% всех присутствующих - в кланах. И если сравнивать кланы по названиям, то они совершенно различные и их большое количество. Отчего так? Так как клан,в основном собственном в РФ, да и в мире, - извините, метод неудавшихся в реальной жизни людей объеденить народ, который бы просто не пошел за ним в любом ином ситуации. И все к друг другу переходят, постоянная текучка, кланы распадаются, т.к. игроки покидают клан. Как данного избежать? надо создать игроков необходимым техническим оборудованием (так я его называю.). Это как для хорошего поэта в революционное время отстать от него и дать писать собственные шедевры. Т.е. обеспечить некую биосферу для обитания подобного редкого индивида, как соклановец сознательный. Естественно, это в первую очередь сайт, регулярные мероприятия, однако и не последнюю функция играет здесь бот.

У массы людей сложился стереотип, что бот, это сидящая на канале железка, которая спамит канал с предложениями 'вступить в настоящий клан, все на канал anal' и говорящая фразы 'ping blya, vremya blya'. Фактически, бот - оружие для творчества. Бот имеет возможность развлечь посетителей, обеспечить ненавязчивую рекламу, необходимую информацию, а для тех кто знает язык Visual Basic Script, для тех это в целом безграничный океан свободы самовыражения.

В дальнейших уроках, я расскажу о том, где скачать новую версию, как определить бота, как настроить, расскажу о командах, приветствиях, скриптах, маленьких хитростях и стилизации. Как почетый ботмастер бывшего СНГ, я могу с уверенностью высказать, что бот - такая вещь, которую нельзя выпускать из вида.


Обзор ботов.


Итак, мы решились: Боту - жизнь! и встал основной вопрос: какого бота выбрать? В действительности на данный вопрос возможно ответить достаточно просто. Для данного требуется провести сопоставление различных ботов.

1) Trivia Bot.Тривиа с английского языка переводится, как викторина в вольном переводе. Отсюда и важнейшая задача - проводить викторины на канале. Бот устанавливается просто, имеет простой интерфейс, неплохой интерфейс составления вопросов и ответов к ним, интересную викторину, ОДНАКО имеет так же куча недостатков. Очень не хватает задач для модерации канала, имеет обывновение вылетать и имеет скудный запас вопросов (около 150) в самом начале и то по старкрафту лишь. Также, бот не поддерживает CD-Key от Warcraft III и TFT. Вот подобные пироги. Я, попользовавшись 15 мин., решил все таки остановиться на следующем представителе бот-семейства.
2)STEALTHBOTStealth - собственного рода герой. Он составляет 2 г. отличный бесплатный продукт, выпускает обновления, его сайт нередко падает, однако он еще и успевает отвечать на большое число вопросов на форуме. Герой! Stealthbot по праву называется наиболее распространенным и, говоря мягко, лучшим ботом в мире. До неприличия правильное число настроек, возможность делать собственные команды и писать скрипты. Заключительное - совершенно гениально. С ними, мы познакомимся в одних из последних уроков. Прост в инсталляции и в настройке. Минус - британский язык. Для новичков - крайне отталкивающе. Однако я опишу весь интерфейс, чтоб не было проблем никаких, даже у наиболее скромных и робких новичков. Существую некие русификаторы, сделанные при поддержки Restorator'a и остальных программ распаковки ресурсов EXE'шников. Могу вам высказать, что ставить их бессмысленно, т.к. они не переводят и 3-х сотых всего текста. Стелсбот поддерживает ключи от всех игр от близзарда, так что проблем с этим никаких не будет.
3) Иные боты.Иные боты, в основном, написаны новичками или крайне много времени назад. Когда-то многие были конкурентоспособные с ботом от Стелса, однако позже перестали выпускать обновления и все. Се ля ви, побеждает сильнейшний.

Выбрали?
Естественно, выбор весьма невилик: Или стелсбот или стелсбот. Неплохая альтернатива? Это даже не печально,
т.к. мы просто будем использовать профессиональный бот, крайне профессионально. И я вам в этом помогу.

А что же из себя бот демонстрирует?
Бот - отдельная от игры программа. Она использует ваш CD-Key, Ч/з BNLS (подробности в работе о BNET) заходит на канал и сидит там как обыкновенный пользователь. Бот имеет различные задачи, который мы будем активно использовать, к примеру, при помощи стелсбота, возможно играть орел-решка. И основное, что это встроенная возможность, а многие из вас, даже об этом и не знали. Бот имеет возможность говорить пинг пользователям,
что как правило воспринимается, как самое важное, однако это не так. Буквально - это игрок, который сидит на канале и утверждает то, что от него нужно . Или же возможно провести параллель с ребенком. Ребенок утверждает взрослым то, чему его научат и специально вы выступаете в роли няньки данного ребенка. Ребенок станет умнее, если вы приложите усилия, однако не станет, если вы не хотите эти усилия прикладывать. Тут все находится в зависимости от вас.

Краткий F.A.Q., как заключение I-ой работы цикла
Q:Могут ли некоторое количество ботов сидеть на одном ключе?
A:Не-а. Здесь все как и с обычной игрой. Нельзя, вообщем.

Q:Я скачал бота, запустил, а на канале его не вижу.
A:Его надо настроить, рассмотрим это в следующих статьях.

Q:А как сделать ..?
A:Подождите немножко, в следующих статьях я опишу базовые вещи, которые как правило нужны рядовому боту.

Q:А что такая короткая статья?
A:В моих планах разбить цикл на статей 6-7, +приложения. 


Установка и Настройка

Вступление в Статью
II-ая часть из этой серии. Рассказывает об инсталляциии и настройке бота.
Установка
Вы когда нибудь устанавливали 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
Опция, при помощи коей бот кикает всех, кто 'кричит'. Т.е. пишет больше 5 символов огромными
буквами к ряду.
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 - Канал бота на данный миг
% - Имя входящего
%1 - Имя Бота
%p - Пинг входящего
%v - Версия Бота
%a - Доступ к базе (попозже уточним)
%f - Флаги в базе (аналогично)
%t - Время на компьютере, где установлен бот. А не у входящего
%d - Дата на компьютере, где установлен бот. А не у входящего

Пару примеров приветствия:
При установленном Wisper Greet Messages
Hello % . 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.

Не правда ли просто?
Вот еще 1 пример, при выключенном Wisper Greet Messages.
/me [ %t :: Event] % has joined the channel with ping %p ms.

Это сообщение будет выглядеть так, если в без двадцати 10 на канал зайдет 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 - случайно выбранное имя человека на канале.
Так же доступны 3 иных кнопки - 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>
Итак, III-я заметка из цикла боты от инвиза, посвященная кастом коммандсам.
Права и Флаги
У любого человека входящего на канал существуют определенные права и флаги. Изначально, у человека, неизвестного боту права и флагов нет. Права ознчают, какие в точности и сколько команд вы сможете
запустить. К примеру, стандартная команда pingme просит права 40, и 'левый человек' не сумеет
применять эту команду. О флагах мы поговорим позже.
Что за ...?
Custom Commands (Пользовательские Команды) - та фича, которая придала боту столько популярности. В
2-х словах: 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 Бот Наш бот - наилучший во всем мире. Правда, он пока что небольшой.

4f.Inviz: .Бот
4f.Bot: Наш бот - наилучший во всем мире. Правда, он пока что небольшой.

Да! Получилось. I шаг к умному боту состоит.

Advanced CC

Итак, мы лишь что научились создавать команды. Однако встает иной вопрос, мы создали масса команд
информационных, однако их применяют, начинается чрезвычайный флуд. Надо выполнить, чтоб ответ
отсылался в приват. Как? Без труда, для данного есть переменная %. Она содержит в себе имя
запустившего команду. Давайте попробуем.

.cmdadd wisperme /w % А-га!!! Я тебя узнал!

окей, мы добавили команду 'wisperme', не требующую доступа, которая при запуске открывает стандартное
личное сообщения бнета (/w) и отсылает его запустившему юзеру. Просто? не то слово.

Рассмотрим больше интересные переменные - перменные, называемые Аргументами. Таких переменных
может оказаться до девяти (%1 %2 %3 - %9, и они будут содержать информацию, заданную пользователем при
запуске.
Зачем это необходимо? Давайте рассмотрим пример!

.cmdadd serve /me относит стакан холодного %1 пользователю %2, за счет %.

Итак, команда serve.
Переменная %1 будет содержать имя напитка в родительном падеже.
Переменная %2 - Имя того, кому напиток будет отнесен.
Переменная % - имя запустившего.

4f.Inviz: .serve чая Lesnik[Bofs]

4f.Bot относит ст. холодного чая пользователю Lesnik[Bofs] за счет 4f.Inviz.

так себе трудный пример, показывает, что ващи возможности весьма велики, даже всего с 2-мя
переменными, доступными в CC. Необходимо более? Тогда необходимо применять Visual Basic Script. О нем в
следующей статье

Вот вам примерчик небольшого меню:

.cmdadd help /w % Hello, %. Need help? Type some of these: .info .clan .chief .site .contacts

.cmdadd info /w % I am a bot of a <ваш клан> clan, And this is a help menu. Choose another commands for more info.

.cmdadd clan /w % The clan <ваш клан> is one of the best clans in Russia. If u want to join, u must have 15 level and
50% stats.

.cmdadd chief /w % Our chief - <Имя вождя> is a great friend, good organizator and just a perfect man to lead us!

.cmdadd site /w % U can visit our site - <Адрес сайта>.

.cmdadd contacts /w % You can contact us by ICQ - <Номер Аськи>, Mail - <Почтовый ящик>, and @ channel
'clan <ваш клан>'.

Интересности
Мало кто знает, что возможно дублировать системные команды с толоком. К примеру все знают о встроенной
команде pingme. Она требует доступ 40. Однако если положить Custom Command с подобным же именем и доступ ...
то, результат будет подобным:

.cmdadd pingme Your ping at login was 10937 ms. Good Luck!

Предположим, у 4f.Inviz - права 40, а у Scorpiо) - права 20. Стандартная команда требует 40 прав, а наша - .

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 whoami U, % , Just a little noob of BNET.
То тем, у кого нет прав 40 (стандартная команда требует 40) буду тполучать от бота сообщения о том, что
они мелкие нубы. А те у кого есть 40 - бот им будет послушно отвечать, что у них 40 права.
Изменение доступа в командах, вшитых в бота
К несчастью, стандартные команды не возникают в списке команд, так что их с I-го взгляда изменить
нереально. Однако это с первого взгляда. Есть 1 параметр, который все-таки возможно отредактировать -
изменение доступа на команду. Однако немногие даже могу предположить об этом.

Как? Предположим, вы хотите сделать избитую команду pingme, чтоб её сумели применять все. Как же!?

Заходите в папку со стелсботом. Находите файл access.ini. Открывайте его блокнотом и внизу вписывайте
pingme= (или иная команда=нужный доступ), сохраняйте, перезапускайте бота, если запущен. Все! готово!

Злоключение
Итак, мы научились создавать команды, узнали что такое доступ, сделали простенькое меню инфомрации и
меня доступ на стандартные команды.
Ну вот, III-я статья подходит к концу, дальше в планах перевести ридми на русский, написать статью о
скрипте. Возникло многообразие, не так ли?



Категория: Прочее | Добавил: Адмирал (05-12-2016 в 13:29:03)
Просмотров: 5004 | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта