Как получить номер телефона пользователя? TelegramBOT - PullRequest
0 голосов
/ 11 января 2020

Бот запрашивает данные пользователя и по очереди записывает данные в блокнот. Но почему-то не записывает номер телефона. В чем проблема? Пример

Я использую pytelegrambotapi

import telebot
from telebot import types
import os, signal, pickle, sys

bot = telebot.TeleBot('token')

@bot.message_handler(commands=['start'])
def user(message):
    sent = bot.send_message(message.chat.id, "Здравствуйте, как я могу к вам обращаться?")
    bot.register_next_step_handler(sent, services)
    doc = open('client.txt', 'a')


@bot.message_handler(content_types=['text'])
def services(message):
    user_markup = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True)
    user_markup.row('Buy', 'Sell')
    uslugi = bot.send_message(message.from_user.id, "Какие услуги вас интересуют?", reply_markup=user_markup)
    bot.register_next_step_handler(uslugi, telephone)
    doc = open('client.txt', 'a')
    doc.write("Имя заказчика - {name}\n".format(name=message.text))


def telephone(message):
    keyboard = types.ReplyKeyboardMarkup(one_time_keyboard=True)
    reg_button = types.KeyboardButton(text="Отправить номер телефона", request_contact=True)
    keyboard.add(reg_button)
    nomer = bot.send_message(message.chat.id, 'Оставьте ваш контактный номер чтобы наш менеджер смог связаться с вами.', reply_markup=keyboard)
    bot.register_next_step_handler(nomer, save)
    doc = open('client.txt', 'a')
    doc.write("Услуга - {service}\n".format(service=message.text))


def save(message):
    bot.send_message(message.chat.id, 'Спасибо за обращение. Мы свяжемся с вами в ближайшее время.')
    doc = open('client.txt', 'a')
    doc.write("Телефон - {telephon}\n".format(telephon=message.text))
    doc.close()

if __name__ == '__main__':
     bot.infinity_polling(none_stop=True)
...