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

Как в тройке установить язык принудительно в хендлере? Например, нажимаешь

старт -> выбираешь язык -> сообщение должно быть отправлено на выбранном языке

48 ответов

50 просмотров

fluentogram

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

Michael-Anishchanka Автор вопроса

поправка: с помощью встроенных в аиограм инструментов

Aleksandr Danilov 🇺🇦
Я храню язык пользователя в базе данных. Мидлварь...

хай, а как делать фильтры на сообщения (от кнопок например): @router.message(text=...), не делая кастомный фильтр?

Patrick [in search of work]
Почему

Можешь всю ветку читать https://t.me/aiogram_ru/943536

Eloi Mask
угу

Я бы использовал векторизованные представления

Michael-Anishchanka Автор вопроса

хелп

Смотря что ты используешь Тут от версии аиограма не зависит Например на fluentogram у меня есть пример с "мгновенным" переводом https://github.com/prostmich/fluentogram-demo

Michael-Anishchanka Автор вопроса
Mikhail Smolnikov
Смотря что ты используешь Тут от версии аиограма н...

я использую встроенные в тройку инструменты

Michael Anishchanka
хелп

Та с чем? Зависит от инструмента

Michael-Anishchanka Автор вопроса
Patrick [in search of work]
Та с чем? Зависит от инструмента

с этим https://docs.aiogram.dev/en/dev-3.x/utils/i18n.html?highlight=i18n

Хватит так настойчиво агетировать

Patrick [in search of work]
Хватит так настойчиво агетировать

Это не агитация а предостережение от использования хуйни

Michael Anishchanka
с этим https://docs.aiogram.dev/en/dev-3.x/utils/i...

Тебе надо как-то триггернуть смену языка В двойке я костылил через вызов метода trigger (или как-то так) с псевдоаплейтом

Aleksandr Danilov 🇺🇦
Это не агитация а предостережение от использования...

Ну ты уже сказал. Он услышал. Зачем дальше продолжать? Пиши Алексу почему он хуйню в аиограм вставил

Michael-Anishchanka Автор вопроса

короче в итоге решение выглядит так (внимание на последнюю строку)

не очень

Michael-Anishchanka Автор вопроса
Aleksandr Danilov 🇺🇦
не очень

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

Aleksandr Danilov 🇺🇦
не очень

В принципе норм, почему нет У тебя ровно тоже самое делается Обновляется runner

Michael-Anishchanka Автор вопроса
Aleksandr Danilov 🇺🇦
чё за хня

что конкретно тебе не понятно?

Mikhail Smolnikov
В принципе норм, почему нет У тебя ровно тоже само...

Обновления раннера быть не может т.к. он создаётся и разрушается на каждый апдейт

Aleksandr Danilov 🇺🇦
чё за хня

Хватит всё безосновательно хейтить Тебе хоть что-то нравится в этой жизни чужое?

Michael Anishchanka
что конкретно тебе не понятно?

во-первых где ты вызываешь эту функцию

Michael Anishchanka
screenshot

Ансвер надо делать в конце

Aleksandr Danilov 🇺🇦
Обновления раннера быть не может т.к. он создаётся...

Да, а теперь посмотри сюда https://github.com/prostmich/fluentogram-demo/blob/master/app/handlers/private.py#L36

Michael-Anishchanka Автор вопроса
Aleksandr Danilov 🇺🇦
Обновления раннера быть не может т.к. он создаётся...

ну так проблема была в том, что конкретно в этом одном сообщении не устанавливался язык, при следующих сообщениях всё работало

Michael-Anishchanka Автор вопроса
Michael Anishchanka
да я обрезал

Так он у тебя сверху)

Mikhail Smolnikov
Да, а теперь посмотри сюда https://github.com/pros...

Я помню про этот трюк. Только соль в том что ты не заменил оригинальный, а взял дополнительно. Вызов cmd_start вообще пздц

Aleksandr Danilov 🇺🇦
Я помню про этот трюк. Только соль в том что ты н...

Надо было в отдельную функцию вынести, согласен

Michael-Anishchanka Автор вопроса

это хендлер

Michael-Anishchanka Автор вопроса

после выбора языка при старте

Michael Anishchanka
это хендлер

Хуй знает, странное решение. Не сказать что у меня оно оптимальное, через Тишкины диалоги, но работает отлично.

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта