Telegram-Π±ΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° Π±Π°Π·Π΅ GigaChat API. ΠΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠ»Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (Π€ΠΠ)
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅ΡΠ΅Π· SQLite
- ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ GigaChat
- ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π΄Π»Ρ:
- ΠΠ΅Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° SQL (Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΡΠ΅ΡΠ΅Π· GigaChat)
- ΠΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
- ΠΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
- ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²ΡΠ·ΠΈ Ρ GigaChat API
- ΠΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Ρ
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ:
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
- Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅/Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅)
- Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
- Python 3.8 ΠΈΠ»ΠΈ Π²ΡΡΠ΅
- SQLite3
- Π’ΠΎΠΊΠ΅Π½ Telegram Π±ΠΎΡΠ°
- Π£ΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ GigaChat API
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone https://github.com/Lookingforcommit/sql_ai_bot.git
cd <Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ-ΠΏΡΠΎΠ΅ΠΊΡΠ°>- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
python -m venv venvΠΠ»Ρ Linux/MacOS:
source venv/bin/activateΠΠ»Ρ Windows:
venv\Scripts\activate- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
pip install -r requirements.txt- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»
.envΠ² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
BOT_TOKEN=Π²Π°Ρ_ΡΠΎΠΊΠ΅Π½_telegram_Π±ΠΎΡΠ°
DB_PATH=ΠΏΡΡΡ_ΠΊ_Π±Π°Π·Π΅_Π΄Π°Π½Π½ΡΡ
.db
MIGRATIONS_DIR=ΠΏΡΡΡ_ΠΊ_Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ_ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
GIGACHAT_API_KEY=Π²Π°Ρ_ΠΊΠ»ΡΡ_gigachat_api-
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
sqlite/dataΠ΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . -
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ SQL-ΡΠ°ΠΉΠ»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ. Π€Π°ΠΉΠ»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
001_initial.sql,002_add_users.sql).
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π±ΠΎΡΠ°:
python main.py/menu- ΠΡΠ²Π΅ΡΡΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ/start- ΠΠ°ΡΠ°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±ΠΎΡΠΎΠΌ/register- ΠΠ°ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ/check_sql- ΠΡΠΎΠ²Π΅ΡΠΈΡΡ SQL-Π·Π°ΠΏΡΠΎΡ/quit- ΠΠ°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ Ρ SQL-Π°ΡΡΠΈΡΡΠ΅Π½ΡΠΎΠΌ/stats- ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ/stop_notifications- ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
- ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
/registerΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ" - Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°:
- Π€Π°ΠΌΠΈΠ»ΠΈΠΈ
- ΠΠΌΠ΅Π½ΠΈ
- ΠΡΡΠ΅ΡΡΠ²Π°
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
/check_sql, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π°Ρ Π·Π°ΠΏΡΠΎΡ:
/check_sql SELECT * FROM users WHERE id = 1
-
ΠΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ:
- ΠΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ΅ΡΠ΅Π· SQLite
- ΠΠ½Π°Π»ΠΈΠ· ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅ΡΠ΅Π· GigaChat ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
- ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠΈ
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
-
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΠΠ°Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅
- ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ SQL
- ΠΠΎΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
/quitΠ΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
/statsΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ" - ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ (1, 10, 15, 30 ΠΈΠ»ΠΈ 60 ΠΌΠΈΠ½ΡΡ)
- ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
/stop_notifications
project/
βββ src/
β βββ ai_management.py # ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ GigaChat
β βββ configs_management.py # Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ
β βββ db_management.py # ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
β βββ handlers.py # ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Telegram Π±ΠΎΡΠ°
β βββ middlewares.py # ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΠ
β βββ periodic_messages.py # Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ
βββ main.py # Π’ΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
βββ requirements.txt # ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
βββ .env # ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ






