RusTrivia - VBS скрипт, предназначенный для использования совместно с программой StealthBot версии, не ниже 2.6. Скрипт создаёт своеобразную викторину на Battle.net канале, задавая вопросы, находящимся там пользователем. Каждый новый вопрос берётся из фаила questions.txt (по умолчанию), является случайным, и не повторяется до тех пор пока не будут заданы все вопросы. Вопросы задаются через определённое время. Если на какой-то вопрос пользователи не могут ответить то бот выдаёт подсказки, открывая по 1 букве ответа через определённое время. Колличество открываемых букв устанавливается администратором бота. Если за несколько открытий никто так и не угадал, то бот скажет правильный ответ, подождёт некоторе время и задаст следующий вопрос. Интервал времени между вопросами в 2 раза больше интервала между подсказками (по умолчанию). Каждый пользователь, правильно ответивший на вопрос получает 1 очко. Бот строит список всех пользователей, отвечавших когда либо на вопросы и сортирует его по колличеству правильных ответов. Набрав в чате команду .top5 можно посмотреть 5 самых активных пользователя. Когда человек на канале набрирает команду .rank бот отправляет ему в приват сообщение, в котором указывает его место в общей статистике и колличество набранных очков. Синонимами команды .rank являются команды .stats и .score. В статистику попадают все, у кого есть хотябы 1 правильный ответ. Скрипт сохраняет всю статистику в папке бота в фаил scores.txt (по умолчанию) при любом правильном ответе или выходе из программы и загружает из её при запуске.
Команды скрипта, которые могут использовать все пользователи на канале: .top5- показывает 5 самых активных пользователей .rank (.stats .score)- отсылает пользователю информацию о его местоположении в статистике и колличестве набранных очков .help- выводит на канал список основных команд .usercount- выводит на канал число пользователей, ответивших на вопросы ... и не только на канале. Если послать команду боту в приват, то он ответит в приват пославшему. Это правило действует и для администраторских команд.
Управление скриптом Кроме пользовательских команд есть ещё и команды, предназначеные для управления скриптом. Для того чтобы использовать эти команды нужно сначала установить себе, боту и другим необходимым пользователям необходимый уровень доступа. Будем считать, что скрипт уже установлен и находится в папке с ботом в фаиле script.txt.
Установка уровня доступа пользователям: Запускаем бота. Входим в меню Bot. Нажимаем Userlist Manager.
Появляется следующее окно:
Вписываем имя необходимого пользователя в поле Username и даём ему доступ от 0 до 100. Чем больше доступ, тем больше прав имеет пользователь. О всех уровнях доступа и правах можно прочитать в фаиле readme, который находится в папке с ботом. Для того, чтобы пользователь мог управлять скриптом RusTrivia необходимо установить доступ, не меньше 50 (по умолчанию, как изменить доступ для управления скриптом написано дальше). После того, как имя и доступ введены необходимо нажать Add User, затем тоже самое для всех остальных пользователей. Не забудьте добавить самого бота в список, в противном случае скрипт не будет управляться из окна бота. В конце нажимаем Done, тем самым сохраняя список. Если прото закрыть окно, то список не сохранится. Список пользователей можно изменять, редактируя фаил users.txt или специальными командами (подробнее об этом читайте в фаиле бота readme).
Все пользователи, с доступом больше или равным 50 (по умолчанию) могут пользоваться специальными управляющими командами, например запускать, останавливать скрипт, менять имя фаила с вопросами и т. д.
Команды скрипта, которые могут использовать пользователи с доступом, необходмым для управления скриптом: .ahelp- показывает основные админские команды .pingmeenable- разрешает боту отвечать на .pingme (команда на стадии разработки) .pingmedisable- запрещает боту отвечать на .pingme (команда на стадии разработки) .file <имя фаила с вопросами>- позволяет сменить фаил с вопросами на другой .filename- показывает текущее имя фаила с вопросами .trivia- запуск/остановка скрипта. При этом ранее заданные вопросы повторяться не будут. Скрипт не запустится, если вопросы не загружены. .triviarestart- перезапуск скрипта. Ранее заданные вопросы будут повторяться. Администраторы бота могут пользоваться командами .top5, .rank, .help, .usercount, как и обычные пользователи.
Установка скрипта Прежде всего надо скачать скрипт и вопросы. Последняя версия того и другого всегда доступна сдесь. Заходим туда, открываем фаил с последней версией скрипта в браузере (это обычный текстовый фаил), жмём Сохранить как, сохраняем скрипт и вопросы в папку с ботом. Скрипт под именем script.txt а вопрсы questions.txt. Вероятно в папке с ботом уже существует старый фаил script.txt, его необходимо заменить. После того как скрипт сохранён открываем его блокнотом и ищем следующие строки: 'Путь к фаилам public const ScoreFilePath = "C:\Program Files\StealthBot\scores.txt" 'фаил в который бот будет записывать кол-во набранных очков public const QuestionFilesDir = "C:\Program Files\StealthBot\" 'директория фаилов с вопросами QuestionFileName = "questions.txt" 'имя фаила с вопросами То что выделено красным необходимо заменить на путь к папке, в которой находятся вопросы. Чтобы узнать его необходимо нажать правой кнопкой по фаилу questions.txt, выбрать Свойства, необходимый нам путь будет находится в графе Размещение. Копируем то что находится справа от этой графы и вставляем в текстовый фаил. Далее для проверки можно запустить бота, зайти в меню Settings и нажать Reload Script. Если путь указан неверно то бот об этом напишет в своём консоле. Проверьте, чтобы в конце строки QuestionFilesDir был поставлен символ "\" (без кавычек), иначе вопросы не будут найдены. Далее можно запускать бота на канал, набирать .triviaи мучить народ вопросами... Только не забудьте себе выставить необходимый доступ.
Если почитать фаил script.txt дальше, то можно найти ещё несколько очень полезных настроек: public const trivAccess = 50 - изменяя этот параметр можно сменить уровень доступа к Trivia администраторским командам. Если поставить число, меньше 0, то скриптом смогут управлять все пользователи. public const nHints = 4 - этот параметр устанавливает число подсказок. scTimer.Interval = 10100 - время между подсказками в миллисекундах (чтобы перевести в секунды надо поделить на 1000). Внимание! Установка параметра scTimer.Interval слишком малым может привести к тому, что бота будет банить за флуд в батлнете (на 20 минут каждый раз). public const fast_question = False - этот параметр определяет сразу ли задавать вопрос после удачного ответа пользователей, или нужно подождать время, которое определяется параметром timer_division. По умолчанию выключено. Чтобы включить нужно изменить значение на True. public const timer_division = True - этот параметр определяет время через которое будет задан новый вопрос после удачного ответа. Если стоит в True, то это время в 2 раза меньше времени между подсказками. public const flood_p_arec_time = 25 - колличество минут через которое бот попытается подключиться к батлнету, если был забанен за флуд. Если установить в 0 - то бот не будет делать попыток подключения.