Используйте на своём стриме
Пришлите нам название своей категории на Twitch, и мы ответим, можно ли умереть в этой игре. Ваш бот может по этому ответу включать и выключать счётчик смертей.
Запрос
Это один GET-запрос, с названием категории в конце адреса. Ключ и регистрация не нужны.
GET https://can-i-die.in/api/<название категории>Ответ приходит обычным текстом и бывает одним из трёх:
- true
- В этой игре можно умереть.
- false
- В этой игре умереть нельзя.
- 404
- Пустой ответ. Игры с таким названием нет, либо у нас пока нет ответа.
Вместо названия подойдёт slug игры. Slug — это последняя часть адреса её страницы на этом сайте, например baldurs-gate-iii.
Настройка бота
Каждый пример ниже читает вашу текущую категорию и спрашивает про неё, поэтому ответ меняется вместе с игрой. Чат-боты пишут ответ словом «true» или «false».
Streamer.bot
Добавьте в action эти два sub-action, в таком порядке:
- Twitch › User › Get User Info for Target, где User Login задан как
%broadcastUserName%. Это положит вашу категорию в%game%. Если action запускается не триггером Twitch, поставьте перед ним Add Broadcaster Information. - Core › Network › Fetch URL, где Variable Name задан как
canDie, а URL — такой:https://can-i-die.in/api/%game%
После этого в %canDie% будет true, false или ничего, если ответа нет. Проверить можно sub-action If/Else.
Nightbot
Отправьте это в чат, чтобы добавить команду !candie:
!commands add !candie Можно ли умереть в $(twitch $(channel) "{{game}}")? $(urlfetch https://can-i-die.in/api/$(querystring $(twitch $(channel) "{{game}}")))Если ответа нет, Nightbot вместо него напишет собственное сообщение об ошибке.
StreamElements
Отправьте это в чат:
!command add !candie Можно ли умереть в $(game)? $(customapi https://can-i-die.in/api/$(pathescape $(game)))Если ответа нет, StreamElements напишет «The remote server returned status code 404».
Fossabot
Создайте команду с таким ответом:
Можно ли умереть в $(game)? $(customapi https://can-i-die.in/api/$(pathencode $(game)))Если ответа нет, Fossabot оставит ответ пустым.
Что-то ещё
Подойдёт любой инструмент, умеющий запрашивать веб-адрес. Браузерные источники и оверлеи тоже могут обращаться к нему с любого сайта.
curl "https://can-i-die.in/api/Pok%C3%A9mon%20Red%20Version"Как сопоставляются названия
Названия игр мы берём из IGDB, откуда Twitch берёт и свои категории, поэтому большинство названий совпадает как есть. Регистр, диакритика и знаки препинания не учитываются, а номер продолжения можно писать любым способом: «3» находит «III», а «III» находит «3». Вот что сейчас возвращают некоторые названия:
| Отправленное название | Ответ | Почему |
|---|---|---|
| Firewatch | false | Обычное название. Регистр не важен, поэтому «firewatch» и «FIREWATCH» тоже подойдут. |
| Pokémon Red Version | true | Диакритику можно не писать. «Pokemon Red Version» находит ту же игру. |
| Animal Crossing: New Horizons | false | Знаки препинания не учитываются, поэтому двоеточие можно опустить. |
| Friday Night Funkin' | false | Апострофы необязательны. «Friday Night Funkin» тоже работает. |
| Baldur's Gate 3 | true | Twitch называет эту категорию с 3, а в наших данных стоит III. Римские и обычные числа считаются одним и тем же, поэтому название из Twitch всё равно её находит. |
| Forza Horizon V | false | То же самое наоборот. В наших данных эта игра — «Forza Horizon 5». |
| Fate/Grand Order | true | Косая черта в названии работает — как есть или в виде %2F. |
| 100% Orange Juice | true | Знак процента нужно отправлять как %25. Боты делают это сами, если использовать их переменную кодирования. |
| Until Dawn | false | Это название носят несколько игр. Вы получите ту, для которой у нас есть ответ, а из таких — самую популярную. |
| Just Chatting | 404, пусто | Это не игра, поэтому ответа нет. |
| baldurs-gate-iii | true | Slug, взятый из адреса страницы игры здесь. Он всегда находит именно эту игру. |
Категория ничего не находит? Найдите игру в основном списке и используйте slug с её страницы.