получить телефон пользователя

Python Telebot — получить телефон пользователя

Привет всем! Собственно, суть проблемы указана в названии записи: как получить телефон пользователя с помощью Python и библиотеки Telebot. Давайте разберемся 😉

Ниже — пример рабочего года, который, надеюсь, вам поможет 🙂 Вдруг что — не стесняйтесь задавать вопросы на почту или в Telegram.

  1. import telebot #Подключили библиотеку Телебот - для работы с Телеграм
  2. from telebot import types #Подключили дополнения
  3. import config #Подключили библиотеку Config, с помощью чего можем хранить токен не в коде программы ;) а в файле config.py. Важно: этот файл должен лежать в той же директории, что и код!
  4.  
  5. bot = telebot.TeleBot(config.token) #Подключили токен
  6.  
  7. @bot.message_handler(commands=['number']) #Объявили ветку для работы по команде <strong>number</strong>
  8. def phone(message):
  9.     keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) #Подключаем клавиатуру
  10.     button_phone = types.KeyboardButton(text="Отправить телефон", request_contact=True) #Указываем название кнопки, которая появится у пользователя
  11.     keyboard.add(button_phone) #Добавляем эту кнопку
  12.     bot.send_message(message.chat.id, 'Номер телефона', reply_markup=keyboard) #Дублируем сообщением о том, что пользователь сейчас отправит боту свой номер телефона (на всякий случай, но это не обязательно)
  13.  
  14. @bot.message_handler(content_types=['contact']) #Объявили ветку, в которой прописываем логику на тот случай, если пользователь решит прислать номер телефона :) 
  15. def contact(message):
  16.     if message.contact is not None: #Если присланный объект <strong>contact</strong> не равен нулю
  17.         print(message.contact) #Выводим у себя в панели контактные данные. А вообщем можно их, например, сохранить или сделать что-то еще.

Как видите — все очень и очень просто 🙂
Спасибо за внимание!