I
I
Innaro2022-02-17 13:23:22
Python
Innaro, 2022-02-17 13:23:22

How to force a Telegram bot to go into standby mode and not respond to messages?

There is such a code, and there is a problem, I would like the bot after sending

bot.send_message(message.chat.id, 'Марка: ' + brand_t + '\nГос.номер: ' + number_t + '\nДата вьезда: ' + arrivaldate_t + '\nЧтобы сделать на Эйдос-Медицина то /sendeidos, а на Смартлайфкея /sendsmart.');

went into standby mode
and entered / pass, then the data and everything he waits further to be sent a command, and did not react to any text message

patheidos = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'ЗАЯВКА НА ВЪЕЗД НА склад.docx')
doceidos = DocxTemplate("Eidos.docx")
pathsmart = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'ЗАЯВКА НА ВЪЕЗД СМАРТЛАЙФКЕА.docx')
docsmart = DocxTemplate("Smart.docx")
record_dict = {};
brand_t = "";
number_t = "";
arrivaldate_t = "";

# Функция, обрабатывающая команду /start
# Команда start

@bot.message_handler(commands=["start"])
def start(m, res=False):
        bot.send_message(m.chat.id, 'Чтобы сделать пропуск, нужна марка автомобиля, гос.номер, и дата вьезда. \nМарка автомобиля с большой буквы.\nГос.номер нужно писать формате, А 111 АА. \nА дата вьезда, это дата вьезда автомобиля, и писать ее нужно формате ДД.ММ.ГГГГ. \nЧтобы сделать пропуск нужно отправить в чат /pass. \nЧтобы сделать на Эйдос-Медицина то /sendeidos, а на Смартлайфкея /sendsmart.');

#Блок ЭЙДОС-МЕДИЦИНА
    
@bot.message_handler(commands=["sendeidos"])
#Сохранием файл
def sendeidos(message, res=False):
    if os.path.isfile(patheidos) == True:
        os.remove(patheidos)
    else:
        print("Файла нет, идем дальше")
    context = {'Brand' : brand_t, 'Number' : number_t, 'ArrivalDate' : arrivaldate_t}
    print(context)
    doceidos.render(context)
    doceidos.save("ЗАЯВКА НА ВЪЕЗД НА склад.docx")
    print('Марка: ' + brand_t + '\nГос.номер: ' + number_t + '\nДата вьезда: ' + arrivaldate_t)
    time.sleep(2)
    SendEidos.checkem()
    bot.send_message(message.chat.id, 'Пропуск отправлен ');

#Блок СМАРТЛАЙФКЕЯ

@bot.message_handler(commands=["sendsmart"])
#Сохранием файл
def sendsmart(message, res=False):
    if os.path.isfile(pathsmart) == True:
        os.remove(pathsmart)
    else:
        print("Файла нет, идем дальше")
    context = {'Brand' : brand_t, 'Number' : number_t, 'ArrivalDate' : arrivaldate_t}
    print(context)
    docsmart.render(context)
    docsmart.save("ЗАЯВКА НА ВЪЕЗД СМАРТЛАЙФКЕА.docx")
    print('Марка: ' + brand_t + '\nГос.номер: ' + number_t + '\nДата вьезда: ' + arrivaldate_t)
    time.sleep(2)
    SendSmart.sendslk()
    bot.send_message(message.chat.id, 'Пропуск отправлен ');
    
# Функция, обрабатывающая команду /pass
# Команда pass

@bot.message_handler(commands=["pass"])
def passn(message, res=False):
    bot.send_message(message.chat.id, 'Марка Автомобиля? ');
    @bot.message_handler(content_types=['text'])
    def brand(message): #получаем марку Автомобиля
        global brand_t;
        brand_t = message.text;
        print('Марка: ' + brand_t)
        bot.send_message(message.chat.id, 'Номера Автомобиля? ');
        bot.register_next_step_handler(message, number);
        
    def number(message):
        global number_t; #получаем номер Автомобиля
        number_t = message.text;
        print('Гос.номер: ' + number_t)
        bot.send_message(message.chat.id, 'Какого числа должен заехать? ');
        bot.register_next_step_handler(message, arrivaldate);
        
    def arrivaldate(message):
        global arrivaldate_t; #получаем дату въезда
        arrivaldate_t = message.text;
        print('Дата вьезда: ' + arrivaldate_t)
        bot.send_message(message.chat.id, 'Марка: ' + brand_t + '\nГос.номер: ' + number_t + '\nДата вьезда: ' + arrivaldate_t + '\nЧтобы сделать на Эйдос-Медицина то /sendeidos, а на Смартлайфкея /sendsmart.');
  

while True:
    try:
        bot.polling(none_stop=True,interval=0)
    except Exception as e:
        print(e)

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question