如何获取电报用户位置

时间:2017-09-04 21:11:45

标签: python telegram

我正在制作电报bot api包装器,并想知道如何获得用户的位置。我试过这个:

def test(chat):
    reply_markup = {
        "chat_id" : chat,
        "text": "your message",
        "reply_markup":
        {"keyboard":
         [
             [{"text": "Send Your Mobile", "request_contact": True}],
             [{"text": "Send Your Location", "request_location": True}]
         ]
        }
        }

def func():
    keyboard = [{"text":"Hello", "request_location":True}]
    reply_markup = {"keyboard":keyboard, "one_time_keyboard":True}
    return json.dumps(reply_markup)

提交给我的send_messages函数提交的内容:https://www.codementor.io/garethdwyer/building-a-telegram-bot-using-python-part-1-goi5fncay

我该怎么做?

2 个答案:

答案 0 :(得分:0)

首先,您只能在私人聊天中使用request_location,确保不会将其发送到群组。

如果成功,用户将发送位置作为消息,就像sendLocation方法一样,您需要处理新消息以获取位置。

答案 1 :(得分:0)

  • For pyTelegramBotAPI users
  • 对于python-telegram-bot用户:

    dispatcher.add_handler(MessageHandler(Filters.location, location))
    
    def location(bot, update):
        print(update.message.location)