Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ: python 3.12, aiogram 3.0, yt-dlp
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°
- Π Π°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΅Π³ΠΎ ΠΊΠΎΡΠ΅Π½Ρ (ΠΏΠ°ΠΏΠΊΠ° extractbot)
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PYTHONPATH:
$env:PYTHONPATH='.'- Π ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ»
.env, Π²ΡΡΠ°Π²ΡΡΠ΅ Π² ΠΏΠΎΠ»Π΅BOT_TOKENΡΠΎΠΊΠ΅Π½ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ-Π±ΠΎΡΠ° - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
python3 -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π±ΠΎΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
python .\src\bot\start.py- Python 3.12
- 0.5-1.0 ΠΠ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
- Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π½Π΅ Π½ΠΈΠΆΠ΅ 50ΠΠ/c (Π΄Π»Ρ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ)
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows
- ΠΡΠ»ΠΈ Π±ΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎ 100 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΡΠΎ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΡΠ°Π½Π΅Ρ Ρ ΠΎΡΡΠΈΠ½Π³ Beget, ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠ°ΠΉΡ Π·Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.
- ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π·ΡΡΡ Ubuntu 23.04 LTS
- ΠΠΎΡΡΠ°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ (ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ) ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²:
sudo nano /etc/systemd/system/my_bot.service- ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ- ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ nano):
nano ΠΠ£Π’Π¬_Π_Π‘ΠΠ ΠΠΠ‘Π£ - ΠΠ°ΠΉΡΠΈ Π»ΡΠ±ΠΎΠΉ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
[Unit]
Description=Telegram Bot
After=network.target
[Service]
User=root
WorkingDirectory=/home/path/to/bot # Π’ΡΡ ΠΏΡΡΡ ΠΊ Π±ΠΎΡΡ
ExecStart=/home/path/to/venv/bin/python main.py
# ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈ Π²ΡΠ»Π΅ΡΠ΅
Restart=always
# ΠΠ°ΡΠ·Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠΎΠΌ
RestartSec=5
[Install]
WantedBy=multi-user.target
- ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ:
sudo systemctl daemon-reload
sudo systemctl enable my_bot
sudo systemctl start my_bot- ΠΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ
systemctl status ΠΠΠ―_Π‘ΠΠ ΠΠΠ‘Π.service