Как стать автором
Поиск
Написать публикацию
Обновить

Создаём свой оверлей DonationAlerts

Внимание! Данная статья была написана очень давно, поэтому некоторые вещи скорее всего изменились

Если вы уже знаете, что такое DonationAlerts, прыгайте в следующий абзац.

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

Оверлей DonationAlerts выглядит так:

image

Эта веб-страница вставляется в стрим и зелёный фон вырезается. (Картинку можно менять)
Мне оверлей не понравился и я начал перерывать их сайт в поисках API, чтобы сделать свой.
Когда я понял что API нет, я написал в поддержку, и… они ответили с подробной «документацией».

Их сайт использует для коммуникации библиотеку Socket.IO.

Для примера я накидал быстрый скрипт:

var socket = io("socket.donationalerts.ru:3001");
socket.emit('add-user', {token: "Ваш токен (содержится в URL каждого виджета)", type: "minor"});
socket.on('donation', function(msg){
  // Ваша функция, обрабатывающая донат
});

Давайте его разберём.

var socket = io("socket.donationalerts.ru:3001");

— подключается к сокету

socket.emit('add-user', {token: "Ваш токен (содержится в URL каждого виджета)", type: "minor"});

— отправляет данные, нужные для получения уведомлений

socket.on('donation', function(msg){
  // Ваша функция, обрабатывающая донат
});

— получает информацию о донате, суёт переменную:

{
	"id": "24335622",
	"alert_type": "1",
	"additional_data": "{\"randomness\":517}",
	"username": "Имя",
	"amount": "50.00",
	"amount_formatted": "50",
	"amount_main": "50.00",
	"currency": "RUB",
	"message": "Сообщение",
	"date_paid": "2017-06-01 11:46:56",
	"emotes": null,
	"_is_test_alert": true
}

Демо на Plnkr

Спасибо, что прочитали!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.