Автоматические Шаутауты + их вывод на экран в качестве оверлея!
Внимание! Данный материал рассчитан на то, что вы ознакомились с предыдущими статьями по SLCB, либо имеете представление о том как устанавливать скрипты и о программе в целом.
Streamlabs Chatbot: Основы
Streamlabs Chatbot: Основы ч.2
Events
Этот раздел, который можно найти в левом меню SLCB, позволяет создать автоматическое приветствие конкретного пользователя на его первое сообщение или подключение к каналу.
Важный момент: бот реагирует лишь один раз. Поэтому перед каждым стримом (если вдруг вы никогда не выключаете SLCB и компьютер), необходим рестарт SLCB чтобы зарядить ивенты по новой.
Нажимаем на «+» и создаем наш ивент. Или на «карандаш», если хотим отредактировать готовый ивент.
В поле Username вбиваем никнейм желаемого пользователя и нажимаем на иконку «лупа», чтобы имя скопировалось в строку Id.
[Зачем это реализовано таким образом, в мануале ничего не сказано. Я >предполагаю<, что можно создать несколько ивентов на одного пользователя. В таком случае, надо вбить в строку Username все тот же ник, а Id сделать отличным от первого ивента для того же пользователя. Но я не проверял этого, так что это лишь предположение из области ничем не подтвержденных теорий]
Далее следует контекстное меню Mode — после какого действия бот отреагирует на пользователя: Speak – после его первого сообщения в чате; Join – как только зайдет на канал.
Client Only – честно говоря, не знаю на что влияет этот параметр. По умолчанию он установлен на False, так его и оставляем.
Enabled – включить/отключить ивент. True – вкл. False – откл.
Volume – громкость звукового файла. Да, к ивентам можно назначить и звуковой файл в строк SFX File по аналогии с разделом Sound Files.
Message: Отклик бота на ивент, то есть появление нашего избранного пользователя. Пишем здесь персональное приветствие, ссылку на его канал и так далее.
После внесения нужной информации, нажимаем на кнопку Submit, чтобы изменения вступили в силу.
Да, для каждого индивидуального пользователя придется сделать отдельный ивент — без этого никак. Но процедура создания ивента и манипуляция копировать+вставить текст занимает не больше минуты, а в будущем сэкономит ваши силы и нервы ваших модераторов на печатании !shoutout команд, особенно, если у вас много друзей- стримеров. Также есть одна хитрость, которая позволит выдавать рядовой отклик бота на !shoutout команду, чтобы не приходилось для каждого ивента редактировать ссылку на дружественный канал. Об этом
далее.
Автоматические Шаутауты
Бот не может реагировать на собственные команды. Это значит, что если вы в сообщении ивента напишите !so mikulski_, то сообщение, конечно же, появится в чате, но !so команда не будет исполнена и ничего не произойдет. В свое время это поставило меня в тупик, ведь я
хотел, чтобы при появлении друга-стримера в чате появлялось стандартное !so сообщение, а на экране становился видным его аватар с ссылкой на канал. Впрочем, решение пришло ко мне достаточно быстро: всего-навсего нужен второй бот стороннего сервиса, который бы
считывал команду от SLCB, и ответом выдавал для SLCB !so команду на которую бы SLCB уже реагировал. Да, соглашусь, это несколько громоздкая система и требует чуть больше копировать/вставить движений, чем если назначить пару-тройку приветственных ивентов для
фаворитов, а для вывода шаутаутов на экран пользоваться руками. Но все же добавление нового пользователя в список все также занимает от силы пару минут, так что это все еще хорошее решение.
Для вспомогательных целей я пользуюсь Nightbot – https://nightbot.tv. Нужно просто залогиниться на сайте через аккаунт Твича и бот станет доступен. Также бота нужно будет назначить модератором — это пригодится. Впрочем, пользоваться можно любым другим ботом — принцип везде одинаков.
Прежде всего, нам нужна !so команда в разделе Commands SLCB. Примерно такого вида:
Привет! Зацени $targetname (переменная имени которое мы указываем боту) на канале $url (переменная с ссылкой на канал указанного пользователя).
На выходе это будет выглядеть так:
Привет! Зацени Mikulski_ на канале https://www.twitch.tv/mikulski_
Также можно задействовать переменную $game — которая покажет последнюю категорию которую транслировал стример.
Permission также можно поставить Moderator, чтобы бот реагировал на запросы Модератора и выше (для этого вспомогательного бота и нужно назначить модератором).
Порядок действий:
В SLCB создаем ивент и в Username вбиваем никнейм, жмем «лупу», выделяем текст в Id и копируем его. В Message, печатаем восклицательный знак и вставляем никнейм из буфера обмена (например: !mikulski_). Жмем Submit и переходим в Nightbot.
В найтботе переходим в раздел Commands – Custom (не забудьте в соседнем разделе Default отключить ненужные команды). И нажимаем кнопку Add Command, чтобы создать новую команду.
В строке Command печатаем “!” И вставляем ник из буфера обмена. В строке Message пишем !so, пробел и опять вставляем ник из буфера обмена. Userlevel устанавливаем на Moderator (если нужно) и подтверждаем изменения кнопкой Submit.
Вот и все! Теперь, когда пользователь появится в чате и напишет что-нибудь, то сработает такая цепочка:
!
SpaceMelodyLab прочел эту статью и подсказал как можно оптимизировать цепочку действий,
которую я описал выше. На самом деле, можно обойтись всего одной командой в Найтботе — таким образом не придется дублировать респонс из ивента. Всего навсего нужно подставить переменные, которые считывают никнейм следующие за командой:
В найтботе создаем команду (напр. !checkout) в респонс пишем: !so $(touser)
А во все ивенты SLCB вставляем в респонс: !checkout $targetname
Теперь, если мы захотим добавить нового стримера, то достаточно будет лишь сделать новый ивент и вставить шаблон.
Шаутаут-Оверлей
Осталось только поставить и настроить скрипт Shoutout Overlay https://github.com/camalot/chatbot-shoutout (как устанавливать скрипты описано в предыдущих статьях).
Импортируем скрипт в SLCB, выбираем Shoutout Overlay из списка, щелкаем по нему правой клавишей мыши и в контекстном меню выбираем Insert API key (я забыл об этом упомянуть ранее, но для работы некоторых скриптов необходимо проделывать эту процедуру).
В настройках скрипта мы увидим:
Shoutout Command – команда на которую будет реагировать скрипт. По умолчанию !so
Link Text – текст ссылки выводимой на экран. {username} — переменная.
Duration — длительность показа оверлея/виджета на экране в секундах.
Cooldown Time
Permission — права доступа.
А также две кнопки: Open Overlay In Browser – открыть виджет в браузере. Нажимаем эту кнопку и копируем адрес из строки браузера.
Создаем в OBS источник Браузер, ставим чек-бок «Локальный файл» и вставляем скопированный адрес (file/// – можно удалить и оставить все что дальше: C:/ и весь дальнейший путь). Длину и ширину указываем по размеру нашего экрана. И ставим галочки в чекбоксы «Выключать, когда невидим» и «Обновлять, когда становится активным».
Send Test Event – послать тестовое оповещение.
Далее идут настройки изображения виджета: цвета, тень, анимации и форма логотипа.
После окончания настроек не забудьте нажать в самом низу на Save Settings и обновить список скриптов кнопкой справа-вверху экрана. После чего отправляйте тестовое оповещение и смотрите результат. Как видите, ничего особенно сложного в этом нет. Возможно, поначалу все это и кажется запутанным, но на деле эта задача решается очень быстро. Надеюсь, вам пригодилась эта информация и вдохновит на новые идеи для своих стримов. Вспомогательного бота я, например, еще использую для выбора случайного фона. SLCB читает строку из текстового файла с перечнем команд фона, пишет ее в чат, Найтбот дублирует ее в своем ответе и после этого SLCB реагирует на командуполученную от Найтбота и переключает фон. Может быть, и вы найдете оригинальное применение этому «костылю».