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

Как реализовать таймер в телеграм боте?

Создаю бота для записи на хим чистку: суть вопроса такова: как сделать чтобы пользователь мог нажать кнопку
"записаться на прием" раз в 30 минут? А при повторном нажатии отправлять сообщение: "Вы уже записались на прием попробуйте (остаток времени от 30 минут).

Вот код:
import telebot
from telebot import types

light = '''Хімчистка салону (Light) 

Седан: від 2000 грн
Джип (і більше): від 2500 грн

Комплекс робіт:
-> Чистка ковроліну
-> Чистка сидінь 
-> Чистка дверних карт
-> Багажний відділ
-> Торпеда
-> Стеля'''

hard = '''Хімчистка салону (Hard)

Седан: від 2800 грн
Джип (і більше): від 3500 грн

Комплекс робіт:
-> Опція (Light)
-> Демонтаж сидінь
-> Чистка важкодоступних місць
-> Чистка ущільнювачів
-> Чистка вікон
-> Мийка дверних стійок 
-> Обробка кондиціонером/поліроль для пластику
 Чистка окремих елементів від 300 гривень'''

somet = '''
-------------------------------------------
Мийка авто: від 300 грн
Нанесення воску: від 300 грн
Нанесення захистного покриття: від 600 грн
Нанесення антидощу: від 800 грн
Нанесення керамічного покриття: від 150$
-------------------------------------------
Оптика: 
Бронювання оптики: від 800 грн
Полірування фар: від 600 грн (за пару)
Тонування фар: від 600 грн (за пару)
-------------------------------------------
Плівочні роботи:
Поклейка авто плівкою в круг (кольорова/бронеплівка): від 600$ 
Поклейка авто плівкою за елемент (кольорова/бронеплівка): від 75$'''

token = '' # Это токен бота для тестов
bot = telebot.TeleBot(token)
admin_id =  # ID Админов которые будут получать заявки
global user_name
global user_phone


@bot.message_handler(commands=['start'])
def button(message):
    chat_id = message.chat.id
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    bt1 = types.KeyboardButton('⏰Записатися на хімчистку')
    bt3 = types.KeyboardButton('Розробник')
    bt4 = types.KeyboardButton('Контактна адреса')
    bt5 = types.KeyboardButton('Прайс')
    markup.add(bt1, bt4, bt3,  bt5)
    bot.send_message(chat_id, f'<b>Привіт {message.from_user.first_name}!</b> <b>Що бажаєш обрати?</b>',
        parse_mode='html', reply_markup=markup)


@bot.message_handler(content_types=['text'])
def main(message):
    chat_id = message.chat.id
    if message.chat.type == 'private':
        if message.text == '⏰Записатися на хімчистку':
            msg = bot.send_message(chat_id, "Напиши свій ПІБ")
            bot.register_next_step_handler(msg,regist_1)
        elif message.text == 'Розробник':
            bot.send_message(chat_id, '@l1nkoooln')
        elif message.text == 'Прайс':
            bot.send_message(chat_id, light)
            bot.send_message(chat_id, hard)
            bot.send_message(chat_id, somet)
        elif message.text == 'Контактна адреса':
            bot.send_message(chat_id, 'Контакти: \n - Влад \n  - Іван \n Вул.  - ')

def regist_1(message):
    global user_name
    user_name = message.text
    msg = bot.send_message(message.chat.id, "Напиши свій номер телефону для зв'язку.\n(Наш менеджер тобі передзвонить для уточнення інформації)")
    bot.register_next_step_handler(msg, regist_2)
def regist_2(message):
    global user_phone
    global user_name
    global kyzov
    user_phone = message.text
    msg2 = bot.send_message(message.chat.id, "Який кузов т/з на якому буде проводитися роботи?\n (Седан, універсал, бус, інше...)")
    bot.register_next_step_handler(msg2, regist_3)
def regist_3(message):
    global user_phone
    global user_name
    global kyzov
    kyzov = message.text
    bot.send_message(message.chat.id,"Дякую, ваша заявка прийнята і буде передана спеціалістам. Очікуйте дзвінка")
    bot.send_message(admin_id, f"Нова заявка:\n ПІБ: {user_name}\n Номер телефону: {user_phone} \n Кузов т/з: {kyzov}")

bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 135 просмотров
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы