Содержание

Управление

Оплата

Идентификаторы планов — это значения конфигурации, а не названия на публичной странице тарифов. Оплата отключена, пока не задан billing.plan и не настроен metering.db.

Идентификаторы планов в конфигурации

ID планаВключённое использование
free50 ответов за день UTC; на аватаре отображается водяной знак
streamer20 000 ответов и 20 часов TTS за месяц UTC
studioНеограниченное число ответов, до 10 персон и флаг API

billing.plans объединяет переопределения со значениями по умолчанию. Например:

{
  "billing": {
    "plan": "free",
    "plans": {
      "free": {
        "replies_per_day": 30
      }
    }
  }
}

Лимиты использования

При использовании 80% лимита одно предупреждение добавляется к ответу. При 100% отправляется одно сообщение об исчерпании плана, после чего мост молчит до следующего периода. Оба уведомления проходят через JEV. Также действуют ограничения limits.max_replies_per_hour и limits.max_tts_seconds_per_day.

Вебхуки и платёжный провайдер

Вебхук принимает POST /billing/webhook на слушателе панели управления. Подписывайте запросы заголовком Stream-Mate-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, "<t>.<body>")>; допустимое отклонение времени — пять минут. JSON-тело содержит id, account, plan и days. Укажите BILLING_WEBHOOK_SECRET длиной не менее 16 байт, иначе каждый вебхук будет отклонён.

Существует только провайдер stub; реальные платежи пока не подключены. Повтор вебхука с тем же ID ничего не меняет. Повторное назначение того же плана продлевает его от paid_until; другой план начинается сразу. После истечения срока восстанавливается billing.plan.

Отчёт об использовании

Запустите -usage-report за месяц, чтобы создать JSON-отчёт с итогами по каналам и планам и данными об оплатах.

./bridge -config config.json -usage-report 2026-10