## Выйти из ВК
1. Как жить без сообщений в беседах?
2. Как оставить личные сообщения?
3. Что делать, если совершенно не хочется
заводить фейковый аккаунт, или распространять его?
---
### Что такое токены, и как их получить?
- Любое графическое приложение взаимодействует с сервером
---
Простой пример взаимодействия

---
Серчи доку :smoking:

---
### Что такое токены, и как их получить?
- Любое графическое приложение взаимодействует с сервером
- Токен выдаётся конкретному IP, и через время может протухнуть
---
Управление протуханием токена

---
### Что такое токены, и как их получить?
- Любое графическое приложение взаимодействует с сервером
- Токен выдаётся конкретному IP, и через время может протухнуть
- Каждый токен может иметь ограничения связанные с определёнными методами на сервере
---
Пример ограничения метода send в VK

---
### Поиск быстрого решения
- Готовый бот старый, и не работает с токеном
---
На момент написания призентации он не заработал

---
### Поиск быстрого решения
- Готовый бот старый, и не работает с токеном
- Получение токена из другого приложения (официального)
и передача приложению, которые ты запускаешь впервые
---
Зайти туда, тыкнуть то, скопировать другое :grin:

---
### Поиск быстрого решения
- Готовый бот старый, и не работает с токеном
- Получение токена из другого приложения (официального)
и передача приложению, которые ты запускаешь впервые
- А может просто передадим логин и пароль?
---
### Поиск быстрого решения
- Готовый бот старый, и не работает с токеном
- Получение токена из другого приложения (официального)
и передача приложению, которые ты запускаешь впервые
- ~~А может просто передадим логин и пароль?~~
---
### Не нашёл бота, найди исходный код :+1:
- https://github.com/VKCOM/vk-tunnel-client
- https://github.com/Whiletruedoend/Vk-to-telegram-transfer-bot
- https://github.com/Nikovit/bot_vk_to_telegram
- https://www.npmjs.com/package/vk-to-telegram
---
### Работает, не трогай :warning:

---
## А есть готовая библиотека с совеременным стеком?
---
Самая популярная vk (Python)
```python
import vk
session = vk.Session()
api = vk.API(session)
api.users.get(user_ids=1)
>>> [{'first_name': 'Pavel', 'last_name': 'Durov', 'id': 1}]
```
---
Самая популярная pyTelegramBotAPI (Python)
```python
import telebot
bot = telebot.TeleBot("TOKEN")
# Handles all text messages that contains the commands '/start' or '/help'.
@bot.message_handler(commands=['start', 'help'])
def handle_start_help(message):
pass
# Handles all sent documents and audio files
@bot.message_handler(content_types=['document', 'audio'])
def handle_docs_audio(message):
pass
# Handles all text messages that match the regular expression
@bot.message_handler(regexp="SOME_REGEXP")
def handle_message(message):
pass
```
---
## Дак они ведь работают :question:
- Обработка в одном потоке
- Разная кодовая база
- Декораторы - heandler'ы
- Сначала абстракция, затем реализация
---
Получение :arrow_right: Обработка :arrow_right: Возврат

---
А можно настоящую очередь, чтобы обеспечить потоковую обработку данных

---
- ~~Обработка в одном потоке~~
- Разная кодовая база
- Декораторы - heandler'ы
- Сначала абстракция, затем реализация
---
- ~~Обработка в одном потоке~~
- ~~Разная кодовая база~~
- Декораторы - heandler'ы
- Сначала абстракция, затем реализация
---
Обработку сообщения, документа или
другого типа сообщения можно произвести разными способами:
1. Chain of responsibility
2. Decorator
3. Visitor
---
#### Chain of responsibility
:heavy_plus_sign: Все обработчики не зависят от сервиса (VK, Telegram ...) и могут выполнять действия в зависимости от запроса одинаково от всех платформ

---
#### Decorator
Было:

---
#### Decorator
Cтало:
:heavy_plus_sign: Обработчики можно комбинировать, добавлять или изменять структурное поведение в зависимости от платформы

---
#### Visitor
:heavy_plus_sign: Добавлять функциональность в обработчки можно в зависимости от платформ, не изменяя текущую реализацию, а дописывая соответсвующего 'посетителя' в обработчик

(пример со страховым агентом)
---
- ~~Обработка в одном потоке~~
- ~~Разная кодовая база~~
- ~~Декораторы - heandler'ы~~
- Сначала абстракция, затем реализация
---
_Хочешь сделать проект, чтобы его можно было развивать разработчикам?_
_Пиши чисто!_
---
### Метрики
1. 0 Fork + 10 Stars (выкатывание библиотеки)
2. 3 Fork + 28 Stars (выкатывание бота, использующего библиотеку)
---
**... to be continued**
---
{"metaMigratedAt":"2023-06-15T21:52:44.003Z","metaMigratedFrom":"YAML","title":"Как уйти из ВК в Телеграм и остаться в конфе с одногрупниками","breaks":true,"description":"В моей практике никогда не было нужно создание тоннелей, для соединения двух разных конференций друг с другом. Но так получилось, что кому-то это может понадобится. Но фишка, конечно не в проксировании","contributors":"[{\"id\":\"ef15b1d5-f197-424f-b220-48d4fc999178\",\"add\":6539,\"del\":3246}]"}