Бот содержит следующий функционал:
- Выводит информацию о лобби во время загрузки матча (батлтеги, уровни аккаунтов, кто с кем в группе)
- Выводит выбранные таланты прямо во время матча (при загрузке изображений по FTP)
- Послематчевая статистика с дополнительными параметрами
- Послематчевый список талантов
- Порядок драфта (для матчей, где есть драфт)
- Результаты сыгранных матчей за день
- Команды !матч и !таланты в twitch-чате (подробнее в разделе с командами)
The bot offers the following functionality:
- Displays lobby information during match loading (BattleTags, account levels, who is grouped with whom)
- Displays selected talents during the match (when using FTP for image loading)
- Post-match statistics with additional parameters
- Post-match talents list
- Draft order (for matches featuring a draft phase)
- Results of matches played during the day
- !game and !talents commands in the Twitch chat (details in the commands section)
- Сохранённые изображения публикуются на Imgur или на FTP (доступ к FTP могу предоставить по запросу)
- При использовании Imgur выбранные таланты в текущем матче не будут публиковаться
- Для работы бота понадобится второй twitch-аккаунт, который будет работать в качестве бота
- Примеры изображений можно посмотреть на сайте бота
- Saved images are published to Imgur or FTP (FTP access available upon request)
- When using Imgur, selected talents for the current match will not be published
- A second Twitch account will be needed to operate as the bot
- Example images can be viewed on the bot's website
Если у вас уже установлен бот, а вы хотите обновить его, то перейдите в раздел Обновление до актуальной версии.
- Установить стабильную версию Python3
- Установить бота (вводить в командную строку)
Примечание: Для открытия командной строки, нажмите win+r, введите cmd, нажмите enter.
Примечание: Если при вводе последней команды выводит ошибку: ERROR: Cannot find command ' \git' - do you have 'git' installed and in your PATH?, то требуется установить git.
Примечание: Если появляется ошибка о недоступности github.com, то блокировать доступ к сайту может Zapret для обхода DPI или VPN.
py -m pip install -U git+https://github.com/MrMalina/httshots.git- Перейти в директорию с ботом
Примечание: Если python установлен в директорию по умолчанию, то бот располагается в c:\Users\Пользователь\AppData\Local\Programs\Python\Lib\site-packages\httshots\.
- Скопировать конфигурационный файл
Перейти в директорию config сделать копию файла example_ru.ini или example_en.ini и переименовать её в config.ini
- Заполнить конфигурационный файл
Примечание: Более подробная настройка параметров twitch_client_id, twitch_client_secret, twitch_bot_id и twitch_owner_id описана в секции Подключение к Twitch.
Примечание: Вероятно, понадобится выдать права модератора аккаунту-боту, так как при частом использовании команд, твич отстранит его за спам в чат.
- Запустить бота
Запуск бота осуществляется через командную строку:
py -m httshotsДля запуска бота с параметрами:
py -m httshots ПАРАМЕТРЫСписок параметров:
- IGNORE_PREV_MATCHES - при запуске бота НЕ учитывать ранее сыгранные сегодня матчи. Приоритет выше, чем параметр add_previous_games в конфигурационном файле
- STARTING_FROM_HOUR - не учитывать сыгранные матчи до указанного часа. То есть, указав STARTING_FROM_HOUR 18, все матчи до 18 часов не учитываются при запуске бота
- SEND_BATTLE_LOBBY - при запуске бота выводить информацию о лобби, если её можно получить. Приоритет выше, чем параметр send_previous_battle_lobby в конфигурационном файле
- URL_TO_CONSOLE - дублировать все ссылки в консоль. Приоритет выше, чем параметр duplicate_url_in_console в конфигурационном файле
- GET_TWITCH_ID <account_name> - Получить идентификатора указанного аккаунта. После получения идентификатора бот будет выключен
Например, чтобы запустить бота с игнорированием предыдущих матчей и дублированием ссылок в консоль:
py -m httshots IGNORE_PREV_MATCHES URL_TO_CONSOLEИли, например, для игнорирования матчей, сыгранных до 18 часов, и дублирования ссылок в консоль, команда будет выглядеть так:
py -m httshots STARTING_FROM_HOUR 18 URL_TO_CONSOLEДля применения бота требуется выполнить следующие шаги:
- Создание приложения Twitch. Приложение необходимо для работы с API Twitch
- Перейдите по ссылке Twitch Developer Console
- Залогиньтесь с основного аккаунта
- Создайте приложение (не расширение!) - кнопка подать заявку:
- Заполните название (далее оно нигде не будет фигурировать)
- Добавьте
http://localhost:4343/oauth/callbackв OAuth Redirect URL и нажмите Добавить. Новую пустую строку удалите. - Категория -
Chat Bot - Тип клиента -
Конфиденциально
- Перейдите в управление созданным приложением
- Скопируйте Идентификатор клиента в переменную twitch_client_id конфига
- Скопируйте Секретный код клиента в переменную twitch_client_secret конфига
- Получение идентификаторов аккаунта владельца и аккаунта бота
- Зайдите в консоль и введите
py -m httshots GET_TWITCH_ID ИМЯ_АККАУНТА, вместо ИМЯ_АККАУНТА введите то имя аккаунта, для которого хотите получить ID - Например, введя
py -m httshots GET_TWITCH_ID malinatest, в ответ будет выведена строкаUser: malinatest - ID: 660661446. Если ничего не выводится, значит такого аккаунта не существует! - Скопируйте ID аккаунта-владельца в переменную twitch_owner_id конфига
- Скопируйте ID аккаунта-бота в переменную twitch_bot_id конфига
- Зайдите в консоль и введите
- Авторизация аккаунта-бота и приложения аккаунта-владельца
- Запустите бота
py -m httshots- Вариант 1. Разлогиньтесь на твиче и залогиньтесь на аккаунте-боте
- Вариант 2. Откройте браузер в режиме инкогнито и залогиньтеся там на аккаунте-боте
- Перейдите по ссылке для стандартных прав http://localhost:4343/oauth?scopes=user:bot+user:read:chat+user:write:chat
- Авторизуйтесь. Если всё прошло успешно, то в браузере будет выведено
Success. You can leave this page.
- Запустите бота
- Связь канала аккаунта-владельца и приложения аккаунта-владельца
- Залогиньтесь на аккаунт-владельца
- Перейдите по ссылке http://localhost:4343/oauth?scopes=channel:bot
- Авторизуйтесь. Если всё прошло успешно, то в браузере будет выведено
Success. You can leave this page.
- Завершение настройки
- Отключение бота, нажав CTRL+C в консоли, или закрыв консоль
- Настройка подключения к twitch завершена. Не забудьте настроить конфигурационный файл до конца
Для отображения талантов прямо из матча, создайте в директории config::ftp_site_name/config::ftp_folder/ директорию curname.
Итого должно получиться, например: /httshots.ru/mln/curgame.
Перенесите в эту директорию файл index.html из директории httshots/files/
Файл index.html сгенерирован через генеративную сеть искусственного интеллекта.
Если включен параметр score_use в конфигурационном файле, то при завершении каждого матча будет обновляться файл httshots/files/upload/score.html.
Чтобы вывести результат на экран, создайте в OBS новый Источник - Браузер, установите галочку на Локальный файл. Укажите путь к файлу. На экране появится надпись VavaViva. Измените Ширину и Высоту по вкусу, больше изменений не требуется.
При запуске бота счёт обновляется.
Ниже представлен список команд, которые доступны в чате трансляции, где активен бот.
!game <[cmd]> <[param]>или!матч <[команда]> <[параметр]>- команда позволяет вывести информацию о прошлом сыгранном матче.!gameили!матчбез параметров - результат последнего сыгранного матча!game scoreили!матч счёт- уровни команд и количество убийств!game bansили!матч баны- список забаненных персонажей. Имена персонажей указываются так, как применимы в реплее игры!game draftили!матч драфт- порядок драфта в рейтинговом матче!game heroesили!матч герои- список персонажей в матче!game meatили!матч мясо- сколько мяса не поднял Мясник!game <hero>- таланты, которые были взяты у персонажа!game <hero> scoreили!матч <персонаж> счёт- итоговый KDA!game <hero> <параметр>- значение указанного параметра, если он будет обнаружен. Список параметров можно посмотреть, например, тут!gamesили!матчи- результаты сыгранных матчей!talents <hero>или!таланты <персонаж>- таланты персонажа в текущем матче. Таланты начинают публиковаться примерно через минуту после начала матча
Нет гарантии, что будет корректно выводиться информация по своей игре. А именно:
- Информация о лобби может обманывать по списку команд
- Информация о матче, талантах и прочее может выводить информацию не в правильном порядке героев
- Нельзя получить информацию о том, какими способностями сколько нанесено урона
- Значения на изображениях могут быть немного сдвинуты влево
- Ввести в консоль
py -m pip install -U git+https://github.com/MrMalina/httshots.git- Проверить, не изменился ли конфиг - сравнить example_ru.ini и ваш config.ini на предмет появления новых полей
- Если есть новые поля - перенести их в config.ini и заполнить по усмотрению
При обновлении игры бот не сможет читать реплеи.
- Проверка новой версии бота
- Зайдите на страницу бота httshots и проверьте, есть ли актуальная версия под новую версию хотса.
- Если новая версия есть - обновитесь согласно разделу обновления
- Проверка обновления игровых данных
Если в обновлении были обновлены изображения талантов/названия талантов или добавлены новые таланты, то потребуется обновление json файла с информацией о героях. Если таких изменений не было, то следующий шаг можно опустить.
- Обновление файла с игровыми данными
- Файл с игровыми данными можно обновить самостоятельно через утилиту HeroesDataParser. Потребуется извлечь
herodata. - Напишите мне и подождите, когда обновится бот.
Примечание: Пользоватся ботом можно и со старым файлом с игровыми данными, но возникнут ошибки, если в матче выберут талант, который был добавлен или изменено его изображение/название.
- С помощью приложения CascView извлечены файлы из хотса
- Библиотека для работы с twitch - twitchio 3.0
- Файл с информацией о героях (herodata.json) получен с помощью HeroesDataParser
Авторские права 2025 MrMalina
Исходный код этого проекта опубликован в соответствии с лицензией MIT. Для получения дополнительной информации см. прилагаемый файл LICENSE.