Чат/тема регистрируется в этом списке автоматически, как только кто-то написал в неё — по умолчанию бот молчит. Включите нужные тумблеры отдельно: AI-шутки (триггер-слово + гача, платно), Да/Нет (бесплатный флейвор на слова "да"/"нет", без AI) и/или Голосование за мьют — независимо друг от друга, и только в конкретной теме. Кликните по чату, чтобы развернуть его темы ("подчаты" = форум-темы внутри супергруппы; для обычной группы без форума — единственная строка "вся группа"). Название темы можно задать прямо из чата командой /th Имя. Учёт дней рождения — отдельный тумблер прямо в заголовке чата (не темы): он на весь чат сразу, во всех его подчатах, см. вкладку "Дни рождения".
Гача — общая на весь бот
Один счётчик на все чаты и темы вместе — показывать его в каждой строке таблицы было бы просто дублированием одного и того же числа.
| Тема | AI-шутки | Да/Нет | Голосование |
|---|
Правки применяются к следующему ответу бота без передеплоя.
Провайдер и месячный бюджет
Технические детали провайдеров (модель/baseURL/цена за токен)
Оба ключа (DeepSeek/OpenAI) читаются из env — переключение выше не требует перезапуска. baseURL/модель/цена за токен — оценочные, для расчёта $ в статистике; если провайдер изменит цены, поправьте здесь.
Персона и триггер
Частота — держим счёт предсказуемым
Стикер-заглушка
Если позвали по имени (не гачей), а лимит (кулдаун/дневной кап/месячный бюджет) уже исчерпан — вместо тишины отправляется случайный стикер отсюда. Короткое имя пака — из ссылки t.me/addstickers/<имя>. Пусто = фолбэк выключен. Пак можно обновлять когда угодно, бот подхватит новые стикеры в течение часа без перезапуска.
Сценарии (пассивная гача)
Один общий пул — каждый вызов случайно выбирает сценарий среди наименее использованных (без деления на категории/тона). Можно использовать плейсхолдер {target} — тогда подставляется случайный "активный" участник (или тот, кто позвал бота по имени).
Использование сценариев
Сколько раз реально выпадал каждый сценарий (см. scenario.ts — shuffle-bag по минимальному счётчику: разброс использований никогда не превышает 1). Для контроля, что распределение честное, а не только "по задумке".
Гача — вероятность пассивного срабатывания
Сама кривая нарастания вероятности (soft pity) — только через API/код, не здесь.
Флейвор "да"/"нет" — бесплатный, не расходует AI-бюджет
Счета у провайдеров
Реальные данные из кабинетов DeepSeek и OpenAI (обновляются раз в час, кнопка ниже — обновить сразу). Блок «Бюджет» ниже — это оценка самого бота по ценам из конфига.
Бюджет
Провайдер: —
Потрачено сегодня: —
Потрачено в этом месяце: — из —
Агрегаты за последние 30 дней.
По дням
| День | Звонков | Prompt tokens | Completion tokens | $ |
|---|
Как заходят сценарии
Отклик — доля ответов, на которые поставили хоть одну реакцию (любую) или ответили реплаем. Считается только по ответам, отправленным после включения сбора реакций. Выводы стоит делать не раньше, чем у сценария наберётся хотя бы 8–10 ответов: на меньшем числе это шум.
По чатам
| chat_id | Звонков | $ |
|---|
Промпт (что реально ушло модели) и контекст сворачиваются — кликните строку, чтобы развернуть. Последние 50 ответов по всем чатам, фильтр по chat_id опционален.
| Время | Чат | Тема | Тип | Ответ | Реакции | Реплаи | Задержка | $ |
|---|
Настройки голосования за мьют
Спецфраза, которой нужно ответить на сообщение нарушителя, чтобы открыть голосование, и его правила.
История голосований
По всем чатам, свежие сначала. У успешных ("muted") доступна кнопка снять мьют вручную.
| Начато | Чат | Тема | Цель | Инициатор | Да/Нет | Статус |
|---|
Бот пассивно запоминает участников чата (id/имя/username) и раз в двое суток обновляет дату рождения напрямую из профиля Telegram (структурированное поле "Дата рождения", не текст — никакого AI-угадывания). Пол Telegram как атрибут профиля не хранит вообще — задаётся только вручную. Тумблер "Дни рождения" — в заголовке чата на вкладке Подчаты, один на весь чат, не на отдельную тему. Дату, заданную здесь вручную, автообновление больше никогда не трогает. Поздравление в день рождения генерирует AI по промпту ниже и уходит в общий чат.
Промпт поздравления
{name} — имя именинника, {gender} — "мужской"/"женский"/"неизвестен" (для согласования рода в тексте).
Проверить, что реально сгенерирует AI — без отправки в чат (но реальный AI-вызов, расходует бюджет как обычно).
Добавить участника вручную
Для тех, кого бот сам не найдёт (дата не заполнена в профиле, настройки приватности) — можно завести карточку самостоятельно, включая пол (Telegram его не хранит вообще). tgId — числовой Telegram id (его можно узнать, например, у @userinfobot).
Участники
| Имя | Username | Пол | Др (ДД.ММ) | Источник | Чат |
|---|
| Время | Часть | Уровень | Модуль | Сообщение | Контекст |
|---|
Резервная копия конфига
Все промпты и настройки разом (AI-конфиг, голосование, дни рождения) — в один файл. Не включает рабочие данные (чаты/сообщения/участников/аккаунты/статистику) и счётчики (кулдауны, гачу) — только то, что можно поправить в панели руками.
Суперадмин-аккаунты панели — все равноправны, полный доступ ко всем чатам.
| Логин | Создан |
|---|