https://github.com/temm4ancki/vk-to-tg-post
Бот отслеживает посты из сообщества ВКонтакте и пересылает их в Telegram-канал
https://github.com/temm4ancki/vk-to-tg-post
telegram vk
Last synced: about 1 month ago
JSON representation
Бот отслеживает посты из сообщества ВКонтакте и пересылает их в Telegram-канал
- Host: GitHub
- URL: https://github.com/temm4ancki/vk-to-tg-post
- Owner: Temm4ancki
- Created: 2025-02-27T15:32:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-30T12:33:13.000Z (about 1 year ago)
- Last Synced: 2025-08-02T02:04:07.708Z (11 months ago)
- Topics: telegram, vk
- Language: TypeScript
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VK to Telegram Bot
Этот бот отслеживает посты из сообщества ВКонтакте и пересылает их в Telegram-канал.
Написан через Qodo и модели Claude 3.7 Sonnet
## Возможности
- Мониторинг постов на стене сообщества ВКонтакте
- Пересылка постов с текстом и медиафайлами в Telegram-канал
- Отслеживание обработанных постов для избежания дубликатов
- Настраиваемый интервал проверки
- Подробное логирование
## Требования
- Node.js
- Токен доступа API ВКонтакте с разрешениями на доступ к стене
- Токен бота Telegram (создайте через [@BotFather](https://t.me/BotFather))
- Telegram-канал, где бот является администратором. ID можно получить через [@UserInfoToBot](https://t.me/UserInfoToBot)
## Установка
1. Клонируйте репозиторий:
```
git clone https://github.com/Temm4ancki/VK-to-TG-post.git
cd VK-to-TG-post
```
2. Установите зависимости:
```
npm install
```
3. Создайте файл `.env` на основе шаблона `.env.template`:
```
cp .env.template .env
```
3. Создайте файл `.env`, указав свои учетные данные:
- `VK_ACCESS_TOKEN`: Ваш токен доступа API ВКонтакте
- `VK_GROUP_ID`: имя после домена ВК (Пример vk.com/**shytki_i_prikoli**)
- `TELEGRAM_BOT_TOKEN`: Токен вашего бота Telegram
- `TELEGRAM_CHANNEL_ID`: ID или имя пользователя вашего Telegram-канала (с префиксом @)
## Получение токена доступа API ВКонтакте
1. Создайте приложение ВКонтакте на [vk.com/dev/apps](https://dev.vk.com/ru/admin/create-app) (тип: Мини-приложение)
2. Получите токен доступа (Сервисный ключ), в настройках приложения. Мини-приложение/Разработка/Ключи доступа
## Запуск бота
Соберите и запустите бота:
```
npm run build
npm start
```
Для разработки с автоматическим перезапуском:
```
npm run watch
```
## Как это работает
1. Бот получает последние посты из указанного сообщества ВКонтакте
2. Он фильтрует посты, которые уже были обработаны
3. Для каждого нового поста он:
- Извлекает текстовое содержимое
- Извлекает фото-вложения
- Извлекает ссылки-вложения
- Форматирует и отправляет всё в Telegram-канал
4. Бот отслеживает обработанные посты в JSON-файле
5. Он повторяет этот процесс с настроенным интервалом
## Настройка
Вы можете настроить поведение бота, изменив файл `.env`:
- `CHECK_INTERVAL_MS`: Как часто проверять наличие новых постов (в миллисекундах)
- `STORAGE_FILE_PATH`: Где хранить список обработанных постов
- `LOG_LEVEL`: Уровень детализации логирования (debug, info, warn, error)