Найти в Дзене

3. Гайд, как сделать команду с выбором случайного зрителя из чата на 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: Get Random Viewer и в Sub-Actions дважды кликаем на Set argument %channel_name% to. В Variable пишем название вашего канала. Его можно взять из адресной строки браузера. В моём случае это nuboheimer. Такие же наст
Оглавление

Хей! Это третий и заключительный гайд по команде !тык.

  1. В первом гайде мы сделали команду с выбором любой цели на любой площадке.
  2. Во втором гайде мы сделали выбор случайного зрителя из чата твича и объеденили его с первой командой.
  3. В этом гайде мы сделаем выбор случайного зрителя из чата VkPlay Live и объеденим все три действия в одно универсальное.

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

Взять его можно:

На момент написания гайда я использую стример.бот версии 0.2.2, миничат версии 0.12.4.β и интеграцию версии 1.0.2.

Настройка модуля

Мы скачали модуль работы со списком зрителей в вкпл. Теперь его надо импортировать в Streamer.bot. Для этого нажмите кнопку Import и перетащите скачанный файл в поле Import String. Если перетаскивание не работает -- откройте файл в Notepad++ или Sublime Text, скопируйте содержимое и вставьте его в Import String.

После этого в Actions появится группа [Services] VKPlay.

-2

В ней мы видим четыре экшена:

  1. -- VKPlay: Code -- основной код модуля.
  2. -- VKPlay: Get Random Viewer -- интересующий нас экшн.
  3. -- VKPlay: Get Viewers -- экшн, для получения текущего списка зрителей.
  4. -- VKPlay: Get Viewers Count -- экшн, для получения текущего количества зрителей.

Чтобы экшены знали, с какого канала им брать информацию их надо настроить.

Кликаем на -- VKPlay: Get Random Viewer и в Sub-Actions дважды кликаем на Set argument %channel_name% to.

-3

В Variable пишем название вашего канала. Его можно взять из адресной строки браузера. В моём случае это nuboheimer.

-4
-5

Такие же настройки делаем для -- VKPlay: Get Viewers и -- VKPlay: Get Viewers Count.

Для версии с исправленным рандомом необходимо создать глобальную переменную last_random_viewer.

Для этого нажимаем кнопку Variables.

-6

В пустом области нажимаем правую кнопку мыши и выбираем Add Variable.

-7
  • В Variable Name пишем last_random_viewer
  • В Value можно жмякнуть пробел
  • Нажимаем Ok.
-8

Настройка экшена

Переходим к настройке самого экшена.

Создаём экшн [VkPlay Live] Тык. Теперь немного рекурсии. Из сабэкшенов можно вызывать экшены. И именно это нам нужно, чтобы экшн [VkPlay Live] Тык смог получить случайного зрителя из чата вкпл.

Добавляем sub-action Core -> Action -> Run Action

-9

В Action выбираем -- VKPlay: Get Random Viewer. Оставляем галочку Run Action Immediately.

Теперь нам надо записать полученного зрителя в предназначенную для этого переменную стримербота. Добавляем Set Argument:

  • Variable Name: randomUserName0
  • Value: %viewer%
-10

Далее, дадим боту случайную строчку из вашего файла с фразами-ответами. Напомню, что делается это через Core -> File IO -> Read Random Line From FIle.

-11

Не забываем про галочку Parse variables.

-12

Для работы интеграции нам надо записать собранное сообщение в нужную переменную. Делаем Set argument:

  • Variable name: message
  • Value: %randomline%
-13

Чтобы отправить сообщение на вкпл, воспользуемся интеграцией. Core -> C# -> Execute C# Method.

-14

В появившемся окошке в Execute C# Code выбираем MiniChat Method Collection, в Method выбираем SendMessageVKPlay. Этот метод отправит на вкпл содержимое переменной %message%.

-15

В целом, экшн готов, осталось подключить его вызов в нашу универсальную команду.

Помимо этого, можем добавить его активацию за баллы вкпл, по аналогии с твичём.

Активация за баллы

Чтобы интеграция увидела награду за баллы с вкпл, награду надо активировать вручную с запущенной интеграцией. Запускаем миничат и стримербот, проверяем, что в миничате не пропала авторизация для вкпл, переходим на свой канал и активируем нужную награду. После чего она добавится в список наград в интеграции.

Содаём нашему экшену [VkPlay Live] Тык триггер на награду Custom -> Minichat -> VKPlay -> Rewards -> название награды (у меня это !тык).

-16

При желании можно вспомнить про экшн Тыкнуть из прошлых гайдов и добавить ему активацию за награду с обязательным вводом текста с вкпл.

Универсализация

Пришло время собрать нашего тык-франкненштейна. Добавляем в экшн Тык из первого гайда проверку, что команда была вызвана с вкпл. Копируем сабэкшн из прошлого гайда, в котором мы проверяли, что команда пришла с твича.
Для этого тыкаем на нужном сабэкшене правкой кнопкой мыши и выбираем
Copy Sub-Action.

-17

После тыкаем в пустом месте области sub-actions правкой кнопкой мыши и выбираем Paste Sub-Action.

-18

Открываем вставленный саб-экшн и меняем value на VKPlay и do action на [VKPlay Live] тык.

Итог

Мы сделали экшн Тык, который срабатывает на команду !тык эту редиску или
!тык:

  1. Если пользователь задал цель тыка (эту редиску) выполняется созданный нами экшн Тыкнуть, который тыкает указанную цель, и может быть вызван отдельно наградой тыкнуть на твиче и вкп.
  2. Если пользователь не задал цель тыка, экшн определяет, откуда пришла команда, и вызывает экшн для твича или вкпл соответственно.
  3. Каждый из экшенов берёт случайного зрителя из чата соответствующей площадки и тыкает его.

Проверяем

-19
-20

Всем бобра!

Наш сборный гайд для команды !тык подошёл к концу. Если у вас остались вопросы -- пишите их в комментарии, в тг, в дискорд и приходите на стримы.

Видео-версии гайдов обязательно выйдут позже.

У меня были разные планы на дальнейшие гайды, но скорее всего, следующим будет гайд как сделать оповещения о фолловерах для всех площадок через стримербота.