Как передать переменную чтобы выводилось имя, а не сам текст Telegram Bot Aiogram
Есть телеграм бот. Я начал его переводить на три языка и создал новый файл со списком сообщений. Сообщение будто-бы выводится без f-строки. Как сделать чтобы выводилось нормально:
- 👋 Hello Ivan Ivanov. 🎉 Welcome to our bot 🎉
А не как с переменной:
- 👋 Hello {message.from_user.first_name} {message.from_user.last_name}. 🎉 Welcome to our bot 🎉
Если дописать f к строке в списке сообщений:
'hello_with_all_name_en': f'👋 Hello <b><u>{message.from_user.first_name} {message.from_user.last_name}</u></b>. 🎉 Welcome to our bot 🎉'
То выводится ошибка:NameError: name 'message' is not defined
, так что, думаю это не вариант
Вот строчка кода:
await bot.send_message(message.from_user.id, locales.hello_user[f'hello_with_all_name_{BotDB.user_language(message.from_user.id)}'], parse_mode='html', reply_markup=kb.markup_start)
А вот список сообщений с файла locales.py:
hello_user = {
'hello_with_all_name_uk': '👋 Привіт, <b><u>{message.from_user.first_name} {message.from_user.last_name}</u></b>. 🎉 Вітаємо у нашому боті 🎉',
'hello_with_all_name_ru': '👋 Привет, <b><u>{message.from_user.first_name} {message.from_user.last_name}</u></b>. 🎉 Поздравляем в нашем сапоге 🎉',
'hello_with_all_name_en': '👋 Hello <b><u>{message.from_user.first_name} {message.from_user.last_name}</u></b>. 🎉 Welcome to our bot 🎉'
}