Вторник, 30.04.2024, 08:08


Главная
Регистрация
Вход
Head is Out There Приветствую Вас Висп | RSS  
Меню сайта

Категории каталога
StealthBot [6]
Небольшое руководство по StealthBot
Правила [1]

Наш опрос
Нужно ли нам DOTa подразделение?
Всего ответов: 407

Главная » Статьи » FAQ » StealthBot

StealthBot Custom commands
Итак, третья статья из цикла боты от инвиза, посвященная кастом коммандсам.

Права и Флаги
У каждого человека входящего на канал есть определенные права и флаги. По умолчанию, у человека, неизвестного боту права 0 и флагов нет. Права ознчают, какие именно и сколько команд вы сможете запустить. Например, стандартная команда pingme требует права 40, и 'левый человек' не сможет использовать эту команду. О флагах мы поговорим потом.

Что за ...?
Custom Commands (Пользовательские Команды) - та фича, которая придала боту столько популярности. В двух словах: CC - система создания новых команд для бота. Давайте разберемся, что из себя представляет команда в Стелсботе.

Рассмотри команду:

4F.Inviz: .pingme
4F.Bot: Your ping at login was 120 ms.


1 блок - Триггер. Помните, мы видели в опциях точку? Да-да, именно. Триггер - знак, с которого начинаются все команды. Он выступает в качестве переменной, так что его можно поменять в любое время. Обычно - точка. В примере отмечен красным - .

2 блок - Имя команды. Это часть команды, которая идет после триггера. Фактически это её идентификатор. Желательно команды называть лаконичными, но в то же время, отражающими свою суть. Яркий пример - .information . Вполне. В примере отмечено зеленым цветом pingme

3 блок - Ответ бота на команду. Самое важное и нужное - что будет делать бот, когда увидит на канале команду? Это и есть ответ бота. На примере отмечен Your ping at login was 120 ms. оранжевым цветом.

4 блок(необязательный) - Переменная. Т.е. значение не постоянное. В данном случае числовое значения пинга в милисекундах. На примере - желтым цветом 120

5 блок(невидимый) - Необходимое (или буквенное значение для флагов) числовое значение, для использования команды.


Итак, давайте посмотрим - Триггер установлен в самом начале в настройках. так? значит при создании оманды он нам не требуется. Далее, смотрим - переменная вовсе не обязательна. Так? да. То есть, чтобы создать команду, нам требуются следующие параметры:

Необходимый доступ, Имя команды, Ответ бота.

Для добавления команд, существует специальный интерфейс - Custom Commands Editor, он вызывается из меню бота. Но мы будем сразу работать как профи , т.е. напряму вводя боту команды с канала. Нам потом еще понадобится это и не раз. Мы будем пользоваться командой .cmdadd - Её синтаксис таков:

.cmdadd Уровень доступа Имя команды Ответ бота.

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

.cmdadd 0 Бот Наш бот - лучший во всем мире. Правда, он пока еще маленький.

Мы добавили команду с требованиями 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 (или другая команда=нужный доступ), сохраняйте, перезапускайте бота, если запущен. Все! готово!

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



Важное замечание!
В Версии 2.5 Custom Commands работют НЕКОРРЕКТНО! Так что придется использовать скрипты.

Категория: StealthBot | Добавил: PAND-or (11.06.2007)
Просмотров: 3594 | Рейтинг: 2.0/1 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Статистика каталога статей
Последние материалы Самое читаемое

Ud vs Танки

[09.07.2007]

DOUBLE ELIMINATION

[01.07.2007]

StealthBot Script

[11.06.2007]

StealthBot Setting

[11.06.2007]

Форма входа

Поиск

Друзья сайта
  • Clan Mipt

  • Статистика


    PAND-or © 2024