Python-Telegram-Botを使用して電報ボットを作成しています
ユーザーのチャット ID が返されることはわかっていupdate.message.chat_id
ますが、ユーザーのユーザー名または姓名を取得する方法を知る必要があります。
Telegram のドキュメントでこれを見つけましたが、使用方法がわかりbot.getChat(update.message.chat_id)
ません (試してみましたが、結果はありません)
Python-Telegram-Botを使用して電報ボットを作成しています
ユーザーのチャット ID が返されることはわかっていupdate.message.chat_id
ますが、ユーザーのユーザー名または姓名を取得する方法を知る必要があります。
Telegram のドキュメントでこれを見つけましたが、使用方法がわかりbot.getChat(update.message.chat_id)
ません (試してみましたが、結果はありません)
ユーザーに関するすべての情報 (ユーザー名、ID、姓名、プロフィール写真など) はtelegram.Userオブジェクトから取得できます。telegram.Messageを使用して簡単に取得できます。
user = update.message.from_user
print('You talk with user {} and his user ID: {} '.format(user['username'], user['id']))
json ファイルを使用して、ユーザー名、ID などの情報にアクセスできます。このファイルを印刷して、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()