Я зробив невеликий open-source проєкт для PreMiD, який додає кастомні Discord-статуси для українських відеосайтів AniTube та UAKino.
Ідея проста: коли ви дивитесь аніме, фільм або серіал, Discord може показувати це як Rich Presence.
Не просто “користувач онлайн”, а нормальний статус із назвою, постером, станом відтворення та прогресом перегляду.
Тобто це виглядає приблизно як активність Spotify, YouTube або інших сервісів, але для сайтів, де офіційної Discord-інтеграції немає.

Проєкт називається premid-activities.
Це набір локальних PreMiD Activity для двох українських відеосайтів:
anitube.in.uauakino.bestPreMiD працює як проміжний шар між браузером, сайтом і Discord.
Розширення в браузері читає дані зі сторінки, desktop app PreMiD передає їх у Discord, а Discord показує це як активність користувача.
У результаті Discord може показувати, що саме зараз відкрите або відтворюється на сайті.
Для AniTube activity може відображати:
Це зручно, якщо хочеться, щоб Discord-статус виглядав не як випадковий текст, а як повноцінна активність із контекстом.
Для UAKino activity може показувати:
Для UAKino також є окремий нюанс із зображеннями.
Discord не завжди нормально завантажує постери напряму з uakino.best, тому в activity використовується обхід через image proxy.
Джерелом картинки все одно залишається сторінка UAKino, але Discord отримує її у більш сумісному форматі.
Мені хотілось мати нормальний Discord Rich Presence для сайтів, якими я реально користуюсь.
У популярних сервісів така інтеграція часто вже є, але для локальних або нішевих сайтів її майже ніколи немає.
Тому я зробив свою activity для PreMiD.
У результаті можна:
Це невелика річ, але вона робить використання Discord трохи приємнішим.
Особливо якщо Discord постійно відкритий, а статус хочеться мати акуратний і автоматичний.
Раніше activity потрібно було збирати локально.
Зараз це необов’язково, бо в репозиторії вже є готові релізи.
Найпростіший варіант — просто відкрити сторінку GitHub Releases і скачати готовий ZIP-файл:
https://github.com/merelyigor/premid-activities/releases
У релізах можна завантажити потрібну activity:
AniTube.zip
UAKino.zip
Це вже готові built activity.
Їх не потрібно збирати через Node.js, npm або GitHub Actions.
Достатньо скачати ZIP і завантажити його в PreMiD.
Для роботи потрібні:
Також потрібно увімкнути кілька налаштувань.
Без них локальна activity може просто не запуститися або Discord не покаже статус.
Спочатку потрібно дозволити Discord показувати вашу активність.
Відкрийте Discord:
User Settings -> Activity Privacy
І увімкніть параметр:
Share your detected activities with others
Якщо ця опція вимкнена, Discord може отримувати активність, але інші користувачі її не побачать.
Далі потрібно дозволити PreMiD extension запускати користувацькі скрипти.
Для цього відкрийте сторінку розширень у Chrome або Chromium-браузері:
chrome://extensions/
Знайдіть розширення PreMiD, відкрийте його деталі та увімкніть параметр:
Allow user scripts
Це важливий пункт.
Без нього Chrome може блокувати виконання користувацького коду, який потрібен для локальних activity.
ТУТ ДОДАТИ СКРІНШОТ ІЗ CHROME EXTENSIONS, ДЕ УВІМКНЕНО ALLOW USER SCRIPTS

Після цього потрібно відкрити сам PreMiD і перейти в налаштування.
У налаштуваннях PreMiD потрібно увімкнути:
Activity Developer
Цей режим відкриває додаткові можливості для локального завантаження activity.
Без нього кнопка для завантаження built activity може бути недоступною.


Коли Activity Developer увімкнено, у PreMiD потрібно вибрати опцію для завантаження built activity.
В англійському інтерфейсі це зазвичай:
Load built Activity
У локалізованому інтерфейсі це може виглядати як завантаження модулів або завантаження activity.
Після цього потрібно вибрати ZIP-файл, який був скачаний із GitHub Releases:
AniTube.zip
UAKino.zip
Після завантаження activity має з’явитися в PreMiD.
Далі достатньо відкрити відповідний сайт, запустити відео й перевірити статус у Discord.
Якщо готовий ZIP із релізів не підходить або хочеться зібрати все локально, це теж можна зробити.
Потрібно мати встановлені:
Клонуємо репозиторій:
git clone https://github.com/merelyigor/premid-activities.git
cd premid-activities
Для Windows:
.\scripts\build.ps1
Для Linux або macOS:
chmod +x ./scripts/build.sh
./scripts/build.sh
Після збірки ZIP-файли будуть у папці:
dist/
Наприклад:
dist/AniTube.zip
dist/UAKino.zip
Ці ZIP-файли можна завантажити в PreMiD так само, як і готові релізи.
У репозиторії також є GitHub Actions workflow для автоматичної збірки activity.
Це корисно, якщо не хочеться збирати локально, але потрібно отримати новий ZIP із поточної версії коду.
Процес такий:
all, AniTube або UAKino;Але для більшості користувачів простіше взяти готовий ZIP зі сторінки Releases.
PreMiD Activity потребує clientId Discord Application.
У цьому проєкті потрібні значення вже прописані в коді activity, бо без них built activity не працюватиме коректно.
Важливо: clientId і publicKey не є приватними токенами.
Їх нормально мати у клієнтському open-source коді.
Але не можна публікувати:
Проєкт працює через читання HTML-сторінки та відеоплеєра, тому є кілька обмежень:
<video> або iframe-плеєр;Allow user scripts для PreMiD extension;Activity Developer;Це нормальні обмеження для activity, які працюють поверх сторонніх сайтів.
Якщо сайт змінює HTML або поведінку плеєра, інтеграцію потрібно оновлювати.
Код проєкту відкритий і доступний на GitHub:
https://github.com/merelyigor/premid-activities
Готові ZIP-файли можна скачати на сторінці релізів:
https://github.com/merelyigor/premid-activities/releases
У репозиторії є README українською та англійською, скрипти збірки, GitHub Actions workflow і готові релізи для швидкого встановлення.
PreMiD Activity для AniTube та UAKino — це невеликий проєкт для тих, хто користується Discord і хоче мати нормальний Rich Presence для українських відеосайтів.
Для встановлення не обов’язково збирати код вручну.
Можна просто скачати готовий ZIP із GitHub Releases, увімкнути користувацькі скрипти для PreMiD extension, увімкнути Activity Developer у PreMiD і завантажити activity.
Після цього Discord зможе показувати, що саме ви дивитесь: назву, постер, стан відтворення та прогрес.
Для мене це приклад невеликої, але практичної автоматизації.
Кілька скриптів, трохи reverse engineering HTML-структури сайтів — і Discord-статус стає набагато інформативнішим.