Задать вопрос
@soul323

Как в телеграмм сделать кнопку оставить заявку, чтобы приходило менеджеру?

import telebot
import logging
from telebot import types

# Токен вашего бота
TOKEN = ''
my_chat_id = 

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])

def start(message):

    keyboard = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True )
    btn1 = types.KeyboardButton('Каталог услуг')
    btn2 = types.KeyboardButton('✉️Оставить заявку')
    btn3 = types.KeyboardButton('Получить консультацию')
    btn4 = types.KeyboardButton('Рассчитать стоимость ремонта')
    btn5 = types.KeyboardButton('Посмотреть портфолио')
    
    keyboard.add(btn1, btn2, btn3, btn4, btn5)
    bot.send_message(message.chat.id, f'Здраствуйте {message.from_user.first_name}, чем я могу вам помочь?', reply_markup=keyboard)


def send_portfolio(message):
    keyboard = types.InlineKeyboardMarkup()
    url_button = types.InlineKeyboardButton (text = "Посмотреть", url = "https://xn--80aaouh0abejfv.xn--p1ai/portfolio/realizovannye-proekty/")
    keyboard.add(url_button)
    bot.send_message(message.chat.id, "Больше работ вы можете посмотреть на нашем сайте", reply_markup=keyboard)


def send_requestr(messege):
    mes = f'Новая заявка: {messege.text}'
    bot.send_message(my_chat_id,mes)
    bot.send_message(messege.chat.id, 'Спасибо за заявку! Наши специалисты скоро свами свяжутся')


def send_servive(message):
    bot.send_message(message.chat.id, f'Ремонт помещений:' 
                     f'\n1.Реомнт кварртир'
                     f'\n2.Ремонт коттеджей'
                     f'\n3.Ремонт коммерческих помещений'
                     f'\n\nРазработка дизайн-проекта:'
                     f'\n1.Дизайн квартиры'
                     f'\n2.Дизайн коттеджа'
                     f'\n3.Дизайн коммерческого помещения')



def send_calculation(message):
    mes = f'Рассчет стоимости: {message.text}'
    bot.send_message(my_chat_id,mes)
    bot.send_message(message.chat.id, 'Спасибо! Наши специалисты скоро свами свяжется для уточнеия деталей')



@bot.message_handler(content_types=['text'])
def repeat_all_messages(message):
    text = message.text
    chat_id = message.chat.id
    if text == 'Каталог услуг':
        send_servive(message)

    elif text == '✉️Оставить заявку':
        bot.register_next_step_handler(message, send_requestr)
        bot.send_message(message.chat.id, 'Будем рады вас обслужить! Оставьте свои контактные данные')

    elif text == 'Получить консультацию':
        bot.send_message(message.chat.id, "Получите консультацию от наших менеджеров")

    elif text == 'Рассчитать стоимость ремонта':
        bot.register_next_step_handler(message, send_requestr)
        bot.send_message(message.chat.id, f'Ответьте на вопросы для уточнения стоимости:' 
                     f'\n\n1.Тип помещения:'
                     f'\nКвартира'
                     f'\nКоттедж'
                     f'\nОфис'
                     f'\nМагазин'
                     f'\n\n2.Напишите площадь вашего объекта:'
                     f'\n\n3.На каком этапе сейчас помещение')

    elif text == 'Посмотреть портфолио':
        bot.send_media_group(message.chat.id, [telebot.types.InputMediaPhoto(open('p1.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p2.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p4.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p5.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p6.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p7.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p8.jpg', 'rb')), telebot.types.InputMediaPhoto(open('p9.jpg', 'rb'))])
        send_portfolio(message)



if __name__ == "__main__":
    bot.polling()


кнопка работает, но если нажали на кнопку отправить заявку, а следом нажали на кнопку каталог например, то , действие кнопки каталог он считывает как новая заявка
  • Вопрос задан
  • 146 просмотров
Подписаться Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
Бот ожидает ввод данных после нажатия кнопки "Оставить заявку". Если нажать другую кнопку, бот обрабатывает это как продолжение ввода заявки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы