{"id":29257593,"url":"https://github.com/edeev/vkrepost_to_tg","last_synced_at":"2026-05-09T19:05:55.945Z","repository":{"id":222110469,"uuid":"756290534","full_name":"EDeev/vkrepost_to_tg","owner":"EDeev","description":"Автоматизированная система репостинга контента из VKontakte в Telegram с поддержкой персональных подписок и VK API интеграцией","archived":false,"fork":false,"pushed_at":"2025-06-30T17:09:41.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T18:23:09.548Z","etag":null,"topics":["aiogram","api-integration","asyncio","automation","content-monitoring","python","repost-bot","social-media","sqlite","telegram-bot","vk-api","vkontakte"],"latest_commit_sha":null,"homepage":"https://t.me/vkportalbot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EDeev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-12T11:24:18.000Z","updated_at":"2025-06-30T17:09:45.000Z","dependencies_parsed_at":"2025-06-30T18:23:11.517Z","dependency_job_id":null,"html_url":"https://github.com/EDeev/vkrepost_to_tg","commit_stats":null,"previous_names":["iglek/vktgrepostbot","deevev/vktgrepostbot","edeev/vktgrepostbot","edeev/vkrepost_to_tg"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EDeev/vkrepost_to_tg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDeev%2Fvkrepost_to_tg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDeev%2Fvkrepost_to_tg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDeev%2Fvkrepost_to_tg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDeev%2Fvkrepost_to_tg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EDeev","download_url":"https://codeload.github.com/EDeev/vkrepost_to_tg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDeev%2Fvkrepost_to_tg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263449897,"owners_count":23468148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiogram","api-integration","asyncio","automation","content-monitoring","python","repost-bot","social-media","sqlite","telegram-bot","vk-api","vkontakte"],"created_at":"2025-07-04T05:01:05.216Z","updated_at":"2026-05-09T19:05:55.910Z","avatar_url":"https://github.com/EDeev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Repost from Vk to Tg 🔄\n\n[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org)\n[![Aiogram](https://img.shields.io/badge/Aiogram-2.x-green.svg)](https://aiogram.dev)\n[![VK API](https://img.shields.io/badge/VK%20API-5.131-orange.svg)](https://dev.vk.com)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n**Автоматизированная система репостинга контента из VKontakte в Telegram**\n\nTelegram-бот для автоматического мониторинга и репостинга публикаций из социальной сети ВКонтакте с поддержкой персонализированных подписок и расширенным функционалом взаимодействия.\n\n## 🎯 Основная функциональность\n\n### Ключевые возможности\n- **Автоматический мониторинг** публикаций из VK страниц и сообществ\n- **Персонализированные подписки** до 10 источников на пользователя\n- **Интеграция с VK API** через пользовательские токены\n- **Интерактивное взаимодействие** с лайками постов через Telegram\n- **Многоформатная поддержка** медиа-контента (фото, видео, аудио, документы)\n\n### Архитектурные особенности\n- Асинхронная обработка запросов с использованием `asyncio`\n- Двухуровневая система баз данных (пользователи/группы)\n- Токен-ротация для обхода ограничений API\n- Централизованное управление подписками\n\n## 🚀 Быстрый старт\n\n### Предварительные требования\n```bash\npip install -r requirements.txt\n```\n\n### Конфигурация\n1. Создайте Telegram-бота через [@BotFather](https://t.me/botfather)\n2. Получите служебный токен VK API\n3. Настройте файл `config.py`:\n\n```python\n# TOKENS\nbotToken = 'YOUR_TELEGRAM_BOT_TOKEN'\nserviceToken = \"YOUR_VK_SERVICE_TOKEN\"\n\n# URL\nloginUrl = \"https://oauth.vk.com/authorize?client_id=YOUR_APP_ID\u0026display=page\u0026redirect_uri=https://oauth.vk.com/blank.html\u0026scope=wall,likes\u0026response_type=token\u0026v=5.131\"\n```\n\n### Запуск системы\n```bash\npython bot.py\n```\n\n## 📋 Структура команд\n\n| Команда | Описание | Синтаксис |\n|---------|----------|-----------|\n| `/start` | Инициализация пользователя | `/start` |\n| `/add` | Добавление подписки | `/add domain_name` |\n| `/del` | Удаление подписки | `/del domain_name` |\n| `/list` | Просмотр активных подписок | `/list` |\n| `/like` | Лайк поста (ответ на сообщение) | `/like` |\n| `/notif` | Переключение уведомлений | `/notif` |\n| `/last_post` | Получение последней публикации | `/last_post domain_name` |\n\n## 🏗️ Архитектура системы\n\n### Компоненты системы\n```\n├── bot.py              # Основной модуль бота\n├── vk_scripts.py       # VK API интеграция\n├── sql.py              # Управление базами данных\n├── scripts.py          # Вспомогательные функции\n├── config.py           # Конфигурация проекта\n└── db/\n    ├── users.db        # База пользователей\n    └── base.db         # Основная база данных\n```\n\n### Технологический стек\n- **Backend**: Python 3.8+\n- **Telegram Framework**: Aiogram 2.x\n- **VK Integration**: vk_api\n- **Database**: SQLite\n- **Async Processing**: asyncio\n- **Media Processing**: Built-in handlers\n\n### Схема базы данных\n\n#### Таблица `user` (users.db)\n```sql\nuser_id INTEGER PRIMARY KEY  -- Telegram ID пользователя\nid INTEGER AUTOINCREMENT     -- Внутренний ID\n```\n\n#### Таблица `user` (base.db)\n```sql\nuser_id INTEGER              -- Ссылка на users.db\nstatus BOOLEAN               -- Статус уведомлений\ngroups TEXT                  -- Список подписок (разделитель ;)\ntoken TEXT                   -- VK access token\ncount INTEGER                -- Количество подписок\n```\n\n## ⚡ Алгоритм работы\n\n### Цикл мониторинга\n1. **Сканирование источников** (интервал: 60 секунд)\n2. **Проверка новых публикаций** через VK API\n3. **Форматирование контента** под Telegram\n4. **Массовая рассылка** подписчикам\n5. **Обновление метаданных** в базе данных\n\n### Обработка медиа-контента\n- **Фотографии**: Группировка в медиа-альбомы\n- **Видео**: Информационные заглушки с ссылками\n- **Аудио**: Отдельные медиа-сообщения\n- **Документы**: Прямые ссылки с метаданными\n- **Опросы**: Текстовое представление с результатами\n\n## 🔧 Расширенные возможности\n\n### Система токенов\n- **Служебный токен**: Базовый доступ к публичному контенту\n- **Пользовательские токены**: Доступ к закрытым страницам и функции лайков\n- **Автоматическая ротация**: Распределение нагрузки между токенами\n\n### Обработка ошибок\n- Graceful handling VK API лимитов\n- Автоматический фallback на служебный токен\n- Логирование критических ошибок\n\n## 📊 Метрики производительности\n\n- **Пропускная способность**: До 1000 пользователей\n- **Частота обновлений**: 60 секунд\n- **Лимит подписок**: 10 на пользователя\n- **Поддерживаемые форматы**: 6 типов медиа\n\n## 📄 Лицензия\n\nПроект распространяется под лицензией MIT.\n\n## 👨‍💻 Автор\n\n**Деев Егор Викторович**\n- GitHub: [@EDeev](https://github.com/EDeev)\n- Email: egor@deev.space\n- Telegram: [@Egor_Deev](https://t.me/Egor_Deev)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eПроект носит некоммерческий характер и предназначен для образовательных целей и личного использования.\u003c/sub\u003e\n  \u003cp\u003e\u003csub\u003eСоздано с ❤️ от вашего дорогого - deev.space ©\u003c/sub\u003e\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedeev%2Fvkrepost_to_tg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedeev%2Fvkrepost_to_tg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedeev%2Fvkrepost_to_tg/lists"}