frolovelo / saloon_bot

telegram bot for booking to a beauty salon using Google Sheets
19 stars 3 forks source link

Проблема при работе с несколькими пользователями #1

Open rkrotov opened 5 days ago

rkrotov commented 5 days ago

Новый пользователь отправляет свой телефон, а менюшка высвечивается предыдущему. В message_handler изменить message на message_contact:

@bot.message_handler(commands=['start'])
def check_phone_number(message):
    """Запрашивает номер телефона у пользователя единожды"""

    if CLIENT_PHONE.get(message.chat.id, None) is None:
        markup = ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        button_phone = types.KeyboardButton(text="Отправить телефон 📞",
                                            request_contact=True)
        markup.add(button_phone)
        bot.send_message(message.chat.id, 'Для записи на услуги требуется номер телефона.',
                         reply_markup=markup)

        @bot.message_handler(content_types=['contact'])
        def contact(message_contact):
            """Получает объект <contact> -> вызывает функцию стартового меню"""
            if message_contact.contact is not None:
                CLIENT_PHONE[message_contact.chat.id] = message_contact.contact.phone_number
                bot.send_message(message_contact.chat.id,
                                 text='Спасибо за доверие!',
                                 reply_markup=ReplyKeyboardRemove())
                menu(message_contact)
    else:
        menu(message)
frolovelo commented 4 days ago

Да, всё верно. Проект старенький, постараюсь поправить