Telegram Bot многопоточность

Metodist

Client
Регистрация
10.10.2016
Сообщения
34
Благодарностей
17
Баллы
8
Подскажите пжл, делаю телеграмбот, использую метод getUpdates для получения данных из бота. Этот метод отдает json, у каждого json есть уникальный update_id.
Может кто сталкивался, как реализовать многопточность? В один поток работает всё нормально. Но как только включаю второй поток, то ответы начинают дублироваться.
 

fedorgen

Client
Регистрация
30.04.2020
Сообщения
33
Благодарностей
30
Баллы
18
Update_id сделай глобальной
 
  • Спасибо
Реакции: Metodist

Metodist

Client
Регистрация
10.10.2016
Сообщения
34
Благодарностей
17
Баллы
8
Update_id сделай глобальной
К сожалению я не понял. Глобальную сделал, но что-то не так, всё равно пролетает по 2 - 3 ответа. Вот исходник эхо бота, можете кто-нибудь показать как верно?
 

Вложения

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
зачем многопоточно брать апдейты телеги?
 
  • Спасибо
Реакции: Metodist

Metodist

Client
Регистрация
10.10.2016
Сообщения
34
Благодарностей
17
Баллы
8
зачем многопоточно брать апдейты телеги?
Мне нужна многопоточная версия бота, для обработки большого количества запрос в него, допустим, 100 человек в секунду будут в него обращаться! Направьте как правильно пжл! Я ранее не делал многопоток, хватало 1 потока.
 
Последнее редактирование:

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
28
Баллы
18
Подскажите пжл, делаю телеграмбот, использую метод getUpdates для получения данных из бота. Этот метод отдает json, у каждого json есть уникальный update_id.
Может кто сталкивался, как реализовать многопточность? В один поток работает всё нормально. Но как только включаю второй поток, то ответы начинают дублироваться.
Изучи внимательно документацию. У этого метода есть параметр offset, прочти описание к нему.
 
  • Спасибо
Реакции: Metodist и Mikhail B.

panacea

Client
Регистрация
27.04.2015
Сообщения
97
Благодарностей
28
Баллы
18
  • Спасибо
Реакции: Metodist

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 418
Благодарностей
5 454
Баллы
113
Я бы сделал два шаблона. Первый собирает все данные с телеги в 1 поток. А второй уже в многопотоке отправляет ответы. Только не совсем понятно, что в итоге будет. Если за 1 сек 100 человек кликнут по кнопке бота, и придет 100 ответов, то сам то подумай какой треш будет в чате. Никто просто не поймет где именно его ответ. По моему ты чего то не договариваешь, может у тебя несколько чатов, и ты их одним ботом обрабатываешь, тогда уже другой разговор. Более четко опиши задачу свою.

P.S. на форуме куча статей с уже готовой реализацией работы бота, ничего выдумывать не надо, бери и копируй себе ))
 
  • Спасибо
Реакции: Metodist

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
В телеботе есть лимиты на отправку сообщений пользователям - 30 в секунду.
 
  • Спасибо
Реакции: Metodist

Metodist

Client
Регистрация
10.10.2016
Сообщения
34
Благодарностей
17
Баллы
8
Перечитав форум, я узнал, что списки при взятии строки уже имеют блокировку сессии и таким образом можно организовать многопоток.
Получилось 2 бота, 1 собирает данные из бота, а другой обрабатывает.
Всех благодарю.


Вдруг кому пригодится, выкладываю своё решение.
 

Вложения

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)