0. Что это и как устроено
Коротко
для пользователя
Есть две страницы:
- Админка - настройка пароля, подключений DA/DP, Telegram Chat ID и стоимости стрима.
- Рулетка - управление лотами и колесом.
Авторизация единая (cookie-сессия). Если ты вошёл в админке - на рулетке управление становится доступным.
Термины
что означает
| Термин | Смысл |
| Лот | Запись “что разыгрываем” + сумма (накопление донатами/вручную). Лоты попадают в колесо как сегменты. |
| Включённый лот | Лот, который участвует в колесе (чекбокс включения активен). |
| Стоимость стрима | Порог: лоты с суммой ниже порога автоматически выключаются из колеса. |
| Merge | Объединение двух лотов: сумма “перетаскиваемого” прибавляется к цели, исходный удаляется. |
1. Первый запуск: пароль и вход
1.1 Установить пароль (только первый раз)
админка
- Открой админку: https://dchdonate.ru/settingsdonate
- Если видишь блок “Первичная установка пароля администратора” - введи пароль и нажми кнопку "Задать пароль".
- После установки перейди к пункту 1.2 (вход).
1.2 Войти в админку
админка
- Введи пароль в блоке “Вход администратора”.
- Нажми “Войти”.
- Проверь строку статуса: должно быть “Вход выполнен”.
После успешного входа управление на рулетке станет доступным (кнопки, добавление лотов, merge и т.д.).
1.3 Выйти
админка
- Нажми “Выйти”.
- Убедись, что управление на рулетке стало недоступным (кнопки заблокируются).
2. Подключение DonationAlerts (DA)
2.1 Подключить (OAuth)
админка
- В админке найди блок DonationAlerts.
- Нажми “Добавить DA”.
- Тебя перенаправит на DonationAlerts - дай разрешение приложению.
- После возврата в админку индикатор DA станет активным после перезагрузки страницы (F5).
Индикатор до подключения.
Индикатор после подключения.
2.2 Отключить
админка
- Нажми “Отключить DA”.
- Проверь, что индикатор DA стал неактивным.
3. Подключение DonatePay (DP)
3.1 Где взять токен и user_id
donatepay
- Открой страницу DP API.
- Скопируй API ключ.
- Скопируй User ID (числовой).
1 - ключ, 2 - user_id.
3.2 Подключить в админке
админка
- В админке нажми “Добавить DP”.
- В модальном окне вставь ключ и user_id.
- Нажми “Сохранить”.
- Убедись, что DP стал “подключён” (индикатор активен).
1 - ключ, 2 - user_id, 3 - кнопка “Сохранить”.
Активний индикатор.
3.3 Отключить
админка
- Нажми “Отключить DP”.
- Проверь, что индикатор DP стал неактивным.
4. Telegram-уведомления
4.1 Узнать свой Telegram ID
telegram
- Открой @userinfobot и нажми Start.
- Скопируй свой id (числовой).
4.2 Внести Telegram Chat ID в админке
админка
- В админке найди поле Telegram Chat ID.
- Вставь ID и нажми “Сохранить”.
- Перейди в бота уведомлений и нажми /start. @dendonate_bot
Если сообщения не приходят - проверь, что бот уже писал тебе ранее (ты нажал Start), и что указан правильный chat_id.
5. Стоимость стрима и авто-ограничения
5.1 Задать стоимость стрима
админка
- В админке найди поле “Стоимость стрима (₽)”.
- Введи целое число (например 4000) и нажми “Сохранить”.
- На рулетке в вкладке колеса появится баннер с текущей стоимостью.
Если стоимость = 0 или не задана - баннер мигает красным и пишет “не задана”.
Поле стоимости стрима.
Баннер на странице рулетки.
Баннер на странице рулетки, если стоимость не задана или равна нулю.
5.2 Как работает порог
рулетка
| Стоимость | Поведение |
| 0 / не задана | Порог не применяется. Лоты можно включать вручную, но баннер предупреждает. |
| > 0 | Лоты с суммой < стоимости автоматически выключаются, их чекбоксы становятся недоступны. |
6. Лоты: добавление, редактирование, плюс/минус
6.1 Добавить лот вручную
рулетка
- Открой рулетку: https://dchdonate.ru/
- Перейди на вкладку “Лоты”.
- Введи название и сумму.
- Нажми кнопку добавления (+ Добавить лот).
Если кнопка неактивна - ты не авторизован (выполни вход в
админке).
1 - название, 2 - сумма, 3 - кнопка.
Список лотов после добавления лота.
6.2 Изменить сумму лота (плюс/минус через поле “+”)
рулетка
У каждого лота есть числовое поле +. Оно принимает положительные и отрицательные значения. Изменение применяется по Enter и сохраняется в базе.
- Найди нужный лот в списке.
- В поле “+” введи, например, 100 и нажми Enter - сумма увеличится.
- Введи -1000 и нажми Enter - сумма уменьшится.
6.3 Изменить название лота
рулетка
- Кликни по названию.
- Внеси изменения и сохрани (Enter).
7. Объединение лотов (merge)
Объединить два лота в один
drag&drop
Объединение делается перетаскиванием одного лота на другой (за “ручку” перетаскивания).
- Убедись, что авторизация активна.
- Возьми лот за “ручку”.
- Перетащи на второй лот и отпусти.
- Сумма первого прибавится ко второму, первый исчезнет.
Рулетка автоматически объединяет донаты в один лот только при полном совпадении имени. Если имя написано по-разному (например: Ky4er, kYcher, Кучер), такие донаты создадут отдельные лоты. Эта функция позволяет вручную объединить такие лоты в один.
"Ручки", за которые перетаскиваются лоты.
На скриншоте взялись за "ручку" лота Test и навели его на лот Test2.
Результат объединения двух лотов (Test2 остался, к нему прибавилось значение лота Test).
8. Колесо: включение/исключение, прокрутка
8.1 Включить/исключить лоты из колеса
чекбоксы
- Перейди на вкладку “Колесо”.
- Слева отображается список участников/лотов с чекбоксами.
- Чекбокс включён → лот участвует. Выключен → не участвует.
Если задан порог стоимости стрима, “недостаточные” лоты автоматически выключаются и чекбокс становится недоступным.
На скриншоте в колесе участвует только один лот - Test3. У лотов Test2 и Test1 недостаточно средств для стрима (в примере стоимость стрима установлена на 4 000).
В админке стоимость стрима уменьшили до 1 700. После этого лот Test1 также начал участвовать в колесе, так как его сумма превышает 1 700.
8.2 Кнопки под списком
управление
- Включить все - включает все лоты, которые не заблокированы порогом.
- Отключить все - выключает все лоты.
- Перегенерировать цвета - меняет цвета сегментов (визуально).
8.3 Прокрутка колеса
спин
- Убедись, что включены хотя бы два лота.
- Выстави желаемое время прокрутки колеса.
- Нажми кнопку «Крутить колесо».
- Дождись остановки. Победитель определяется указателем.
Время можно задать: • с клавиатуры, • кнопками ↑ ↓, • колёсиком мыши.
Если включённых лотов меньше двух, колесо будет бессмысленным. Сначала включи лоты или снизь стоимость стрима.
1 - поле таймера. 2 - кнопка "Крутить колесо". 3 - подсказка для таймера.
9. Победитель и «Списать за стрим»
9.1 Окно победителя
модалка
После остановки колеса показывается окно с победившим лотом.
- Нажми «Крутить колесо» и дождись результата.
- В модалке будет кнопка «Списать за стрим».
1 - победитель, 2 - кнопка списания.
9.2 Что делает «Списать за стрим»
логика
- Берёт текущую “Стоимость стрима” из админки.
- Списывает эту сумму с победившего лота.
- Если после списания сумма стала = 0 - лот будет удалён.
- Список лотов обновляется, и порог стоимости снова применяется.
Если стоимость стрима не задана, списание не будет работать корректно - сначала установи стоимость в админке.
Список лотов после одного прокрута рулетки (в 9.1 у лота Test3 списали 1 700).
10. Удаление лотов и очистка
10.1 Удалить один лот
рулетка
- В списке лотов нажми иконку удаления (корзина) напротив нужного лота.
- В появившейся модалке нажми "Удалить".
- Лот исчезнет из списка и из колеса (если участвовал).
Кнопка удаления (корзина).
Модальное окно удаления лота.
Список лотов после удаления лота Test1.
10.2 Очистить все лоты
рулетка
- Нажми кнопку “Удалить всё / Очистить”.
- Подтверди действие в модальном окне.
Кнопка удаления всех лотов.
11. Тестовые донаты и проверка
11.1 Где смотреть тестовые донаты
ссылки
DonatePayИстория транзакций
Открыть
DonationAlertsЛента донатов
Открыть
Если донаты не “доходят” в приложение: проверь подключение DA/DP в админке.
Кнопка тестовых донатов в DonatePay.
Кнопка тестовых донатов в DonationAlerts.
11.2 Проверка на рулетке
чеклист
- Сделай тестовый донат в DA или DP.
- Убедись, что донат появился в списке лотов.
- Проверь, что сумма соответствующего лота изменилась.
- Проверь, что Telegram-уведомление пришло.
Уведомления в тг боте (если выполнен пункт 4).
Список лотов после тестовых донатов.
12. Частые проблемы
Не могу управлять рулеткой (кнопки серые)auth
- Открой админку и выполни вход.
- В DevTools на рулетке проверь /api/state → authed: true.
- Если ранее переключал домены/куки - очисти cookies для dchdonate.ru и войди заново.
В колесе остаются “недостаточные” лотыstream cost
- Проверь, что стоимость стрима задана > 0 в админке.