Как получить описание пользователя на aiogram который написал /start
Мне надо описание профиля пользователя получить который напишет команду. Как это можно сделать на aiogram?
Ответы (1 шт):
Для этого есть специальное свойство 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.")
Частично взято из документации.