# Repost from Vk to Tg π [](https://python.org) [](https://aiogram.dev) [](https://dev.vk.com) [](LICENSE) **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΠΏΠΎΡΡΠΈΠ½Π³Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈΠ· VKontakte Π² Telegram** Telegram-Π±ΠΎΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ΅ΠΏΠΎΡΡΠΈΠ½Π³Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ ΠΈΠ· ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ## π― ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ### ΠΠ»ΡΡΠ΅Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ - **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³** ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ ΠΈΠ· VK ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² - **ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ** Π΄ΠΎ 10 ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ - **ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ VK API** ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Ρ - **ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅** Ρ Π»Π°ΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Telegram - **ΠΠ½ΠΎΠ³ΠΎΡΠΎΡΠΌΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°** ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (ΡΠΎΡΠΎ, Π²ΠΈΠ΄Π΅ΠΎ, Π°ΡΠ΄ΠΈΠΎ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ) ### ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ - ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ `asyncio` - ΠΠ²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π°Π· Π΄Π°Π½Π½ΡΡ (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ/Π³ΡΡΠΏΠΏΡ) - Π’ΠΎΠΊΠ΅Π½-ΡΠΎΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ API - Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°ΠΌΠΈ ## π ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ ### ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ```bash pip install -r requirements.txt ``` ### ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ 1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Telegram-Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· [@BotFather](https://t.me/botfather) 2. ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½ VK API 3. ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» `config.py`: ```python # TOKENS botToken = 'YOUR_TELEGRAM_BOT_TOKEN' serviceToken = "YOUR_VK_SERVICE_TOKEN" # URL loginUrl = "https://oauth.vk.com/authorize?client_id=YOUR_APP_ID&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=wall,likes&response_type=token&v=5.131" ``` ### ΠΠ°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ```bash python bot.py ``` ## π Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ | ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ | |---------|----------|-----------| | `/start` | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ | `/start` | | `/add` | ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ | `/add domain_name` | | `/del` | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ | `/del domain_name` | | `/list` | ΠΡΠΎΡΠΌΠΎΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ | `/list` | | `/like` | ΠΠ°ΠΉΠΊ ΠΏΠΎΡΡΠ° (ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅) | `/like` | | `/notif` | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ | `/notif` | | `/last_post` | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ | `/last_post domain_name` | ## ποΈ ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ### ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ``` βββ bot.py # ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΠΎΡΠ° βββ vk_scripts.py # VK API ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ βββ sql.py # Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ βββ scripts.py # ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ βββ config.py # ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° βββ db/ βββ users.db # ΠΠ°Π·Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ βββ base.db # ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ``` ### Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ - **Backend**: Python 3.8+ - **Telegram Framework**: Aiogram 2.x - **VK Integration**: vk_api - **Database**: SQLite - **Async Processing**: asyncio - **Media Processing**: Built-in handlers ### Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ #### Π’Π°Π±Π»ΠΈΡΠ° `user` (users.db) ```sql user_id INTEGER PRIMARY KEY -- Telegram ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ id INTEGER AUTOINCREMENT -- ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ID ``` #### Π’Π°Π±Π»ΠΈΡΠ° `user` (base.db) ```sql user_id INTEGER -- Π‘ΡΡΠ»ΠΊΠ° Π½Π° users.db status BOOLEAN -- Π‘ΡΠ°ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ groups TEXT -- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ;) token TEXT -- VK access token count INTEGER -- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ``` ## β‘ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ### Π¦ΠΈΠΊΠ» ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° 1. **Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²** (ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»: 60 ΡΠ΅ΠΊΡΠ½Π΄) 2. **ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ** ΡΠ΅ΡΠ΅Π· VK API 3. **Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°** ΠΏΠΎΠ΄ Telegram 4. **ΠΠ°ΡΡΠΎΠ²Π°Ρ ΡΠ°ΡΡΡΠ»ΠΊΠ°** ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠ°ΠΌ 5. **ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ** Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ### ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° - **Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ**: ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π² ΠΌΠ΅Π΄ΠΈΠ°-Π°Π»ΡΠ±ΠΎΠΌΡ - **ΠΠΈΠ΄Π΅ΠΎ**: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π·Π°Π³Π»ΡΡΠΊΠΈ Ρ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ - **ΠΡΠ΄ΠΈΠΎ**: ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ - **ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ**: ΠΡΡΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ - **ΠΠΏΡΠΎΡΡ**: Π’Π΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ## π§ Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ### Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠΊΠ΅Π½ΠΎΠ² - **Π‘Π»ΡΠΆΠ΅Π±Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½**: ΠΠ°Π·ΠΎΠ²ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ - **ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Ρ**: ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π»Π°ΠΉΠΊΠΎΠ² - **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΠ°ΡΠΈΡ**: Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ### ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ - Graceful handling VK API Π»ΠΈΠΌΠΈΡΠΎΠ² - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρallback Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½ - ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ## π ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ - **ΠΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ**: ΠΠΎ 1000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ - **Π§Π°ΡΡΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ**: 60 ΡΠ΅ΠΊΡΠ½Π΄ - **ΠΠΈΠΌΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ**: 10 Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ - **ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ**: 6 ΡΠΈΠΏΠΎΠ² ΠΌΠ΅Π΄ΠΈΠ° ## π ΠΠΈΡΠ΅Π½Π·ΠΈΡ ΠΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ## π¨βπ» ΠΠ²ΡΠΎΡ **ΠΠ΅Π΅Π² ΠΠ³ΠΎΡ ΠΠΈΠΊΡΠΎΡΠΎΠ²ΠΈΡ** - GitHub: [@EDeev](https://github.com/EDeev) - Email: egor@deev.space - Telegram: [@Egor_Deev](https://t.me/Egor_Deev) ---
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ Ρ β€οΈ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎΠ³ΠΎ - deev.space Β©