Хей! Это третий и заключительный гайд по команде !тык.
- Во втором гайде мы сделали выбор случайного зрителя из чата твича и объеденили его с первой командой.
- В этом гайде мы сделаем выбор случайного зрителя из чата VkPlay Live и объеденим все три действия в одно универсальное.
Кроме уже имеющихся программ и интеграции, нам понадобится модуль работы со списком зрителей на вкпл.
Взять его можно:
На момент написания гайда я использую стример.бот версии 0.2.2, миничат версии 0.12.4.β и интеграцию версии 1.0.2.
Настройка модуля
Мы скачали модуль работы со списком зрителей в вкпл. Теперь его надо импортировать в Streamer.bot. Для этого нажмите кнопку Import и перетащите скачанный файл в поле Import String. Если перетаскивание не работает -- откройте файл в Notepad++ или Sublime Text, скопируйте содержимое и вставьте его в Import String.
После этого в Actions появится группа [Services] VKPlay.
В ней мы видим четыре экшена:
- -- VKPlay: Code -- основной код модуля.
- -- VKPlay: Get Random Viewer -- интересующий нас экшн.
- -- VKPlay: Get Viewers -- экшн, для получения текущего списка зрителей.
- -- VKPlay: Get Viewers Count -- экшн, для получения текущего количества зрителей.
Чтобы экшены знали, с какого канала им брать информацию их надо настроить.
Кликаем на -- VKPlay: Get Random Viewer и в Sub-Actions дважды кликаем на Set argument %channel_name% to.
В Variable пишем название вашего канала. Его можно взять из адресной строки браузера. В моём случае это nuboheimer.
Такие же настройки делаем для -- VKPlay: Get Viewers и -- VKPlay: Get Viewers Count.
Для версии с исправленным рандомом необходимо создать глобальную переменную last_random_viewer.
Для этого нажимаем кнопку Variables.
В пустом области нажимаем правую кнопку мыши и выбираем Add Variable.
- В Variable Name пишем last_random_viewer
- В Value можно жмякнуть пробел
- Нажимаем Ok.
Настройка экшена
Переходим к настройке самого экшена.
Создаём экшн [VkPlay Live] Тык. Теперь немного рекурсии. Из сабэкшенов можно вызывать экшены. И именно это нам нужно, чтобы экшн [VkPlay Live] Тык смог получить случайного зрителя из чата вкпл.
Добавляем sub-action Core -> Action -> Run Action
В Action выбираем -- VKPlay: Get Random Viewer. Оставляем галочку Run Action Immediately.
Теперь нам надо записать полученного зрителя в предназначенную для этого переменную стримербота. Добавляем Set Argument:
- Variable Name: randomUserName0
- Value: %viewer%
Далее, дадим боту случайную строчку из вашего файла с фразами-ответами. Напомню, что делается это через Core -> File IO -> Read Random Line From FIle.
Не забываем про галочку Parse variables.
Для работы интеграции нам надо записать собранное сообщение в нужную переменную. Делаем Set argument:
- Variable name: message
- Value: %randomline%
Чтобы отправить сообщение на вкпл, воспользуемся интеграцией. Core -> C# -> Execute C# Method.
В появившемся окошке в Execute C# Code выбираем MiniChat Method Collection, в Method выбираем SendMessageVKPlay. Этот метод отправит на вкпл содержимое переменной %message%.
В целом, экшн готов, осталось подключить его вызов в нашу универсальную команду.
Помимо этого, можем добавить его активацию за баллы вкпл, по аналогии с твичём.
Активация за баллы
Чтобы интеграция увидела награду за баллы с вкпл, награду надо активировать вручную с запущенной интеграцией. Запускаем миничат и стримербот, проверяем, что в миничате не пропала авторизация для вкпл, переходим на свой канал и активируем нужную награду. После чего она добавится в список наград в интеграции.
Содаём нашему экшену [VkPlay Live] Тык триггер на награду Custom -> Minichat -> VKPlay -> Rewards -> название награды (у меня это !тык).
При желании можно вспомнить про экшн Тыкнуть из прошлых гайдов и добавить ему активацию за награду с обязательным вводом текста с вкпл.
Универсализация
Пришло время собрать нашего тык-франкненштейна. Добавляем в экшн Тык из первого гайда проверку, что команда была вызвана с вкпл. Копируем сабэкшн из прошлого гайда, в котором мы проверяли, что команда пришла с твича.
Для этого тыкаем на нужном сабэкшене правкой кнопкой мыши и выбираем Copy Sub-Action.
После тыкаем в пустом месте области sub-actions правкой кнопкой мыши и выбираем Paste Sub-Action.
Открываем вставленный саб-экшн и меняем value на VKPlay и do action на [VKPlay Live] тык.
Итог
Мы сделали экшн Тык, который срабатывает на команду !тык эту редиску или
!тык:
- Если пользователь задал цель тыка (эту редиску) выполняется созданный нами экшн Тыкнуть, который тыкает указанную цель, и может быть вызван отдельно наградой тыкнуть на твиче и вкп.
- Если пользователь не задал цель тыка, экшн определяет, откуда пришла команда, и вызывает экшн для твича или вкпл соответственно.
- Каждый из экшенов берёт случайного зрителя из чата соответствующей площадки и тыкает его.
Проверяем
Всем бобра!
Наш сборный гайд для команды !тык подошёл к концу. Если у вас остались вопросы -- пишите их в комментарии, в тг, в дискорд и приходите на стримы.
Видео-версии гайдов обязательно выйдут позже.
У меня были разные планы на дальнейшие гайды, но скорее всего, следующим будет гайд как сделать оповещения о фолловерах для всех площадок через стримербота.