Skip to content

Latest commit

 

History

History
141 lines (91 loc) · 7.57 KB

File metadata and controls

141 lines (91 loc) · 7.57 KB

VK-TG-SYNC | Синхронизация чатов между Вконтакте и Телеграмом

Note

Этот скрипт предназначен для пользователей, которые уже давно сделали Телеграм своим основным мессенджером, но у них все еще есть чаты во Вконтакте, в которых им приходится участвовать. Скрипт позволяет перенести эти чаты из Вконтакте в Телеграм и упростить процесс коммуникации.

Warning

На данный момент скрипт находится в недоделанном виде и может иметь ограничения и проблемы. Пожалуйста, учитывайте это при его использовании.

Поддерживаемые версии Python

Запуск в Docker

Вы также можете запустить vk-tg-sync в Docker, прочитать об этом подробнее можете здесь

🚀 Установка

  1. Склонируйте репозиторий GitHub:

    git clone https://github.com/Delitel-WEB/vk-tg-sync.git
  2. Перейдите в директорию проекта:

    cd vk-tg-sync
  3. Установите необходимые пакеты Python из файла req.txt:

    pip install -r req.txt

⚙️ Настройка

  1. Создайте файл settings.sh для Linux.

    export TG_BOT_TOKEN="ВАШ_ТОКЕН_ТЕЛЕГРАМ_БОТА"
    export VK_BOT_TOKEN="ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЬСКОГО_АККАУНТА"
    export DB_PASS="ПАРОЛЬ_К_БД_MYSQL"
    export DB_IP="IP_БАЗЫ_ДАННЫХ"
    export DB_NAME="НАЗВАНИЕ БД"

    Токен ВК можно получить здесь. У токена должно быть разрешение к сообщениям!

  2. Создайте таблицы в базе данных:

    alembic upgrade head

    ⚠️ Перед выполнением этой команды убедитесь, что у вас установлена база данных MySQL и создана указанная таблица DB_NAME.

▶️ Запуск бота

⚠️ Перед запуском убедитесь, что вы установили значения переменных в файле settings.sh.

Перед запуском выполните следующую команду для установки переменных в окружение терминала:

source settings.sh

И запустите скрипт:

python main.py

🚀 Инструкция по использованию

После запуска бота, вы можете связать чаты во ВКонтакте и Telegram, отправив боту команду /bind_chat.

Бот предложит вам выбрать тип чата во ВКонтакте: групповой или личный чат.

Выбор типа чата

Личный чат

Выбор личного чата

Для связи личного чата вам потребуется предоставить боту ID пользователя ВКонтакте.

Вы можете найти ID пользователя в ссылке на его профиль, которая может выглядеть, например, как vk.com/id1.

Если у ссылки на профиль пользователя есть пользовательское имя, например, vk.com/durov, вы можете извлечь ID его профиля с помощью любого приложения, позволяющего извлекать ID из ссылок, например, это приложение.

После ввода ID пользователя, бот напишет вам имя выбранного вами пользователя и попросит подтвердить ваш выбор.

Подтверждение

Группа

Выбор группы

Для связи бесед ВКонтакте вам потребуется получить их ID.

Для каждой беседы ID имеет свой уникальный идентификатор.

Получить его можно, кликнув в браузере на беседу и посмотрев в ссылку https://vk.com/im?sel=c147. Число 147 в этой ссылке является ID беседы ВКонтакте.

После ввода ID группы, бот напишет вам название выбранной вами беседы и попросит подтвердить ваш выбор.

Подтверждение

После этого бот попросит вас отправить ID группы в Telegram.

⚠️ Бот должен находиться в этой группе и быть администратором.

⚠️ Внимание!!! Если группа станет супергруппой, ее ID изменится.

ID группы Telegram можно получить, отправив команду /id в группе, в которую добавлен бот.

После успешного связывания чатов, бот изменит название и фотографию группы в Telegram на такие же, как во ВКонтакте.

Что реализовано на данный момент

Синхронизация указана в виде мессенджер ➔ мессенджер. То есть если галочка стоит у ВКонтакте, то сделана синхронизация VK ➔ Telegram и наоборот. Если галочки стоят сразу на двух мессенджерах, значит, синхронизация двусторонняя.

Виды синхронизации Telegram VKontakte
Сообщения
Текстовые сообщения ❌ ✅
Голосовые сообщения ❌ ✅
Стикеры ❌ ✅
Пересланные сообщения ❌ ❌
Документы ❌ ✅
Удаление сообщений ❌ ❌
Редактирование сообщений ❌ ❌
Медиа
Фото ❌ ✅
Видео ❌ ✅
Кружки ❌ ✅
Геолокация ❌ ✅
Посты ❌ ❌
Действия с чатами
Изменение Фото ❌ ❌
Изменение Названия Чата ❌ ❌