169 похожих чатов

Всем здрасте:) Сейчас заливаю свой aiogram бот на OrangePI - по

сути, копия RaspberryPI - и у меня возник вопрос: что будет если я запущу клиент aiogram бота на нескольких оранжах одновременно.

Короче говоря, могу ли я запустить несколько клиентов одного телеграм бота - соответственно, с одним токеном - паралельно на разных машинах?

13 ответов

29 просмотров

Для получения входящих сообщений или только отправки?

Коротко - нет, не сможешь. Развёрнуто - сможешь, если принимает сообщения (например, вебхук) один балансер и далее раскидывает их на инстансы ботов. Принимать сообщения от телеги может только кто-то один

всегда интересовало зачем несколько ботов одного токена хотят запустить................

я думаю что если ты хочешь сделать систему распределения нагрузки, то можно сделать так: 1 плата принимает апдейты, и общается с остальными. остальные платы берут на себя нагрузку и отправляют ответ напрямую в телегу (хотя тут можно столкнутся с флудвейтом если это не учесть) Не сильно шарю, но как я знаю, так работают лоадбалансеры (потипу нгинкса и т.д.)

Никита-Пронин Автор вопроса
Axel
я думаю что если ты хочешь сделать систему распред...

Нет, я так делаю для экономии денег. Использую микрокомп для открытия ворот по нажатию кнопки в боте. Мог бы поставить бот на сервак, но в таком случае прийдется платить за сервак и статические IP на каждой точке где требуются ворота, чтобы кидать сигнал на оранж. Думаю, что можно поставить на каждую точку разные версии тг бота, где будут разные хендлеры.

Никита Пронин
Нет, я так делаю для экономии денег. Использую мик...

ты можешь по идее на разные порты/адреса в локальной сети раскидать разные пк, один пк будет с ботом, в зависимости от команды делает запрос в рест/Фаст апи на другой пк в локальной сети вариант?

Никита-Пронин Автор вопроса
Axel
не совсем понял что за ворота

Ворота для въезда в бомбоубежища, но это моего вопроса не касается - проблема решена.

Никита-Пронин Автор вопроса
derxo Попов
ты можешь по идее на разные порты/адреса в локальн...

В одной локальной сети будет одна плата, так что с этим проблем нет. Но, в таком случае прийдется платить за статические айпишники, что при большом количестве локальных сетей наберёт большую сумму. Мне бы сделать так, чтобы ни за сервер с ботом, ни за статические адреса платить не надо было, но при этом с одним ботом.

Никита Пронин
В одной локальной сети будет одна плата, так что с...

Тебе выше посоветовали посмотреть на нгрок и на каждой из точек запустить веб-сервер с апи

Никита-Пронин Автор вопроса
Evgen Fil // hehe
Тебе выше посоветовали посмотреть на нгрок и на ка...

Хм, погуглил шо это вообще такое: получается, что это будет проводится через их серваки, то есть зависимость от них. Если что, то рухнет все. В добавок мне прийдется делать прокси сервер, который будет перенаправлять запросы. Короче, просто запустить один бог на нескольких платах одновременно не получится? Просто если для этого прийдется делать костыли/сложные решения, то в моем случае будет разумней сделать несколько ботов.

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта