Как стать автором
Обновить

Комментарии 8

Проблема подхода с deep links что вы описали - их на раз можно скопировать и отредактировать, как душе угодно, подставит любые данные или команду

Странно что ваш подход с докером намного лучше решает проблему с ресурсами нежели распределение по дочкам, по сути с докером должно быть то же самое.

Команды deep links нужно валидировать, от какого юзера пришло и выдавать соответствующие права. Конечно же, не нужно разрешать анониму использовать то, что он не может сделать.

По поводу распределения ботов: по докеру мы написали, что это не снизило потребление ресурсов, а наоборот - немного замедлило из-за постоянной смены контекста, но это решило иные проблемы, которые в конкретном случае дали больше профита

Есть же стандартный /dice

Верно, используется send.dice в Баскетболе. Или что вы имели ввиду?

что есть стандартный функционал для бросков случайностей, с анимацией. Чем он был плох, что пришлось его переизобретать?

А мы и не переизобретали его - мы обвесили его раундами, авто-броском за игроков, авто-подсчетом результатов бросков. А потом и списком игроков, и так далее.

И да, это единственная у нас игра, использующая эту функцию, из всех 10+ игр.

Как работает система бана в Telegram

Думаю, всё же корректнее называть это не «бан», а «ограничение скорости запросов».

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

Скорее всего, сервер Telegram использует для ограничения скорости запросов т. н. «алгоритм дырявого ведра». Довольно наивная реализация работы с этим алгоритмом есть в этой статье.

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

В нашем же примере рассматривается иной подход: если чат живой, можно сильно ускорить процесс ответов бота в чате и не заморачиваться с ошибкой too many attempts, на каждое новое сообщение для бота высвобождается возможность отправить одно сообщение вопреки рестрикту от ТГ.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории