Телеграмм-бот Python: доступ к контактной информации

Следующий код запрашивает местоположение и контакт от пользователя:

def contact(bot, update):
    dp = DjangoTelegramBot.dispatcher

    con_keyboard = KeyboardButton(text="send_contact", request_contact=True)
    loc_keyboard = KeyboardButton(text="send_location", request_location=True)
    custom_keyboard = [[ con_keyboard ,loc_keyboard]]
    reply_markup = ReplyKeyboardMarkup(custom_keyboard)

    bot.sendMessage(update.message.chat_id, 
              text="Would you mind sharing your location and contact with me", 
              reply_markup=reply_markup)

У меня вопрос: как я могу получить доступ к номеру телефона после того, как пользователь нажмет кнопку send_contact?
PS: Я использую python-telegram-bot и django-telegrambot


person mrbf    schedule 28.09.2017    source источник


Ответы (1)


Я не уверен в django-telegrambot. Но если я не ошибаюсь, ваш reply_markup тот, что находится под python-telegram-bot. При нажатии кнопки номер телефона пользователя будет отправлен вашему боту в виде _ 4_. Вы можете поймать его с помощью MessageHandler и _6 _ фильтр.

from telegram.ext import MessageHander, Filters

def contact_callback(bot, update):
    contact = update.effective_message.contact
    phone = contact.phone_number

dispatcher.add_handler(MessageHandler(Filters.contact, contact_callback))
person jeffffc    schedule 29.09.2017