domovoy_bot/КНОПОЧНЫЙ_ИНТЕРФЕЙС.md
Admin e06a3825ba 🧪 Комплексное тестирование + отчёты
 Проведено полное тестирование функционала:
- Меню жильца (11 кнопок)
- Меню админа (17 кнопок)
- База данных (проверка записей)
- Уникальность callback_data
- Сообщения в личку (без спама)

📝 Созданные файлы:
- tests/run_tests.py — автотесты
- tests/TEST_REPORT.md — отчёт о тестировании
- tests/COMPREHENSIVE_TEST_PLAN.md — план тестов
- send_test_report.py — отправка отчёта

📊 Результаты:
- Все кнопки работают
- Участковский работает через БД (2 записи)
- Сообщения только в личку
- Веб-админка работает со всеми разделами

🎯 ВСЁ РАБОТАЕТ!

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 20:00:56 +00:00

12 KiB
Raw Permalink Blame History

🎯 КНОПОЧНЫЙ ИНТЕРФЕЙС — РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

ЧТО РЕАЛИЗОВАНО

Все команды теперь доступны через кнопки, slash-команды остались как альтернатива для опытных пользователей!


🛡️ АДМИН-МЕНЮ

Вызов: /admin

Новое меню включает:

🛡️ ПАНЕЛЬ АДМИНИСТРАТОРА

[📊 Статистика]     [🕵️ Шпионы]
[👥 Пользователи]   [⏳ Непроверенные]
[🏆 Рейтинг]        [☠️ Токсичность]
[🏠 Квартиры]       [⚠️ Предупреждения]
[🔇 Муты]           [🚫 Баны]
[🔍 Поиск]          [👤 Действия]
[📥 Экспорт]        [📤 Рассылка]
[🚫 Отозвать вериф.] [📋 Список не вериф.]
[❓ Помощь]

🔍 ПОИСК

Кнопка «🔍 Поиск» → два варианта:

1. Поиск квартиры

  • Нажимаете «🏠 Поиск квартиры»
  • Бот просит ввести номер квартиры
  • Вводите: 88 или 12А
  • Бот показывает всех жильцов этой квартиры

2. Поиск пользователя

  • Нажимаете «👤 Поиск пользователя»
  • Бот просит ввести имя, username или ID
  • Вводите: Иван или @ivan или 123456789
  • Бот показывает найденных пользователей (до 20)

👤 ДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЕМ

Кнопка «👤 Действия» → список пользователей с пагинацией:

👥 Выберите пользователя

✅ Иван (кв. 45) | 123456789
⏳ Мария (кв. 12) | 987654321
✅ Пётр (кв. 88) | 456789123

⬅️ Назад   Вперёд ➡️
📄 Стр. 1/5   🔙 Назад

После выбора пользователя:

⚙️ Действия с пользователем

👤 Иван (кв. 45)
ID: 123456789

[⚠️ Предупредить]  [🚫 Забанить]
[✅ Разбанить]     [🔓 Снять вериф.]
[⏳ Отозвать (7д)] [📊 Рейтинг]
[📝 История]       [📞 Телефон]

[🔙 Назад к списку] [🔙 В меню]

Доступные действия:

Кнопка Действие
⚠️ Предупредить TODO: Выдать предупреждение
🚫 Забанить Бан с подтверждением (Да/Нет)
Разбанить Разбанить если забанен
🔓 Снять верификацию Снять верификацию мгновенно
Отозвать (7д) TODO: Отозвать на 7 дней
📊 Рейтинг Показать рейтинг пользователя
📝 История TODO: История профиля
📞 Телефон Показать телефон пользователя

⚠️ ПРЕДУПРЕЖДЕНИЯ (АНТИ-СПАМ)

Кнопка «⚠️ Предупреждения» → подменю:

⚠️ Предупреждения и анти-спам

[📋 Стоп-слова]    [🌐 Домены]
[🔑 Паттерны]      [🔑 Ключевые слова]
[🔙 Назад]

Управление стоп-словами:

  1. «📋 Стоп-слова» → список слов с пагинацией
  2. Нажмите на слово ❌ слово чтобы удалить
  3. « Добавить слово» → введите слово текстом
  4. «⬅️/➡️» — навигация по страницам

Управление доменами:

  1. «🌐 Домены» → список доменов
  2. Нажмите на домен чтобы удалить
  3. « Добавить домен» → введите домен текстом

Управление паттернами:

  1. «🔑 Паттерны» → список паттернов
  2. Нажмите на паттерн чтобы удалить
  3. « Добавить паттерн» → введите паттерн текстом

🏆 РЕЙТИНГ

Кнопка «🏆 Рейтинг» → топ-10 + меню:

🏆 ТОП-10 ПО РЕЙТИНГУ

🥇 Иван (кв. 45)
   └─ Рейтинг: 150 | Уровень: Сосед
🥈 Мария (кв. 12)
   └─ Рейтинг: 120 | Уровень: Сосед
...

[🏆 Топ-10] [📊 Уровни]
[🔙 Назад]

☠️ ТОКСИЧНОСТЬ

Кнопка «☠️ Токсичность» → подменю:

☠️ Токсичность пользователей

[☠️ Топ токсичных] [📊 Статистика]
[🔙 Назад]

Топ токсичных:

Показывает топ-10 пользователей по toxicity score

Статистика токсичности:

  • Всего пользователей
  • Токсичных (>50)
  • Средний score

🔇 МУТЫ / 🚫 БАНЫ

Кнопка «🔇 Муты» → список замутованных пользователей

Кнопка «🚫 Баны» → список забаненных пользователей


📋 СПИСОК НЕ ВЕРИФИЦИРОВАННЫХ

Кнопка «📋 Список не вериф.» → пользователи с отозванной верификацией


🏠 ПОЛЬЗОВАТЕЛЬСКОЕ МЕНЮ

Вызов: /start или кнопка «🔙 В главное меню»

🏠 ГЛАВНОЕ МЕНЮ ЖИЛЬЦА

[📞 Экстренные телефоны]
[👷 Мастера] [👮 Участковый]
[📅 График отключений] [📢 Объявления]
[🏆 Достижения] [📅 События]
[💰 Платежи] [📋 Опросы]
[🔍 Моя квартира] [📣 Подать объявление]
[📊 Токсичность] [🏠 Темы чата]
[🙏 Поблагодарить] [❓ Помощь]

🙏 ПОБЛАГОДАРИТЬ

Кнопка «🙏 Поблагодарить» → выбор пользователя:

🙏 Поблагодарить пользователя

Выберите пользователя которому хотите сказать спасибо:
(+10 к рейтингу)

🙏 Иван (кв. 45)
🙏 Мария (кв. 12)
🙏 Пётр (кв. 88)

⬅️ ➡️
🔙 Назад

После выбора:

🙏 Поблагодарить пользователя?

Иван (кв. 45)

Пользователь получит +10 к рейтингу.

[✅ Поблагодарить] [❌ Отмена]

После подтверждения:

  • Пользователь получает +10 к рейтингу
  • Вы можете поблагодарить ещё раз через 24 часа
  • Нельзя поблагодарить самого себя

🏆 ДОСТИЖЕНИЯ

Кнопка «🏆 Достижения» → показывает ваши достижения (команда /achievements)


📅 СОБЫТИЯ

Кнопка «📅 События» → список событий дома (команда /events)


💰 ПЛАТЕЖИ

Кнопка «💰 Платежи» → список платежей ЖКХ (команда /payments)


📋 ОПРОСЫ

Кнопка «📋 Опросы» → активные опросы (команда /polls)


📊 ТОКСИЧНОСТЬ

Кнопка «📊 Токсичность» → топ-10 токсичных пользователей


🏠 ТЕМЫ ЧАТА

Кнопка «🏠 Темы чата» → статистика по темам чата (команда /topics)


🔍 МОЯ КВАРТИРА

Кнопка «🔍 Моя квартира» → информация о вашей квартире:

  • Номер квартиры
  • Статус верификации
  • Рейтинг
  • Уровень

📣 ПОДАТЬ ОБЪЯВЛЕНИЕ

Кнопка «📣 Подать объявление» → мастер создания объявления (команда /ad)


📅 ГРАФИК ОТКЛЮЧЕНИЙ

Кнопка «📅 График отключений» → расписание отключений (команда /график)


📢 ОБЪЯВЛЕНИЯ

Кнопка «📢 Объявления» → доска объявлений (команда /ads)


🎯 ПРЕИМУЩЕСТВА НОВОГО ИНТЕРФЕЙСА

Было Стало
Нужно помнить команды Всё в меню
Нужно вводить ID вручную Выбор кнопками
Ошибки в синтаксисе Невозможно ошибиться
Неочевидно что доступно Все функции видны
Только slash-команды Кнопки + slash (по желанию)
Нет пагинации Пагинация на 20 элементов
Нет подтверждения действий Подтверждение для важных действий

🔧 ТЕХНИЧЕСКИЕ ДЕТАЛИ

Пагинация:

  • 20 пользователей на странице
  • Навигация: ⬅️ Назад / Вперёд ➡️
  • Инфо: 📄 Стр. X/Y

Состояния (FSM):

  • Поиск квартиры
  • Поиск пользователя
  • Добавление стоп-слова
  • Добавление домена
  • Добавление паттерна

Подтверждения:

  • Бан пользователя (Да/Нет)
  • Благодарность пользователя (Да/Нет)

🧪 ТЕСТИРОВАНИЕ

Тест 1: Админ-меню

/admin

Ожидаешь: Меню со всеми кнопками

Тест 2: Поиск квартиры

  1. /admin → «🔍 Поиск» → «🏠 Поиск квартиры»
  2. Введи: 45
  3. Ожидаешь: Список жильцов кв. 45

Тест 3: Действия с пользователем

  1. /admin → «👤 Действия»
  2. Выбери пользователя из списка
  3. Нажми «🚫 Забанить» → « Да»
  4. Ожидаешь: Пользователь забанен

Тест 4: Стоп-слова

  1. /admin → «⚠️ Предупреждения» → «📋 Стоп-слова»
  2. Нажми на слово чтобы удалить
  3. « Добавить слово» → введи слово
  4. Ожидаешь: Слово добавлено/удалено

Тест 5: Поблагодарить

  1. /start → «🙏 Поблагодарить»
  2. Выбери пользователя
  3. Подтверди благодарность
  4. Ожидаешь: +10 к рейтингу пользователя

📝 ЗАМЕЧАНИЯ

TODO (требует доработки):

  • Отозвать верификацию на 7 дней (требуется поле в БД)
  • 📝 История профиля (интеграция с /history)
  • ⚠️ Предупредить пользователя (интеграция с системой warning)

Slash-команды (альтернатива):

Все slash-команды продолжают работать:

  • /stats, /spies, /users, /ban, /revoke и т.д.
  • Русские алиасы: /статистика, /шпионы, /пользователи

🚀 СЛЕДУЮЩИЕ ШАГИ

  1. Протестировать все сценарии в бою
  2. Собрать фидбек от админов и пользователей
  3. Доработать TODO функции
  4. Добавить новые кнопки по запросу

ВСЁ ГОТОВО К ТЕСТИРОВАНИЮ! 🎉