Рулетка DCHDonate - инструкция пользователя

Актуально на 2026-03-04. Документ рассчитан на “от нуля”: пароль → подключение DA/DP → настройка стоимости стрима → работа с лотами → прокрутка колеса.

0. Что это и как устроено

Коротко для пользователя

Есть две страницы:

  • Админка - настройка пароля, подключений DA/DP, Telegram Chat ID и стоимости стрима.
  • Рулетка - управление лотами и колесом.
Авторизация единая (cookie-сессия). Если ты вошёл в админке - на рулетке управление становится доступным.
Термины что означает
ТерминСмысл
ЛотЗапись “что разыгрываем” + сумма (накопление донатами/вручную). Лоты попадают в колесо как сегменты.
Включённый лотЛот, который участвует в колесе (чекбокс включения активен).
Стоимость стримаПорог: лоты с суммой ниже порога автоматически выключаются из колеса.
MergeОбъединение двух лотов: сумма “перетаскиваемого” прибавляется к цели, исходный удаляется.

1. Первый запуск: пароль и вход

1.1 Установить пароль (только первый раз) админка
  1. Открой админку: https://dchdonate.ru/settingsdonate
  2. Если видишь блок “Первичная установка пароля администратора” - введи пароль и нажми кнопку "Задать пароль".
  3. После установки перейди к пункту 1.2 (вход).
Скриншот A1. Попроси себя пометить: 1 — токен, 2 — user_id.
1.2 Войти в админку админка
  1. Введи пароль в блоке “Вход администратора”.
  2. Нажми “Войти”.
  3. Проверь строку статуса: должно быть “Вход выполнен”.
После успешного входа управление на рулетке станет доступным (кнопки, добавление лотов, merge и т.д.).
Скриншот A1. Попроси себя пометить: 1 — токен, 2 — user_id.
1.3 Выйти админка
  1. Нажми “Выйти”.
  2. Убедись, что управление на рулетке стало недоступным (кнопки заблокируются).

2. Подключение DonationAlerts (DA)

2.1 Подключить (OAuth) админка
  1. В админке найди блок DonationAlerts.
  2. Нажми “Подключить DA”.
  3. Тебя перенаправит на DonationAlerts - дай разрешение приложению.
  4. После возврата в админку индикатор DA станет активным.
Индикатор до подключения
Индикатор после подключения
2.2 Отключить админка
  1. Нажми “Отключить DA”.
  2. Проверь, что индикатор DA стал неактивным.

3. Подключение DonatePay (DP)

3.1 Где взять токен и user_id donatepay
Страница DP API: https://donatepay.ru/page/api
  1. Открой страницу DP API.
  2. Скопируй API ключ.
  3. Скопируй User ID (числовой).
1 - ключ, 2 - user_id.
3.2 Подключить в админке админка
  1. В админке нажми “Подключить DP”.
  2. В модальном окне вставь ключ и user_id.
  3. Нажми “Сохранить”.
  4. Убедись, что DP стал “подключён” (индикатор активен).
1 - ключ, 2 - user_id, 3 - кнопка “Сохранить”.
активний индикатор
3.3 Отключить админка
  1. Нажми “Отключить DP”.
  2. Проверь, что индикатор DP стал неактивным.

4. Telegram-уведомления

4.1 Узнать свой Telegram ID telegram
Бот: @userinfobot
  1. Открой @userinfobot и нажми Start.
  2. Скопируй свой id (числовой).
4.2 Внести Telegram Chat ID в админке админка
  1. В админке найди поле Telegram Chat ID.
  2. Вставь ID и нажми “Сохранить”.
Если сообщения не приходят - проверь, что бот уже писал тебе ранее (ты нажал Start), и что указан правильный chat_id.

5. Стоимость стрима и авто-ограничения

5.1 Задать стоимость стрима админка
  1. В админке найди поле “Стоимость стрима (₽)”.
  2. Введи целое число (например 4000) и нажми “Сохранить”.
  3. На рулетке в вкладке колеса появится баннер с текущей стоимостью.
Если стоимость = 0 или не задана - баннер мигает красным и пишет “не задана”.
Поле стоимости стрима
Баннер на странице рулетки
Баннер на странице рулетки, если стоимость не задана
5.2 Как работает порог рулетка
СтоимостьПоведение
0 / не заданаПорог не применяется. Лоты можно включать вручную, но баннер предупреждает.
> 0Лоты с суммой < стоимости автоматически выключаются, их чекбоксы становятся недоступны.

6. Лоты: добавление, редактирование, плюс/минус

6.1 Добавить лот вручную рулетка
  1. Открой рулетку: https://dchdonate.ru/
  2. Перейди на вкладку “Лоты”.
  3. Введи название и сумму.
  4. Нажми кнопку добавления (+ Добавить лот).
Если кнопка неактивна - ты не авторизован (выполни вход в админке).
МЕСТО ДЛЯ СКРИНШОТА F1
Рулетка: поля “название/сумма” + кнопка добавления
Скриншот F1. Можно пометить 1 - название, 2 - сумма, 3 - кнопка.
6.2 Изменить сумму лота (плюс/минус через поле “+”) рулетка

У каждого лота есть числовое поле + (delta). Оно принимает положительные и отрицательные значения. Изменение применяется по Enter и сохраняется в базе.

  1. Найди нужный лот в списке.
  2. В поле “+” введи, например, 100 и нажми Enter - сумма увеличится.
  3. Введи -1000 и нажми Enter - сумма уменьшится.
