← Все вопросы

Как сделать команду /start с приветствием в aiogram?

Задан 12 месяцев назад1.2к просмотров1 ответ
5

Когда нажимаешь на бота кнопку «Запустить», он должен поздороваться и обращаться по имени. Как поймать именно команду /start и вытащить имя пользователя?

1 ответ

10
✓ Принятый ответ — помог автору

Для /start есть готовый фильтр CommandStart, а имя пользователя лежит в message.from_user:

from aiogram.filters import CommandStart
from aiogram.types import Message

@dp.message(CommandStart())
async def start(message: Message):
    name = message.from_user.first_name
    await message.answer(f"Привет, {name}! Я бот-помощник. Напиши /help, чтобы узнать что я умею.")

message.from_user.first_name — имя из профиля. Есть ещё username (с собачкой) и id (числовой). Имя точно есть у всех, а вот username может быть None, если человек его не задал — это важно помнить.

Ваш ответ

Войдите, чтобы ответить на вопрос.