Задать вопрос
moonz
@moonz
web developer | seo | design

Telebot как лучше оформить архитектуру?

Здравствуйте, суть задачи такова: мне нужно, в рамках одного бота, настроить связанность между хостами его поднимающими.

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

Я пока вижу только такую реализацию: создать бота под каждый хост, и одного центрального бота, который будет управлять остальными в зависимости от клиента. Но мне кажется подобный подход слишком громоздким, неужели нельзя использовать асинхронный сокет, для доступа к боту? Что бы он слушал все подключённые машины которое поднимают соединение? Или я чего-то не так понимаю скорее всего) не бросайте тапки пожалуйста)
  • Вопрос задан
  • 358 просмотров
Подписаться 3 Простой 10 комментариев
Решения вопроса 1
неужели нельзя использовать асинхронный сокет, для доступа к боту? Что бы он слушал все подключённые машины которое поднимают соединение?


Не понятно какие подключённые машины должен слушать бот, вы имеете ввиду api телеграмма? Почитайте что такое long polling и webhook. Вы можете хоть со 100 машин слать сообщения от имени одного бота используя один токен. Это телеграм будет сообщать об событиях только одной машине. Бот может работать и без полинга или хуков, только на исходящие сообщения.

Если совсем извратиться можно настроить хуки от телеграмма на один сервер, там принимать request и класть его в какой нить брокер сообщений, паб/саб, стриминг.... на всех серверах подписаться на этот поток и обрабатывать эти реквесты, как если бы они пришли напрямую от телеграмма(вкладывая update в dispatcher.. или я не знаю как это реализовано конкретно в этой библиотеке). Отвечая с тем же токеном.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы