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

Делаю локализацию команд. По умолчанию полагаюсь на инфу от телеги

и для всех через language_code в setMyCommands устанавливаю команды по умолчанию.
Далее хочу завести поддержку смены языка в боте, соответственно для изменившего язык я делаю отдельный BotCommandScopeChat. И вот что делать обновлении команд (добавлении, удалении)? Делать одномоментно N запросов на смену команд у каждого кажется не очень

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

6 ответов

22 просмотра

Подожди, ты смотришь вариант при котором в боте язык поменяли в клиенте ТГ - нет?

Gabben- Автор вопроса

Можно остановится на втором варианте, если команды не обновляются очень часто

делай как все адекватные люди - при первом запуске ставь в базу локаль из добавь команду /language. лично мне комфортнее ботов использовать на русском (потому что большинство ботов на кривой блять английский переведены), несмотря на английский клиент.

Так, отсюда поподробнее

Это да, но как конкретному юзеру по его айди выставить нужные описания команд?

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта