Сценарии автоматизации
- как сделать чтобы награда переключала сцену obs
- как запустить один сценарий от двух разных наград
- как поставить паузу между двумя действиями
- как прятать награды пока камера не в кадре
- как сделать чтобы донат озвучивался голосом
- переключатель группы серый и не включается
- можно ли запускать сценарий по расписанию
- награда серая и её нельзя отметить
- сценарий прочитал одно сообщение, а награду выкупили трижды
- продлевает ли повторная покупка эффект
- рейд фолловеров запустил сценарий сотни раз
- как не дать одному зрителю запускать сценарий раз за разом
- как приветствовать каждого зрителя только один раз за стрим
- звук и голос говорят одновременно
- пауза перед голосом не соблюдается, если награду купили дважды подряд
- сценарий встал на середине и не доделал оставшиеся шаги
- как запустить сценарий, когда обратный отсчёт дошёл до нуля
- может ли сценарий прибавить время таймеру
- как сделать чтоб бот здоровался с новыми зрителями в чате
- может ли бот сам приветствовать новых в чате
- тратит ли сценарий на голосовую фразу кредиты
- нужно ли называть имя бота перед голосовой фразой
- после переезда на новый компьютер перестал работать шаг обратиться к другому сервису
Встроен в strAImer: модуль ставится вместе с приложением, скачивать ничего не нужно. Он есть в списке Каталог модулей → Встроенные.
Что это за страница
Автоматизация → Сценарии связывает событие с цепочкой действий: зритель погасил награду — и OBS переключил сцену, проиграл звук, а бот написал строку в чат. Собственное описание страницы: «Настройка правил реакции на награды Twitch и таймеров».
Сценарий состоит из трёх вещей, и их полезно не путать:
- Триггеры — способы войти. Один сценарий может запускаться несколькими.
- Шаги цепочки — что происходит, сверху вниз. Ни ветвлений, ни условий.
- Группа — необязательная обёртка, которая умеет сама включать и выключать целый набор сценариев по тому, что сейчас показывает OBS.
Как собрать сценарий
1. Создайте его
Создать сценарий в шапке. Пустая страница пишет «Сценарии отсутствуют. Создайте первый сценарий выше». Заполните Название сценария и выберите Группу — Без группы это нормальный ответ, а [ Создать новую группу... ] заводит её на месте.
2. Добавьте триггер
Триггеры — список способов войти, и страница объясняет, почему их список, а не один: «Любой из них запускает одну и ту же цепочку шагов. Вместо копии сценария добавьте второй триггер». + Триггер открывает Добавить триггер, и Тип триггера предлагает четырнадцать:
| Триггер | Что спрашивает |
|---|---|
| Награда канала | награду из -- Выберите награду --, сгруппированных по Twitch и Kick, у каждой видна цена. -- Ввести ID вручную -- принимает идентификатор |
| Кнопка пульта | Слот кнопки пульта — одну из кнопок тайла Пульт: Кнопки на Панели управления |
| Донат | Условие по сумме и какие сервисы учитывать |
| Подписка | Какие подписки — Любая подписка, Только новые, Только продления |
| Раздача подписок | Минимум подписок в раздаче |
| Рейд | Минимум зрителей в рейде |
| Битсы (чир) | Минимум битсов |
| Новый фолловер | ничего |
| Стрим начался | ничего |
| Стрим закончился | ничего |
| Таймер дошёл до нуля | Какой таймер: один из ваших обратных отсчётов или Любой таймер |
| Голосовая фраза | Фразы, по одной в строке; Как сравнивать — Фраза сказана где-то внутри реплики, Реплика — это ровно фраза или Регулярное выражение |
| Сообщение в чате | Команды и слова, по одному в строке; Как сравнивать — Команда: первое слово сообщения, Сообщение начинается с фразы, Слово где-то в сообщении; и Кто может запускать — Любой зритель, Подписчики и выше, Модераторы и вы, Только вы |
| Встроенная награда Twitch | какая покупка: любая, Выделить моё сообщение, Отправить сообщение в режиме «только для подписчиков», Гигантский смайл, Эффект сообщения |
У трёх минимумов ноль означает «любой». Стрим начался и Стрим закончился говорят это сами: «Срабатывает один раз при смене состояния эфира. Настраивать нечего».
Таймер дошёл до нуля слушает обратные отсчёты из Виджеты → Таймеры, и подсказка под ним объясняет как: «Таймеры настраиваются в разделе Виджеты → Таймеры. Отсчёт, который идёт дальше в минус, срабатывает один раз, когда переходит через ноль». В списке только обратные отсчёты: прямой до нуля не доходит никогда. Выключенный таймер сценарий не запускает, а ноль, наступивший, пока приложение было закрыто, не запускает его и после запуска приложения.
Сообщение в чате работает сразу во всех подключённых чатах, и три способа сравнения различаются сильнее, чем кажется. Команда читает только первое слово, поэтому «!свет» поймает и «!свет красный»; восклицательный знак писать необязательно, но если написали, то слово «свет» посреди разговора уже не считается. Слово где-то в сообщении означает слово целиком: «привет» не совпадёт с «приветствием». Ответы вашего же бота сценарий не запускают, поэтому цепочка, которая пишет в чат, не может кормить сама себя.
Триггер Голосовая фраза сверяет само приложение, а не ИИ: имя бота перед фразой не нужно, и кредитов он не тратит. Он слышит всё, что слышит распознавание речи (Голос → Распознавание). Если в Когда слушать выбрано Всё время, сценарий запустит и фраза, прозвучавшая в обычном разговоре, поэтому берите слова, которые случайно не скажешь, или Реплика — это ровно фраза. В режиме По удержанию клавиши микрофон слушает, только пока клавиша зажата, и сказанное в это время уходит ещё и ассистенту, а это уже платная часть. В режиме Всё время ассистенту тоже уходит фраза, начатая с имени из Как вы называете бота, а если имя не задано, то каждая фраза; оба режима разобраны в руководстве «Распознавание речи».
Готово кладёт триггер в список, где сохранённый можно открыть заново или убрать.
В том же окне живут две заставы, и обе по умолчанию выключены. Не чаще одного раза в, секунд — пауза между запусками: «Ноль — без ограничения: сценарий запускает каждое событие. Фолло-бот-рейд шлёт сотни фолловов в минуту, и без паузы каждый пишет в чат, говорит вслух и режет клип.» Вторая половина называется Один раз на зрителя, и рядом с ней список: в час значит, что тот же человек не запустит сценарий повторно в течение часа, за эфир значит один раз до начала следующего эфира. Старые сценарии остаются на в час. Память «за эфир» начинается заново, когда Статус стрима сообщает о новом эфире, и при перезапуске приложения.
Пауза показывается у тех входов, которые может толкать толпа: новый фолловер, подписка, подаренные подписки, рейд, битсы, встроенная покупка Twitch и сообщение в чате. Один раз на зрителя есть только у триггеров Новый фолловер и Сообщение в чате: то и другое бесплатно и легко повторяется, а повторная подписка или повторные битсы означают вторую оплату, и их не глушат. У награды, кнопки пульта, границ эфира, таймера на нуле и голосовой фразы нет ни той, ни другой заставы: шторма там ждать неоткуда. У нового триггера Сообщение в чате в паузе сразу стоит пять секунд, потому что команды в чате повторяют; сценарий, написанный до появления этих застав, ведёт себя ровно как прежде.
Пустой список наград пишет «Награды не найдены. Подключите Twitch или создайте награды в панели Twitch».
3. У доната два фильтра
Условие по сумме — это Любой донат, От этой суммы и выше, Ровно эта сумма или В диапазоне сумм, с полями Сумма и До под ним.
Учитывать донаты с площадок перечисляет ваши донат-коннекторы галочками: «Снятая галочка — площадка игнорируется этим сценарием. Новый донат-коннектор учитывается сразу после установки».
Суммы сравниваются в вашей базовой валюте (Настройки → Локализация), и донат, который не удалось сконвертировать, сценарий не запускает вовсе. Поэтому же Ровно эта сумма — ловушка для всего, что пришло в чужой валюте, и страница предупреждает об этом прямым текстом: «Точное совпадение работает только для донатов в вашей базовой валюте: после конвертации сумма оказывается дробной и практически никогда не совпадает».
4. Соберите цепочку
Шаги цепочки — это то, что произойдёт. Пустая, она пишет «Пока нет шагов. Добавьте действие или задержку».
- + Задержка вставляет шаг Задержка с полем секунд.
- + Действие открывает Добавить действие, и список делится на две группы.
Шаг Задержка заодно решает, что случится со вторым триггером, пока цепочка ещё ждёт. Цепочка, которая что-то включает и потом выключает, продлевается: дедлайн уезжает на длину задержки, а действия заново не выполняются — купили эффект дважды, получили вдвое больше времени, тогда как повторное переключение его бы погасило. Цепочка, которая говорит или пишет то, что принёс триггер — {message}, {user}, — вместо этого идёт своим прогоном на каждый триггер: три покупки за пять секунд это три отдельных прогона, и ничьё сообщение не пропадёт. Настраивать тут нечего: приложение решает по тому, что делают шаги.
Цепочка со звуком забирает звук приложения себе и держит до конца своего последнего звукового шага. Именно поэтому пауза перед речью хоть что-то значит. «Подождать 6 секунд, потом сказать голосом» держит звук всё время чтения, и три покупки подряд читаются по очереди с шестью секундами тишины между ними, а не отсчитывают свои паузы разом, чтобы потом прозвучать встык. Цепочка, у которой звук стоит в начале («проиграть звук, подождать 30 секунд, скрыть фильтр»), отпускает его сразу после звука: полминуты эффекта никого не задерживают. Цепочка без звукового шага не ждёт вовсе, поэтому смена сцены никогда не стоит в очереди за чужой речью.
Пауза отсчитывается, даже если приложению не удалось её записать. Обратный отсчёт запускается до сохранения приостановленной цепочки, поэтому медленная или неудавшаяся запись больше не съедает остаток цепочки. Теряется в этом случае только способность пережить перезапуск приложения: сама пауза всё равно доходит до конца, и цепочка продолжается.
OBS — требует подключения к OBS, и выпадающие списки заполняются из него же:
- OBS: Переключить сцену — Выберите сцену.
- OBS: Показать или скрыть источник — Выберите сцену, Выберите источник, Что сделать (Показать источник, Скрыть источник, Переключить).
- OBS: Фильтр источника — то же плюс Выберите фильтр и Состояние фильтра (Включить фильтр, Выключить фильтр).
- OBS: Заглушить или включить звук — Аудиовход, затем Заглушить, Включить звук или Переключить.
- OBS: Громкость аудиовхода — Аудиовход и ползунок Громкость.
strAImer — всё, что приложение делает само:
- Воспроизвести звук: в поле Выберите звук стоит ячейка с кнопкой ▶, чтобы послушать. Щелчок по ней открывает окно Выбор звука, где у каждого файла видны длительность, волна и своя кнопка ▶, а открыть можно любую папку. Плюс Громкость.
- Сказать голосом и Написать в чат — обоим нужен Текст; чату ещё и Куда отправить (Во все подключённые чаты, Twitch, YouTube или Kick).
- Умная розетка — розетка и Что сделать: Включить на время (добавляет поле Длительность, с), Включить и оставить включённой или Выключить. Если розеток нет, пишет «Розеток нет — добавьте в разделе «Устройства → Shelly»».
- Нарезать клип на Twitch.
- Таймер: выберите таймер, затем Что сделать: Старт, Пауза, Старт или пауза, Сброс, Прибавить время или Отнять время; у двух последних появляется поле Минуты. Без таймеров список пишет «Таймеров пока нет: они в разделе Виджеты → Таймеры».
- Обратиться к другому сервису — Адрес, Что отправлять (Отправить данные (POST) или Просто открыть адрес (GET)), Данные как JSON или Обычный текст и Дополнительные заголовки по одному в строке, «Имя: значение», если сервис просит ключ доступа. Так слово в чате доходит до Discord, n8n, Make, умного дома или чего угодно своего. Ответ не читается: в журнале остаётся код ответа и имя сервиса, а следующий шаг выполняется в любом случае. Адрес и заголовки хранятся в зашифрованном виде на этом компьютере и в резервную копию не входят. Если восстановить копию на другом компьютере, шаг напишет «На этом компьютере не сохранён. Введите адрес заново»: вставьте адрес, а если сервис просит, и заголовки, ещё раз. На том же компьютере открытый заново шаг показывает пустое поле с подписью «Сохранён: {host}. Оставьте пустым, чтобы не менять», то есть адрес на месте.
Под полями Текст и Данные стоят кнопки {user}, {amount}, {reward}, {message} и {args}: «Нажмите на имя ниже, чтобы вставить его. Вместо имени подставится то, что запустило сценарий; незнакомое останется как есть». {args} принадлежит триггеру из чата — это текст после команды, поэтому «!заказ пицца» даёт «пицца». Кавычки и переводы строк в том, что написал зритель, экранируются по дороге в JSON, поэтому данные не ломаются.
5. Порядок и сохранение
Шаги выполняются сверху вниз. У каждой строки есть стрелки Вверх и Вниз, а ещё Редактировать и Удалить. Сохранить записывает сценарий.
После этого карточка в списке показывает по метке на каждый триггер, всю цепочку и число шагов. Рядом: переключатель «включён/выключен», Тестовый прогон, Создать копию (копия сразу открывается на правку, с « (копия)» в имени), Редактировать и Удалить, которое спрашивает «Удалить этот сценарий?».
Группы и передача переключателя в OBS
Группа — это папка, которая умеет быть ещё и выключателем. Создать группу в шапке заводит её; дайте Название группы, а сценарии попадают внутрь через поле Группа. Пустая группа пишет «В этой группе пока нет сценариев».
Автоматическое управление
Автоматическое управление заставляет группу следовать за Типом условия:
- Видимость источника на сцене
- Активна сцена
- Источник виден на текущей сцене
- Аукцион принимает баллы
Первым трём нужны Выберите сцену OBS и Выберите источник OBS, и каждое поясняет себя под выбором — например, «Условие выполняется, пока выбранная сцена в эфире».
Чем управляет условие — список ниже: «Пока условие выполняется, всё перечисленное включено; перестало выполняться — выключено». Первая строка в нём заперта и стоит всегда: «Сценарии группы не срабатывают, пока условие не выполнено». + Добавить добавляет Награды за баллы Twitch — список ваших наград с галочками, — а Убрать убирает запись.
Почему часть наград серые
Награда, созданная руками на сайте Twitch, показана серой, помечена «создано вне strAImer» и отметить её нельзя. Twitch позволяет приложению переключать только те награды, которые оно создало само, поэтому такую он отклонял бы каждый раз — и группа сообщала бы, что включена, хотя на Twitch ничего не изменилось.
Чтобы автоматизировать такую награду, пересоздайте её управляемой на странице Автоматизация → Баллы канала; про неё есть инструкция «Баллы канала». Уже отмеченную галочку по-прежнему можно снять — старая настройка не застревает.
Три секунды ожидания
Изменившееся условие переключает группу не сразу: новое состояние обязано продержаться три секунды. Источник, мигнувший и погасший внутри этих трёх секунд, не меняет ничего — отложенное переключение отменяется, и группа остаётся как была.
Это сделано намеренно. Источник, который никто на стриме не успел увидеть, — не повод открывать награды, а переключение группы означает по одной записи в Twitch на каждую награду в ней, поэтому мигающий источник раньше отправлял их десятками подряд.
Ожидание касается только того, что приходит из OBS. Включение и выключение Автоматического управления, нажатие Сохранить, открытие и закрытие баллов аукционом и потеря связи с OBS действуют немедленно.
Группа в списке
В шапке группы стоят галочка автоматически, переключатель группы, Настройки условий и Удалить; клик по самой шапке сворачивает группу. Удаление спрашивает и успокаивает: «Удалить группу "{name}"? Все сценарии внутри неё останутся целы и будут перенесены в раздел "Без группы"».
Чего здесь нельзя
- Ветвлений и условий внутри цепочки нет. Шаги идут по порядку, сверху вниз. Условия живут на триггере и на группе, больше нигде.
- Триггера на любое сообщение в чате нет. Триггеру Сообщение в чате нужна хотя бы одна команда или слово, поэтому «здороваться с каждым, кто впервые написал» не собрать. Что работает: Новый фолловер с Один раз на зрителя и шагом Написать в чат или Сообщение в чате на слова приветствия вроде «привет» и «hi» с Один раз на зрителя в режиме за эфир.
- Нет триггера по часам. Типов триггеров ровно четырнадцать, из списка выше: Таймер дошёл до нуля срабатывает, когда кончился ваш обратный отсчёт, а не в заданное время суток, а Задержка это шаг внутри цепочки, а не способ её запустить. Повторяющиеся сообщения в чате живут на другой странице: Чат-бот → Таймеры чата.
- Сцены, источники, фильтры и аудиовходы читаются из OBS. Без подключения к нему этим спискам нечего предложить.
- Власть группы над своими сценариями не отключается: «Это и есть смысл группы, поэтому отдельно отключить нельзя».
- Под условие попадают только награды, созданные самим strAImer. Награды за баллы Twitch — единственное, что предлагает + Добавить в разделе Чем управляет условие.
- При включённом Автоматическом управлении собственный переключатель группы заперт и подписан «Управляется автоматически по условию».
- Три секунды не настраиваются. Поля для них нет, и заставить условие из OBS переключать группу мгновенно нельзя.
- Поле Длительность, с существует только у Включить на время. Два других действия с розеткой завершает цепочка, а не отсчёт.
- Ожидание звука не отключается, пока звук играет само приложение. Если в поле Куда воспроизводится звук (Настройки → Звук) выбрано В браузерном источнике OBS, приложение не видит, когда там закончился шаг Воспроизвести звук, поэтому следующая цепочка со звуком его не ждёт, и звуки могут лечь друг на друга. Поля, сколько цепочке держать звук, нет.