bugfix> python > 投稿

私は、テレグラムボットでハンドラーを使用して作業しています。ユーザーがコマンドを使用したら、ユーザーの名前またはユーザー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を削除しました。

回答 1 件
  • ザ・ getMe()  使用している関数は、ボットに関する情報を取得するためのものです。ただし、メッセージを送信した人の名前が必要です。

    メッセージAPIには、 from があります  属性( from_user  python)には、メッセージを送信した人の詳細を含むUserオブジェクトが含まれます。

    だから、 name = message.from_user.first_name のようなものでもっと幸運があるでしょう 。

あなたの答え