которое. Или с меню такое не прокатит?
API Reference: setMyCommands
Ну ты можешь установить команды для одного скоупа для разных language_code. Но если юзер может выбирать, то используй скоуп на конкретного юзера и в момент смены языка дергай setMyCommands и обновляй команды юзеру
Работает, благодарю! У меня пара вопросов по скоупам. 1. после установки скоупа он на сервера телеграма попадает и потом оттуда данные берет? если установить разные менюшки для двух скоупов с приоритетами 1 (высокий) и 2 для пользователя, стартануть, зайти в бота, отобразится менюшка 1, потом остановить бота, оставить только установку менюшки для скоупа 2, стартануть бота, у пользователя при этом останется менюшка 1, про которую в коде уже нет никаких упоминаний, выйти из бота, зайти заново, отображается менюшка 1. после явного удаления скоупа 1 для пользователя начинает отображаться менюшка 2 2. можно ли глобально для бота почистить все скоупы?
> 2. можно ли глобально для бота почистить все скоупы? Насколько мне известно, нет. > 1. после установки скоупа он на сервера телеграма попадает и потом оттуда данные берет? Да. Пользователю показываются команды из одного, самого "узкого" скоупа, под который конкретный юзер попадает. Порядок проверки скоупов описан здесь: https://core.telegram.org/bots/api#determining-list-of-commands
Например, если пользотватель попадает под ScopeChat, AllPrivateChats+Language_Code и Default, то ему покажутся команды ТОЛЬКО из ScopeChat, т.к. это наиболее узкий скоуп для конкретного юзера
Если что, у меня на ютубе вышло целых 2 урока на эту тему) Вроде норм вышло) https://t.me/botfatherdev/355
ок, а то у меня была ситуация, я в процессе тестирования установил какой-то узкий скоуп с указанием языка, потом скоуп начал менять, изменил менюшку, а в боте она не меняется. и стало не понятно какой скоуп чистить надо. так как в коде он уже более широкий стоял. и вот только когда методом перебора нашелся тот скоуп который надо удалить заработал широкий скоуп и показалась нужная менюшка.
Ага, я тоже с этим сталкивался. Более того, есть подвох! Я пытался найти нужный скоуп, отправляя сырые JSON-запросы через Postman и "неправильный" JSON (добавлял лишнюю запятую в конце, но Postman не считает это ошибкой) приводил к тому, что Bot API не кидался ошибкой, а просто отвечал "ничего не найдено по этому скоупу". Сууууукааааа, я полчаса убил на эту хуйню, пока не понял, что в скоупах есть команды, просто JSON не тот, который хочет телега. Разумеется, ответ Левина был в духе "сам дурак" https://t.me/tdlibchat/32759
да, нормально получилось, и тоже недавно совсем )
Обсуждают сегодня