Telegram Bot Получение телефонного номера пользователя - PullRequest
0 голосов
/ 14 октября 2018

У меня проблема с моим ботом:

Я хочу авторизовать пользователя через phone_request.Но это вылетает.Хотя я получаю телефон пользователя.Под phone_request я имею в виду, что я спрашиваю у пользователя номер телефона с этим:

def get_keyboard():
    contact_button = KeyboardButton('Start conversation', 
    request_contact=True)
    reply_keyboard = [[contact_button]]
    return reply_keyboard

Я ловлю его с этим:

dp.add_handler(MessageHandler(Filters.contact, 
contact_callback,pass_user_data=True))

Чем он идет туда:

def contact_callback(bot, update):
  contact = update.effective_message.contact
  phone = contact.phone_number
  print(contact)
  print(phone)
  update.message.reply_text('Thanks your data is accepted', get_authorized(), resize_keyboard=True)

get_authorized - это просто:

def get_authorized():
    reply_keyboard = [['Pay', 'Why I'm in debt'], ['Remind Later']]
    return reply_keyboard

Что здесь может пойти не так?

Traceback:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/telegram/ext/dispatcher.py", line 279, in process_update
    handler.handle_update(update, self)
  File "/usr/local/lib/python3.5/dist-packages/telegram/ext/messagehandler.py", line 169, in handle_update
    return self.callback(dispatcher.bot, update, **optional_args)
  File "/home/ubuntu/Telegram_bot_OSDI/Telegram_Bot_OSDI_22.py", line 164, in contact_callback
    update.message.reply_text('Спасибо! Ваши данные приняты', get_authorized(), resize_keyboard=True)
  File "/usr/local/lib/python3.5/dist-packages/telegram/message.py", line 455, in reply_text
    return self.bot.send_message(self.chat_id, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 65, in decorator
    result = func(self, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 90, in decorator
    result = self._request.post(url, data, timeout=kwargs.get('timeout'))
  File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 309, in post
    headers={'Content-Type': 'application/json'})
  File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 223, in _request_wrapper
    raise BadRequest(message)
telegram.error.BadRequest: Unsupported parse_mode
...