私は、テレグラムボットでハンドラーを使用して作業しています。ユーザーがコマンドを使用したら、ユーザーの名前またはユーザーIDを取得する必要があります。
私のコード
import telebot #Telegram Bot API
bot = telebot.TeleBot(<BotToken>)
@bot.message_handler(commands=['info'])
def send_welcome(message):
name = bot.get_me()
print(name)
bot.reply_to(message, "Welcome")
bot.polling()
ただし、ボットに関する情報のみを取得します。ハンドラーを使用したユーザーに関する情報を取得できません。
出力
{'first_name': 'SPIOTSYSTEMS', 'id': 581614234, 'username': 'spiotsystems_bot', 'is_bot': True, 'last_name': None, 'language_code': None}
info
を使用するユーザーのユーザーIDまたは名前を取得する方法コマンド?
どの方法を使用しますか?お知らせ下さい。
注意:
ボットはTelegramグループにリンクされています。セキュリティ上の理由から、MVCからTelegram TOKENを削除しました。
ザ・
getMe()
使用している関数は、ボットに関する情報を取得するためのものです。ただし、メッセージを送信した人の名前が必要です。メッセージAPIには、
from
があります 属性(from_user
python)には、メッセージを送信した人の詳細を含むUserオブジェクトが含まれます。だから、
name = message.from_user.first_name
のようなものでもっと幸運があるでしょう 。