Как получить имя пользователя, имя или фамилию пользователя Telegram с помощью Python-Telegram-Bot?

Я создаю бота Telegram, используя Python-Telegram-Bot

Я знаю, что update.message.chat_id возвращает идентификатор чата пользователя, но мне нужно знать, как получить имя пользователя или имя и/или фамилию пользователя.

Я нашел это в документации Telegram, но не знаю, как его использовать ( Я пробовал bot.getChat(update.message.chat_id), но безрезультатно)


person Sadegh Alirezaie    schedule 06.12.2016    source источник


Ответы (2)


Вся информация о пользователе (имя пользователя, идентификатор, имя/фамилия и фотографии профиля) доступна на странице telegram.User объект. Вы можете легко получить его, используя telegram.Message

user = update.message.from_user
print('You talk with user {} and his user ID: {} '.format(user['username'], user['id']))
person Dudnikof    schedule 09.12.2016

Вы можете использовать файл json и получить доступ к такой информации, как имя пользователя, идентификатор и т. д. Вы можете распечатать этот файл самостоятельно, чтобы получить информацию о файле json. См. пример ниже.

# pip install python-telegram-bot==12.0.0
from telegram.ext import Updater
from telegram.ext import CommandHandler
updater = Updater('token')

def start(bot, update):
    # print('json file update : ' ,update)
    # print("json file bot : ', bot)
    chat_id = update.message.chat_id
    first_name = update.message.chat.first_name
    last_name = update.message.chat.last_name
    username = update.message.chat.username
    print("chat_id : {} and firstname : {} lastname : {}  username {}". format(chat_id, first_name, last_name , username))
    bot.sendMessage(chat_id, 'text')

start_command = CommandHandler('start',start)
updater.dispatcher.add_handler(start_command)
updater.start_polling()
updater.idle()
person saeed sahoor    schedule 05.06.2020