Телеграм-бот вместо перезапуска продолжает выполнять заявку

Есть рабочий телеграм-бот, который присылает приветствие и предлагает оформить заявку. Результат отправляет в телеграм-чат определенному пользователю.

Но при этом, если в процессе оформления заявки, пользователь остановится "на пол пути", очистит историю и снова запустит бота командой /start , то бот запустится не с самого начала, а продолжит выполнять заявку.

Так же, если пользователь отправил заявку, отсутствует возможность сделать новую.

Помогите подправить код. Чтобы если нажать /start при выполнении работы ботом, он запускался с самого начала.

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

import telebot
from telebot import types

TOKEN = 'ТОКЕНИЗБОТФАЗЕРА'
bot = telebot.TeleBot(TOKEN)


user2_chat_id = 'ИДЕНТИФИКАТОРЧАТА'

class Application:
    @staticmethod
    def display(message):
        bot.send_message(message.chat.id, "Ваше имя:")
        bot.register_next_step_handler(message, process_name_step)

def process_name_step(message):
    global name
    name = message.text
    chat_id = message.chat.id

    markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    leftside = types.KeyboardButton('АДРЕС1')
    rightside = types.KeyboardButton('АДРЕС2')
    markup.add(leftside, rightside)

    bot.send_message(message.chat.id, "Выберите адрес:", reply_markup=markup)

    bot.register_next_step_handler(message, process_bereg_step)

def process_bereg_step(message):
    global bereg
    chat_id = message.chat.id
    bereg = message.text

    markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    DHC = types.KeyboardButton('УСЛУГА1')
    TO = types.KeyboardButton('УСЛУГА2')
    comp = types.KeyboardButton('УСЛУГА3')
    buy = types.KeyboardButton('УСЛУГА4')
    GRM = types.KeyboardButton('УСЛУГА5')
    doos = types.KeyboardButton('УСЛУГА6')
    inshe = types.KeyboardButton('УСЛУГА7')
    markup.add(DHC, TO, comp, buy, GRM, doos, inshe)
    
    bot.send_message(message.chat.id, "Выберите услугу:", reply_markup=markup)
    bot.register_next_step_handler(message, process_posluga_step)

def process_posluga_step(message):
    global posluga
    chat_id = message.chat.id
    posluga = message.text
    bot.send_message(chat_id, "Ваш телефон для связи:")
    bot.register_next_step_handler(message, process_phone_step)

def process_phone_step(message):
    global phone
    chat_id = message.chat.id
    phone = message.text
    bot.send_message(chat_id, "Укажите код техники:")
    bot.register_next_step_handler(message, process_text_step)

def process_text_step(message):
    chat_id = message.chat.id
    text = message.text
    bot.send_message(chat_id, f"Спасибо. Свяжемся")
    
    bot.send_message(user2_chat_id, f"Имя: {name}\n\nАдрес: {bereg}\n\nУслуга: {posluga}\n\nТелефон: {phone}\n\nКод: {text}")



@bot.message_handler(commands=['start'])
def send_welcome(message):

    photo = open('КартинкаПриветствия.jpg', 'rb')
    bot.send_photo(message.chat.id, photo)


   
    bot.send_message(message.chat.id, f"ПРИВЕТСТВЕННЫЙ ТЕКСТ", parse_mode="HTML")


    markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    itembtn1 = types.KeyboardButton('Оформить заявку')
    markup.add(itembtn1)

    bot.send_message(message.chat.id, "Нажмите кнопку для оформления заявки", reply_markup=markup)

@bot.message_handler(func=lambda message: True)
def echo_all(message):
    if message.text == 'Оформить заявку':
        Application.display(message)


bot.polling(none_stop=True)

Ответы (0 шт):