https://github.com/mrconsoleka/network-city-helper
π€ Telegram bot to help students study
https://github.com/mrconsoleka/network-city-helper
aiogram3 netschool python3 sgo-edu telegram telegram-bot
Last synced: about 1 year ago
JSON representation
π€ Telegram bot to help students study
- Host: GitHub
- URL: https://github.com/mrconsoleka/network-city-helper
- Owner: MrConsoleka
- License: mit
- Created: 2024-11-11T09:34:22.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-01T10:09:21.000Z (over 1 year ago)
- Last Synced: 2025-05-09T02:00:06.788Z (about 1 year ago)
- Topics: aiogram3, netschool, python3, sgo-edu, telegram, telegram-bot
- Language: Python
- Homepage: https://t.me/sgo_edu_helper_bot
- Size: 943 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
Network City Helper


β
> [!CAUTION]
> ΠΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Β«ΠΡΠ’Π΅Ρ
ΡΒ»
β
## π Description
β
**Network City Helper** β ΡΡΠΎ Π²Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-Π±ΠΎΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ΅Π½ΠΈΠΊΠ°ΠΌ Π² ΡΡΠ΅Π±Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅. ΠΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ "Π‘Π΅ΡΠ΅Π²ΠΎΠΉ Π³ΠΎΡΠΎΠ΄", ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π½Π° ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. ΠΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅Π½Π½ΡΡ
Π·Π°Π΄Π°Π½ΠΈΡΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅Π»ΠΈΡΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π½Π° Π·Π°Π²ΡΡΠ°ΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ.
_Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅. Π ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ._
β
## π¨ Functions
β
### π ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠΈΠ΅:
* `/start` - Π·Π°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
* `/help` - ΠΏΠΎΠΌΠΎΡΡ
* `/menu` - ΠΌΠ΅Π½Ρ Π±ΠΎΡΠ°
### π ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈΠ΅:
* `/bells_load` - Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π²ΠΎΠ½ΠΊΠΎΠ²
* `/holidays_load` - Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ°Π½ΠΈΠΊΡΠ»
* `/timetable_load` - Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΊΠΎΠ²
β
## π Bot .env
β
| ΠΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---------------------------|--------------------------------------------------------------|
| BOT_TOKEN | Π’ΠΎΠΊΠ΅Π½ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Telegram-Π±ΠΎΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² Telegram Π² Π±ΠΎΡΠ΅ Ρ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ @botfather.|
| LOGGER | Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠΈΠ³ΡΠΎΠ²Π°Π½ΠΈΡ (BASE, FULL)|
| SECRET_KEY | Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ Π±Π΄|
| PARSE_MODE | ΠΠΎΠ΄ ΠΏΠ°ΡΡΠΈΠ½Π³Π° (HTML, MARKDOWNV2) |
| ADMINS_ID | ΠΠΉΠ΄ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²|
| DB_SQL | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ sql (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ PostgreSQL)|
| DB_LIB | ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΠ²ΡΠΈΡ Ρ Π±Π΄|
| DB_LOGIN | ΠΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΄|
| DB_PASSWORD | ΠΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΄|
| DB_HOST | Π₯ΠΎΡΡ Π±Π΄|
| DB_PORT | ΠΠΎΡΡ Π±Π΄|
| DB_NAME | ΠΠΌΡ Π±Π΄|
β
## π» Bot setup
β
1. ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
```shell
git clone https://github.com/MrEnderman-YT/Network-City-Helper.git
cd Network-City-Helper
```
β
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
```shell
python -m venv venv
```
β
3. ΠΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
```shell
# For Linux or macOS:
source venv/bin/activate
# For Windows:
venv\Scripts\activate
```
β
4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° `requirements.txt`:
```shell
pip install -r requirements.txt
```
β
5. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
python bot.py
```
β
> [!IMPORTANT]
> ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΡΡΠΈΡ python 3.11 ΠΈ Π½ΠΈΠΆΠ΅!
>
β
## π Todo List
β
- [x] Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ Todo list
- [x] ΠΠΎΠ΄Π΅Π»Π°ΡΡ readme Π³ΠΈΡΡ
Π°Π±Π°.
- [ ] Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΎΡΠ΅Π½ΠΎΠΊ
- [ ] Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΎΡΠ΅Π½ΠΎΠΊ
- [ ] Π‘Π΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Ρ
ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· Π³ΠΎΡ-ΡΡΠ»ΡΠ³ΠΈ
β
## ποΈ Library stack
β
* [Aiogram-3](https://github.com/aiogram/aiogram) - ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ Telegram Bot API
* [AsyncPG](https://github.com/MagicStack/asyncpg) - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
PostgreSQL.
* [Schedule](https://pypi.org/project/schedule/) - ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π΄Π°Π½ΠΈΠΉ.
* [Cryptography](https://pypi.org/project/cryptography/) - ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
(ΡΠΈΡΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
).
* [NetSchoolAPI-fork](https://github.com/MrEnderman-YT/netschoolapi) - ΠΌΠΎΠΉ ΡΠΎΡΠΊ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ Β«Π‘Π΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π³ΠΎΡΠΎΠ΄Π°Β»
β
## πΌ Credits
β
* [NetSchoolAPI](https://github.com/nm17/netschoolapi) - Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ Β«Π‘Π΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π³ΠΎΡΠΎΠ΄Π°Β»
β
## π€ Author of Network City Helper
**Β© ΠΠ»Π΅ΠΊΡΠ΅Π΅Π² Π ΠΎΠΌΠ°Π½**