domovoy_bot/НАПОМИНАНИЯ_О_ПЛАТЕЖАХ.md
Admin ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00

10 KiB
Raw Permalink Blame History

💳 Напоминания о платежах ЖКХ — v1.6

Версия: v1.6 Дата: 26 февраля 2026 г. Статус: Реализовано


📋 Описание

Система напоминаний о платежах за коммунальные услуги. Админ создаёт напоминания о платежах, бот автоматически рассылает напоминания 5-го и 9-го числа каждого месяца, жильцы всегда в курсе сроков оплаты.


🎯 Возможности

  • 8 типов платежей (электроэнергия, вода, отопление, газ, содержание жилья, мусор, интернет, другое)
  • Пошаговое создание напоминаний
  • Авто-рассылка 5-го и 9-го числа в 09:00
  • Ссылки на оплату (Госуслуги, Сбербанк, Тинькофф)
  • Просмотр всех платежей
  • Удаление напоминаний
  • Ежемесячные повторяющиеся платежи

📱 Команды

Для администраторов:

Команда Описание Пример
/payment_add Добавить напоминание о платеже /payment_add
/payment_del <ID> Удалить напоминание по ID /payment_del 5
/payments, /платежи Показать все напоминания /payments

Для всех:

Команда Описание Пример
/payments, /платежи Показать все напоминания /payments

🎯 Типы платежей

Тип Emoji Описание
1 Электроэнергия Оплата за свет
2 💧 Вода 💧 ХВС, ГВС, водоотведение
3 🔥 Отопление 🔥 Отопительный сезон
4 🔶 Газ 🔶 Газоснабжение
5 🏠 Содержание жилья 🏠 Содержание и ремонт
6 🗑️ Вывоз мусора 🗑️ ТКО, мусор
7 📡 Интернет 📡 Домашний интернет
8 📋 Другое 📋 Прочие платежи

🎯 Сценарии использования

Сценарий 1: Создание напоминания

1. Админ пишет:

/payment_add

2. Бот показывает меню:

💳 Добавление напоминания о платеже

Выберите тип платежа:

1⃣ ⚡ Электроэнергия
2⃣ 💧 Вода
3⃣ 🔥 Отопление
4⃣ 🔶 Газ
5⃣ 🏠 Содержание жилья
6⃣ 🗑️ Вывоз мусора
7⃣ 📡 Интернет
8⃣ 📋 Другое

Или отправьте номер типа (1-8):
[кнопки с типами]

3. Админ нажимает 💧 Вода или отправляет 2

4-8. Пошаговый ввод:

  • Название: Квартплата за воду
  • Сумма: 1500
  • Дата оплаты: 10 (ежемесячно до 10 числа)
  • Описание: ХВС, ГВС, водоотведение

9. Бот подтверждает:

✅ Напоминание о платеже добавлено!

💧 Вода — Квартплата за воду

💰 Сумма: 1500 ₽
📅 Срок оплаты: 10 число каждого месяца
🔖 ID: 1

Для просмотра: /payments

Сценарий 2: Просмотр платежей

Жилец или админ:

/payments

Бот:

💳 Напоминания о платежах ЖКХ

1. Квартплата за воду
   └─ Сумма: 1500 ₽
   └─ Срок: 10 число
   └─ Осталось дней: 5

2. Электроэнергия
   └─ Сумма: 800 ₽
   └─ Срок: 15 число
   └─ Осталось дней: 10

3. Интернет
   └─ Сумма: Переменная
   └─ Срок: 25 число
   └─ Осталось дней: 20

💡 Для добавления: /payment_add

Сценарий 3: Авто-напоминание (5 число)

5-го числа в 09:00 (автоматически):

Бот пишет в чат:

⏰ Напоминание об оплате ЖКХ!

Сегодня 5 число. Не забудьте оплатить:

✅ Квартплата за воду
   └─ Срок: 10 число (осталось 5 дн.)
   └─ Сумма: 1500 ₽

✅ Электроэнергия
   └─ Срок: 15 число (осталось 10 дн.)
   └─ Сумма: 800 ₽

