Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yepiwt/gatevktg

Общайтесь в ВКонтакте (оффлайн) из телеграма
https://github.com/yepiwt/gatevktg

python telegram-bot vk vkontakte

Last synced: 4 days ago
JSON representation

Общайтесь в ВКонтакте (оффлайн) из телеграма

Awesome Lists containing this project

README

        

# Gate из VK в TG

## Немного о проекте
Я решил заняться этим проектом, потому что хотел уйти из ВКонтаке, но при этом не хотел терять кучу знакомых, которых нет в в телеграме. Для того, чтобы общаться с ними и **не быть онлайн** я использую ВКонтакте Сообщества. Новые пользователи не будут писать мне т.к я оффлайн, а старые всегда будут знать где меня найти.

## Принцип работы
У меня есть группа ВК, телеграм бот и два чата с ним. Есть [апи вк](https://vk.com/dev), [апи тг](https://core.telegram.org/bots/api#available-methods) и две асинхронные библиотеки: [для вк](https://github.com/fscdev/vkwave) и [для тг](https://github.com/aiogram/aiogram). Здесь необходимо использовать именнно асинхронные библиотеки, потому что необходимо иметь два одновременных поллинга. Два чата в телеграме служат для разделения на текущий чат (несколько людей) и диалог(личная переписка с человеком). Далее в "Использование".

## Создание ботов и сообществ

### ВКонтакте

Создайте сообщество и перейдите в `Управление` --> `Работа с API` --> `Создать ключ` --> `Разрешить приложению доступ к сообщениям сообщества` --> `Создать`. Далее `Long Poll API` -> `Включено` и `версия 5.126`. Включаем уведомления о новых сообщениях через Long Poll: `Типы событий` --> Ставим все галочки в блоке `Сообщения`. Также необходимо включить сообщения в сообществе: `Управление` --> `Сообщения` --> `Сообщения сообщества` --> `Включены` --> Сохранить.

Чтобы легко добавлять сообщество в беседы необходимо выполнить следующие действия: `Управление` --> `Настройки` --> `Сообщения` --> `Настройки для бота` --> `Возможность ботов` --> `Включены` --> `Разрешать добавлять сообщество в беседы` --> Сохранить. Теперь появился удобный виджет:

При добавлении бота в беседу необходимо дать ему права на чтение сообщений. Сделать это можно перейдя в информацию о беседе, наведя на стрелочку справа от бота и нажать `Дать доступ ко всей переписке`.

### Телеграм

Перейдите в BotFather и создайте нового бота. Далее создайте две группы с ботом. Пример для ПК: Боковое меню --> `New Group` --> Введите имя группы --> `Next` --> В поиске находите созданного бота через `@` --> `Create`. Обязательно, разрешите боту чтение сообщений в группах.

## Настройка
* Установите необходимые зависимости: `pip install -r requirements.txt`
* Запустите `script.py` и введите новый пароль, токены и айди вк-группы.
Конфиг шифруется т.к в нем лежат токены, которые нельзя никому передавать.
* Зарегистрируйте чаты ботом как тг-чат (далее *чатейшен*) и тг-диалог (*конверсейшен*).
```
/regchat
/regconv
```
## Использование
### Выбор конверсейшена и чатейшена
Я добавил *inline* выбор диалогов и чатов, для диалогов используйте
```
/convs
```
Для чатов
```
/chats
```

Когда появляется новое сообщение в вк:
* Если сообщение из текущего чат или диалога, то оно отсылается в *чатейшен* или *конверсейшен*.
* В противном случае *связисту* отправляется уведомление от тг-бота, которое содержит минимальную информацию.

Вы можете переключаться между текущими чатами или диалогами с помощью команд выше.

## Поддержка
Сейчас я использую этот проект каждый день (я ушел из вк). Новым фичам быть!