Как получить username aiogram
Перейти к содержимому

Как получить username aiogram

  • автор:

Как получить имя пользователя по реплаю в aiogram?

У меня есть код, где пользователь может сделать рп-команду, реплая пользователя (отвечая на его сообщение), как получить информацию об этом участнике (например fitst_name)? Ещё хотелось бы реализовать получение фамилии по ID, например что бы пользователь писал «РП пожал руку @username» и бот получал фамилию с этого username (примерно так: Сергей пожал руку Влад) Код:

from aiogram import Bot, types from aiogram.dispatcher import Dispatcher from aiogram.utils import executor from random import randint as ri @dp.message_handler(content_types='text') async def new_message(message: types.Message): if 'РП' in message.text: args = message.text.split() await message.reply(message.from_user.first_name, args[1]) #тут что-то делать if __name__ == '__main__': executor.start_polling(dp) 

Отслеживать
задан 6 авг 2022 в 21:15
223 2 2 серебряных знака 12 12 бронзовых знаков

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

UPD:

Вот наверное то, что вы хотели. Подробнее описал вот тут:

@dp.message_handler(commands="handshake") async def send_handshake(message: types.Message): your_id = message.from_id your_name = message.from_user.username try: friend_name = message.reply_to_message.from_user.username friend_id = message.reply_to_message.from_user.id # await message.delete() await message.answer(f'[](tg://user?id=) пожал руку [](tg://user?id=)', parse_mode="Markdown") except: # await message.delete() await message.answer(f'[](tg://user?id=) жмет руку всем', parse_mode="Markdown") 

А это результат работы бота:

Как получить username пользователя, который присоединился к чату. Aiogram

Отличий никаких не будет, потому что используется один и тот же API:

@dp.message_handler(content_types=['new_chat_members']) async def new_user_joined(message: types.Message): for new_member in message.new_chat_members first_name = member.first_name # Не может быть пустым last_name = member.last_name # Может быть пустым username = member.username # Может быть пустым # Тут делайте всё, что хотите делать с новым пользователем(-ми) 

Отслеживать
ответ дан 28 июл 2021 в 10:54
2,836 1 1 золотой знак 11 11 серебряных знаков 19 19 бронзовых знаков
Да, действительно. Просто я через for и не пробовал) Спасибо огромное!
28 июл 2021 в 12:56

  • python
  • telegram-bot
  • бот
  • aiogram
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.22.3688

Как получить username бота или пользователя используя aiogram?

(Все импорты есть)
Вывод: None
Зарянее извиняюсь за глупый вопрос. Я искал в библиотеке aiogram’a, то что бы мне помогло но так и не нашел.
и используя
name = User.full_name
Получал в конце «property object at 0x0322E780» или подобные результаты
Спасибо за помощь)

  • Вопрос задан более трёх лет назад
  • 13090 просмотров

Комментировать
Решения вопроса 1

SoreMix

soremix @SoreMix Куратор тега Python

На гитхабе aiogram есть ответ в описании

5f707c2d75764816994853.png

Ответ написан более трёх лет назад
Нравится 1 2 комментария
Василий Волк @VovkVasil Автор вопроса

Хых, спасибо за решение. Но я не на гитхабе читал, а вот тут https://docs.aiogram.dev/en/latest/. Понял свою ошибку)

SoreMix

soremix @SoreMix Куратор тега Python

VovkVasil, по сути, все подобное — это просто библиотеки-обертки для уже существующих API. Ну и авторы в принципе не меняют какие-то базовые вещи, делая как можно похоже на оригинальный API. Класс Message представляет те же самые поля, которые и имеются в оригинале

spoiler

5f707ea730009923609725.png

Так что, банальное
message.from_user.first_name
будет работать

Как вывести имя пользователя и бота в Python?

Здравствуйте, не подскажете как вывести в сообщении имя юзера (first.name) и имя бота? Использую библиотеку aiogram.
Раньше использовал teleBot так вот там примерно так будет:

bot.send_message(message.chat.id, "Привет, ! \n Я - , parse_mode='html', reply_markup=markup)

Заранее спасибо.

  • Вопрос задан более двух лет назад
  • 2935 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 3

SoreMix

soremix @SoreMix Куратор тега Python

message.from_user.last_name message.from_user.first_name

Ответ написан более двух лет назад
Нравится 2 2 комментария
Max020899 @Max020899 Автор вопроса
Оно должно быть вот так?

@dp.message_handler(commands=['start', 'help']) async def send_welcome(message: types.Message): await message.from_user.first_name( "Привет, **! \n Я бот - **", reply = False, parse_mode= 'Markdown')

Просто вообще не выводит ничего.

SoreMix

soremix @SoreMix Куратор тега Python

Max020899, оно и не должно выводить.

В message.from_user.last_name лежит имя пользователя, в message.from_user.first_name — фамилия, в bot.get_me().first_name — имя бота

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *