From ede95485141ec728048124337aadd47cc1a97eef Mon Sep 17 00:00:00 2001 From: Egor Deev Date: Thu, 2 Oct 2025 17:26:25 +0300 Subject: [PATCH] README --- README.md | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 104 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fb4cbb3..10c11ee 100644 --- a/README.md +++ b/README.md @@ -1 +1,104 @@ -# dorm_alarm \ No newline at end of file +# πŸ”” Dorm Alarm Bot + +Telegram-Π±ΠΎΡ‚ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° работоспособности систСм с настраиваСмыми ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ пСрсонализированным ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. + +## πŸ“‹ ОписаниС + +Асинхронный Telegram-Π±ΠΎΡ‚, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ систСму пСриодичСских ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ с Π³ΠΈΠ±ΠΊΠΎΠΉ настройкой ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ². ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° доступности сСрвисов ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ рСгулярных статусных сообщСний ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. + +## πŸ›  ВСхнологичСский стСк + +- **Python 3.8+** +- **aiogram 3.x** - асинхронный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Telegram Bot API +- **SQLite3** - встроСнная рСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… +- **asyncio** - асинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ + +## βš™οΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности + +- βœ… РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с автоматичСской ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ +- ⏰ Настройка ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ (5 ΠΌΠΈΠ½ΡƒΡ‚ - 24 часа) +- πŸ”„ ДинамичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ статусом ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ +- πŸ“Š ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ +- πŸ” Graceful shutdown с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ +- πŸ’Ύ ΠŸΠ΅Ρ€ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ настроСк Π² SQLite + +## πŸ“¦ Установка + +```bash +# ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория +git clone https://github.com/EDeev/dorm_alarm.git +cd dorm_alarm + +# Установка зависимостСй +pip install -r requirements.txt +``` + +## πŸ”§ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ + +Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» `init.py` ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°: + +```python +BOT_TOKEN = "your_bot_token_here" +``` + +## πŸš€ Запуск + +```bash +python bot.py +``` + +## πŸ“ ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΡ‚Π° + +| Команда | ОписаниС | +|---------|----------| +| `/start` | РСгистрация ΠΈ активация ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ | +| `/status` | ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… настроСк ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ | +| `/help` | Бправочная информация | + +## πŸ— АрхитСктура + +``` +dorm_alarm/ +β”œβ”€β”€ bot.py # Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π°, инициализация ΠΈ lifecycle management +β”œβ”€β”€ handlers.py # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ callback-запросов +β”œβ”€β”€ init.py # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Bot ΠΈ Dispatcher +β”œβ”€β”€ sql.py # Database manager ΠΈ ORM-слой +└── requirements.txt +``` + +## πŸ—„ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… + +**Π’Π°Π±Π»ΠΈΡ†Π° `users`:** +- `user_id` - ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ +- `username` - имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ +- `interval_minutes` - ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 60 ΠΌΠΈΠ½) +- `is_active` - статус активности ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ +- `created_at` - timestamp рСгистрации + +**Π’Π°Π±Π»ΠΈΡ†Π° `notifications_log`:** +- `id` - Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ +- `user_id` - ссылка Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ +- `sent_at` - timestamp ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ +- `status` - статус доставки (sent/failed) + +## πŸ“„ ЛицСнзия + +Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ являСтся нСкоммСрчСским ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. + +## πŸ‘¨β€πŸ’» Автор + +**Π”Π΅Π΅Π² Π•Π³ΠΎΡ€ Π’ΠΈΠΊΡ‚ΠΎΡ€ΠΎΠ²ΠΈΡ‡** - Backend Developer +- GitHub: [@EDeev](https://github.com/EDeev) +- Email: egor@deev.space +- Telegram: [@Egor_Deev](https://t.me/Egor_Deev) + +--- + +
+ ⭐ Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ оказался ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ Π½Π° GitHub! +

Π‘ΠΎΠ·Π΄Π°Π½ΠΎ с ❀️ ΠΎΡ‚ вашСго Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ³ΠΎ - deev.space Β©

+
+ +--- + +⭐ Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ оказался ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄Ρƒ!