Привет! Ниже описано, как запустить виджет.
Это обычный HTML/JS-проект без использования Node.js или других сборщиков — можно открыть в OBS как «Browser Source» или на любом локальном/внешнем сервере.
- Подключается к нашему публичному API (pulsesync.dev/api/v1/), чтобы узнавать, какая композиция играет.
- Отображает карточку с обложкой, названием трека, исполнителем, статусом (playing и т.д.).
- Оформите подписку на Boosty.to/evt за символические 30 рублей.
- После покупки вам придёт сообщение с инструкцией:
"Здравствуйте и спасибо за подписку! Привяжите ваш Discord аккаунт в настройках Boosty: https://boosty.to/app/settings/external-apps После этого зайдите на сервер: https://discord.com/invite/pulsesync и бот выдаст вам роль бета-тестера (в течение 15 минут). Если роли не появились, обратитесь к администраторам. Если у вас была старая версия программы, пожалуйста, сделайте репатч. Приятного пользования!"
- Получите роль бета-тестера на сервере Discord.
- Зарегистрируйтесь в приложении, затем в Discord боте используйте команду
/create-api-key
(или если забыли —/get-api-key
). - Скопируйте свой токен и вставьте его в
api.js
, там, где переменнаяAPI_KEY
.
├─ designs
│ └─ EvT (Pulsma)
│ ├─ color.js
│ ├─ default.png
│ ├─ index.html
│ ├─ main.js
│ ├─ style.css
│ └─ textAnimation.js
└─api.js
В качестве примера я хотел бы привести свою реализацию темы «EvT (Pulsma)».
api.js
Здесь лежит функцияfetchTrackStatusFromApi()
и вашAPI_KEY
.color.js
Код, который определяет цвет обложки (через canvas), и при необходимости притемняет его.textAnimation.js
«Матрица»-анимация (или любая другая), которая постепенно «пропечатывает» финальный текст.index.html
Основная страница с разметкой. В неё подключаются все скрипты и стили.style.css
Можно вынести сюда общую стилистику карточки.main.js
Общая логика анимации (slideOut/slideIn), работа с DOM (обложка, текст), вызовapi.js
и т.д.default.png
«Заглушка» для обложки.
- Откройте OBS и добавьте Browser Source.
- Укажите путь к
index.html
(например,file:///C:/Project/designs/EvT%20(Pulsma)/index.html
) или локальный/внешний сервер. - Отрегулируйте размер.
- Готово! Карточка будет обновляться и показывать текущий трек с анимацией.
Мы приветствуем разные стили оформления!
Если у вас есть идеи — сделайте свой вариант, создайте Pull Request в этот репозиторий, и мы добавим новую тему в папку designs/
.
Пример ветки:
designs/
EvT (Pulsma)/
color.js
default.png
index.html
main.js
style.css
textAnimation.js
Вы можете назвать свою папку как угодно, например:
designs/
MyChinazisDesign/
color.js
...
- Наш Discord-сервер.
- Boosty для оформления подписки.
Если возникнут вопросы или что-то не работает — спрашивайте на Discord-сервере.
Бай бай!