Управление веб страницей через телеграмм бота
Подскажите пожалуйста как реализовать управление веб страницей через команды телеграмм бота используя питон. К примеру по команде будет создана страница (url:домен/39484738) по шаблону используя данные с бд. Какие библиотеки лучше использовать для реализации и какова структура взаимодействия между телеграмм ботом и самой веб страницей
Ответы (1 шт):
На высоком уровне это выглядит так. У вас есть система, которая состоит из двух компонентов:
- телеграм бот
- веб приложение
В самом простом случае эти компоненты могут быть запущены в рамках одного процесса (но я бы не рекомендовал, если разделите, то сразу себе облегчите жизнь).
Лучше запускать отдельно. Т.е. грубо говоря у вас будет два процесса - бот и веб.
Технологии для создания веб-приложения выбирайте по своему вкусу/опыту. Их есть много: django, flask, aiohttp, fastapi - довольно популярные.
Нужно будет определенное взаимодействие между компонентами. Для той задачи, которую вы описали, похоже, достаточно будет взаимодействия через БД. Телеграм бот по команде создает определенные записи в БД (например запись в таблице Страница с id==39484738 с определенной конфигурацией, если нужно, которая определяет, что должно быть показано на странице). Веб приложение при получении запроса на url по переданному идентификатору проверяет, что запись существует в БД и показывает страницу с соответствующим содержимым.
Если нужно более активное взаимодействие, например, пользователь что-то сделал на странице, нажал кнопку и послал форму на сервер, а при этом бот сразу же (или с минимальной задержкой) послал сообщение, какому-то пользователю - нужно использовать средства межпроцессного взаимодействия.
Простой (и неудобный) вариант - socket-ы. Более высокоуровневый и удобный вариант - очереди для передачи сообщений между компонентами. Варианты: zeromq, mqtt, rabbitmq.