Как получить описание пользователя на aiogram который написал /start
Мне надо описание профиля пользователя получить который напишет команду. Как это можно сделать на aiogram?
Мне надо описание профиля пользователя получить который напишет команду. Как это можно сделать на aiogram?
Для этого есть специальное свойство message.from_user
.
Описание свойств этого словаря (message.from_user
):
id
: число
Идентификатор (ID) пользователя, который использует бота.
is_bot
: булевое значение (True
/False
)
True
, если это бот;
False
, если это не бот.
Хотя я не уверен, что с ботом когда-то будет разговаривать другой бот.
first_name
: строка
Имя (first name) пользователя или бота.
last_name
: строка. Может быть пустой.
Фамилия (last name) пользователя или бота.
username
: строка. Может быть пустой.
Имя пользователя или бота в формате @john
.
is_premium
: булевое значение (True
/False
)
True
, если пользователь является пользователем Telegram Premium;
False
, если пользователь не является.
full_name
: строка
Имя (first name), и фамилия (last name), собранные воедино.
Все свойства можно использовать через message.from_user
.
Пример приветствия пользователя ботом, который использует имя и фамилию (приведён только декоратор с методом):
# Если ещё не импортирован types, нужно добавить импорт
# from aiogram import types
# Если Dispatcher у вас в другой переменной,
# замените dp на имя вашей переменной с объектом Dispatcher.
@dp.message_handler(commands=["start"]): # отвечает на команду start.
async def start_command(message: types.Message):
first_name = message.from_user.first_name
last_name = message.from_user.last_name or "" # предотвращение того, что в ответе будет строка "None"
await message.reply(f"Привет, {first_name} {last_name}! Это тестовый бот для изучения свойств message.from_user в Aiogram.")
Частично взято из документации.