Чтобы автообновление не сбивало ввод, рекомендуется пауза обновления при фокусе в поле (если включено в твоей версии).
МЕСТО ДЛЯ СКРИНШОТА F2
Рулетка: строка лота с полем “+” и примером -1000
Скриншот F2. Можно пометить поле и кнопку/иконку, если есть.
6.3 Изменить название лота рулетка
  1. Кликни по названию (если оно редактируемое) или используй элемент редактирования рядом.
  2. Внеси изменения и сохрани (Enter/потеря фокуса - зависит от реализации).

7. Объединение лотов (merge)

Объединить два лота в один drag&drop

Объединение делается перетаскиванием одного лота на другой (как правило - за “ручку” перетаскивания).

  1. Убедись, что авторизация активна.
  2. Возьми лот за “ручку” (иконка/зона перетаскивания).
  3. Перетащи на второй лот и отпусти.
  4. Сумма первого прибавится ко второму, первый исчезнет.
МЕСТО ДЛЯ СКРИНШОТА G1
Merge: где “ручка” + стрелка на целевой лот
Скриншот G1. Поставь отметки: A - источник, B - цель.

8. Колесо: включение/исключение, прокрутка

8.1 Включить/исключить лоты из колеса чекбоксы
  1. Перейди на вкладку “Колесо”.
  2. Слева отображается список участников/лотов с чекбоксами.
  3. Чекбокс включён → лот участвует. Выключен → не участвует.
Если задан порог стоимости стрима, “недостаточные” лоты автоматически выключаются и чекбокс становится disabled.
МЕСТО ДЛЯ СКРИНШОТА H1
Колесо: список чекбоксов + пример disabled
Скриншот H1. Пометь: 1 - обычный чекбокс, 2 - disabled (ниже порога).
8.2 Кнопки под списком управление
  1. Включить все - включает все лоты, которые не заблокированы порогом.
  2. Отключить все - выключает все лоты.
  3. Перегенерировать цвета - меняет цвета сегментов (визуально).
МЕСТО ДЛЯ СКРИНШОТА H2
Кнопки “Включить все / Отключить все / Перегенерировать цвета” + баннер стоимости
Скриншот H2. Пометь кнопки 1–3, баннер 4.
8.3 Прокрутка колеса spin
  1. Убедись, что включён хотя бы один лот.
  2. Нажми кнопку «Крутить».
  3. Дождись остановки. Победитель определяется указателем.
Если включённых лотов нет, колесо будет бессмысленным. Сначала включи лоты или снизь стоимость стрима.
МЕСТО ДЛЯ СКРИНШОТА H3
Колесо в момент вращения + указатель победителя
Скриншот H3. Можно пометить указатель стрелкой.

9. Победитель и «Списать за стрим»

9.1 Окно победителя modal

После остановки колеса показывается окно с победившим лотом.

  1. Нажми «Крутить» и дождись результата.
  2. В модалке будет кнопка «Списать за стрим».
МЕСТО ДЛЯ СКРИНШОТА I1
Модалка победителя + кнопка “Списать за стрим”
Скриншот I1. Пометь: 1 - победитель, 2 - кнопка списания.
9.2 Что делает «Списать за стрим» логика
  • Берёт текущую “Стоимость стрима” из админки.
  • Списывает эту сумму с победившего лота.
  • Если после списания сумма стала ≤ 0 - лот может быть удалён (зависит от серверной логики).
  • Список лотов обновляется, и порог стоимости снова применяется.
Если стоимость стрима не задана, списание не будет работать корректно - сначала установи стоимость в админке.

10. Удаление лотов и очистка

10.1 Удалить один лот рулетка
  1. В списке лотов нажми иконку удаления (корзина) напротив нужного лота.
  2. Лот исчезнет из списка и из колеса (если участвовал).
МЕСТО ДЛЯ СКРИНШОТА J1
Строка лота с кнопкой удаления
Скриншот J1. Пометь корзину стрелкой.
10.2 Очистить все лоты рулетка
  1. Нажми кнопку “Удалить всё / Очистить”.
  2. Подтверди действие (если есть подтверждение).

11. Тестовые донаты и проверка

11.1 Где смотреть тестовые донаты ссылки
DonatePay
История транзакций
Открыть
DonationAlerts
Лента донатов
Открыть
Если донаты не “доходят” в приложение: проверь подключение DA/DP в админке и смотри серверные логи (pm2).
11.2 Проверка на рулетке чеклист
  1. Сделай тестовый донат в DA или DP.
  2. Убедись, что донат появился по ссылке истории.
  3. Проверь, что сумма соответствующего лота изменилась (если в твоём режиме донаты попадают в лоты).
  4. Проверь, что Telegram-уведомление пришло (если включено).

12. Частые проблемы

Не могу управлять рулеткой (кнопки серые)auth
  • Открой админку и выполни вход.
  • В DevTools на рулетке проверь /api/stateauthed: true.
  • Если ранее переключал домены/куки - очисти cookies для dchdonate.ru и войди заново.
Плюс/минус не меняет сумму после обновления спискаlots
  • Изменение суммы должно отправляться на сервер (а не только менять локальный state).
  • Проверь в Network запрос POST /api/lots/<id>/plus (статус 200).
  • Если автообновление мешает вводу - включи “паузу автообновления при фокусе в input”.
В колесе остаются “недостаточные” лотыstream cost
  • Проверь, что стоимость стрима задана > 0 в админке.
  • Проверь, что после пересчёта вызывается перерисовка (обычно через save()/renderAll()).
DA подключение не работаетda
  • Проверь корректность OAuth Client Secret (не API key).
  • Проверь redirect_uri (www/не-www).