Показать сообщение отдельно

  #2  
Старый 28.07.2022, 22:56
Neon3333
Участник форума
Регистрация: 13.02.2019
Сообщений: 183
С нами: 3815624

Репутация: 83
По умолчанию

Цитата:
Сообщение от laiser  

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

Python:





Код:
async
def
return_txt
(
user_id
,
text
)
:
user_info
=
await
get_userx
(
user_id
)
new_text
=
await
get_textx
(
)
return
new_text
[
f'{text}{user_info["user_lang"]}'
]


Но я не знаю как сделать, чтобы бот реагировал на данный текст, хотелось бы что-то типо такого:

Python:





Код:
@dp.message_handler
(
text
=
await
return_txt
(
message
.
from_user
.
id
,
'but1'
)
)


Ну или так:

Python:





Код:
@dp.message_handler
(
lambda
msg
:
msg
.
text
==
await
return_txt
(
msg
.
from_user
.
id
,
'but1_'
)
)


Но там нет ассинхронности, и я не знаю что делать(
Ты не сделаешь мультиязычность таким образом, ты или пишешь свою мидлварь для перевода, или используешь готовые решения - I18n

Самый хреновый вариант - захардкодить все переводы в фильтры при регистрации руками
 
Ответить с цитированием