💳 Ссылки на оплату:
• [Госуслуги ЖКХ](https://www.gosuslugi.ru/category/payments/zhkh)
• [Сбербанк Онлайн](https://www.sberbank.ru/ru/person/payments/zhkh)
• [Тинькофф ЖКХ](https://www.tinkoff.ru/payments/zhkh)

_Оплатить можно через Госуслуги, Сбербанк или Тинькофф_

Сценарий 4: Удаление напоминания

Админ:

/payment_del 1

Бот:

✅ Напоминание "Квартплата за воду" удалено

🗄️ База данных

Таблица payment_reminders:

CREATE TABLE payment_reminders (
    reminder_id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    amount INTEGER,              -- Сумма в рублях
    due_date TIMESTAMP NOT NULL, -- Дата оплаты
    description TEXT,
    payment_link TEXT,           -- Ссылка на оплату
    is_recurring BOOLEAN DEFAULT 1,  -- Ежемесячный
    created_by BIGINT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    is_active BOOLEAN DEFAULT 1,
    last_reminder_sent TIMESTAMP,
    FOREIGN KEY (created_by) REFERENCES users(user_id)
)

Индексы:

  • ix_payment_reminders_due_date — по дате
  • ix_payment_reminders_active — по статусу

🧪 Тестирование

Чек-лист проверки:

1. Создание напоминания

# Админ:
/payment_add
# Выбрать тип, название, сумму, дату, описание
  • Меню типов отображается
  • Пошаговый ввод работает
  • Напоминание сохранено в БД

2. Просмотр платежей

/payments
  • Напоминания отображаются
  • Сумма указана верно
  • Дней до срока считается правильно

3. Удаление

# Админ:
/payment_del 1
  • Напоминание удалено (is_active=False)

4. Авто-напоминание

# Установить в БД last_reminder_sent на вчера
# Или подождать 5 или 9 число
  • Напоминание приходит в 09:00
  • Ссылки на оплату отображаются

📁 Изменённые файлы

Файл Изменения
database/models.py Модель PaymentReminder
database/migrate_add_payment_reminders.py Миграция БД
handlers/payments.py Хендлеры платежей
keyboards/inline.py Клавиатуры для платежей
services/scheduler.py Авто-напоминания
data/payment_links.json Ссылки на оплату
handlers/__init__.py Импорт payments_router
main.py Регистрация payments_router

🚀 Как использовать

Для админа:

  1. Добавить напоминание:

    /payment_add
    

    Далее следуй инструкциям бота.

  2. Посмотреть все платежи:

    /payments
    
  3. Удалить напоминание:

    /payment_del 1
    

Для жильца:

  1. Посмотреть напоминания:

    /payments
    
  2. Получить напоминание:

    • Автоматически 5-го и 9-го числа в 09:00

💡 Советы

Когда настраивать:

  • Сумма: Указывайте среднюю сумму за месяц
  • Дата: Дата до которой нужно оплатить
  • Описание: Что входит в платёж (например "ХВС, ГВС, водоотведение")

Ссылки на оплату:

Отредактируйте data/payment_links.json:

{
  "payment_links": [
    {
      "name": "Ваш банк",
      "url": "https://ссылка-на-оплату",
      "description": "Описание"
    }
  ]
}

Дни напоминаний:

По умолчанию: 5 и 9 число

Измените в data/payment_links.json:

{
  "default_reminder_days": [3, 7]  // 3 и 7 число
}

🔧 Отладка

Посмотреть напоминания в БД:

cd /home/matrixhasyou/domovoy_bot
source venv/bin/activate
sqlite3 database/domovoy.db

SELECT reminder_id, title, amount, due_date, is_active
FROM payment_reminders
ORDER BY due_date;

Логи:

tail -f logs/bot.log | grep -i "платеж\|payment"

Тест напоминания:

# В БД установить текущую дату на 5 число
# Или вызвать функцию вручную через Python

Преимущества

Было Стало
Забывают про оплату Напоминания 5 и 9 числа
Нет ссылок на оплату Ссылки в сообщении
Ручное напоминание Авто-рассылка
Не видно список /payments — все платежи

Напоминания о платежах готовы! 💳

Следующий шаг: тестирование на тестовой группе и фиксация версии v1.6