## Выйти из ВК 1. Как жить без сообщений в беседах? 2. Как оставить личные сообщения? 3. Что делать, если совершенно не хочется заводить фейковый аккаунт, или распространять его? --- ### Что такое токены, и как их получить? - Любое графическое приложение взаимодействует с сервером --- Простой пример взаимодействия ![](https://i.imgur.com/y2I6Ijd.png) --- Серчи доку :smoking: ![](https://i.imgur.com/E2SB3yS.png) --- ### Что такое токены, и как их получить? - Любое графическое приложение взаимодействует с сервером - Токен выдаётся конкретному IP, и через время может протухнуть --- Управление протуханием токена ![](https://i.imgur.com/v73JRLw.png) --- ### Что такое токены, и как их получить? - Любое графическое приложение взаимодействует с сервером - Токен выдаётся конкретному IP, и через время может протухнуть - Каждый токен может иметь ограничения связанные с определёнными методами на сервере --- Пример ограничения метода send в VK ![](https://i.imgur.com/HeZi4bz.png) --- ### Поиск быстрого решения - Готовый бот старый, и не работает с токеном --- На момент написания призентации он не заработал ![](https://i.imgur.com/s4tyRXA.png) --- ### Поиск быстрого решения - Готовый бот старый, и не работает с токеном - Получение токена из другого приложения (официального) и передача приложению, которые ты запускаешь впервые --- Зайти туда, тыкнуть то, скопировать другое :grin: ![](https://i.imgur.com/PiJHrzd.png) --- ### Поиск быстрого решения - Готовый бот старый, и не работает с токеном - Получение токена из другого приложения (официального) и передача приложению, которые ты запускаешь впервые - А может просто передадим логин и пароль? --- ### Поиск быстрого решения - Готовый бот старый, и не работает с токеном - Получение токена из другого приложения (официального) и передача приложению, которые ты запускаешь впервые - ~~А может просто передадим логин и пароль?~~ --- ### Не нашёл бота, найди исходный код :+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: ![](https://i.imgur.com/PhjYZSd.png) --- ## А есть готовая библиотека с совеременным стеком? --- Самая популярная 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: Возврат ![](https://gubanov.site/img/davai_pogovorim_image/dark/Frame%2014.png) --- А можно настоящую очередь, чтобы обеспечить потоковую обработку данных ![](https://gubanov.site/img/davai_pogovorim_image/dark/Frame%2016.png) --- - ~~Обработка в одном потоке~~ - Разная кодовая база - Декораторы - heandler'ы - Сначала абстракция, затем реализация --- - ~~Обработка в одном потоке~~ - ~~Разная кодовая база~~ - Декораторы - heandler'ы - Сначала абстракция, затем реализация --- Обработку сообщения, документа или другого типа сообщения можно произвести разными способами: 1. Chain of responsibility 2. Decorator 3. Visitor --- #### Chain of responsibility :heavy_plus_sign: Все обработчики не зависят от сервиса (VK, Telegram ...) и могут выполнять действия в зависимости от запроса одинаково от всех платформ ![](https://refactoring.guru/images/patterns/diagrams/chain-of-responsibility/solution2-ru.png?id=cb0aeb4420e7ab9add90) --- #### Decorator Было: ![](https://refactoring.guru/images/patterns/diagrams/decorator/problem3.png?id=f3b3e7a107d870871f2c) --- #### Decorator Cтало: :heavy_plus_sign: Обработчики можно комбинировать, добавлять или изменять структурное поведение в зависимости от платформы ![](https://refactoring.guru/images/patterns/diagrams/decorator/solution2.png?id=3af1a4b6994c29000217) --- #### Visitor :heavy_plus_sign: Добавлять функциональность в обработчки можно в зависимости от платформ, не изменяя текущую реализацию, а дописывая соответсвующего 'посетителя' в обработчик ![](https://refactoring.guru/images/patterns/content/visitor/visitor-comic-1.png?id=7ee4fa8800f7c4df4e1a) (пример со страховым агентом) --- - ~~Обработка в одном потоке~~ - ~~Разная кодовая база~~ - ~~Декораторы - 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}]"}
    395 views