Помогите с телеграм ботом на telebot

Рейтинг: 1Ответов: 0Опубликовано: 14.05.2023

Все библиотеки у меня установлены, с переменными всё в порядке(вроде), консоль ошибок не выдаёт, почта настроена. Но письма не отправляет. тестил отдельно регистрацию всё было замечательно, но как соединил с общим кодом всё пошло по...

@bot.callback_query_handler(func=lambda call: True)
def callback(call):
    global sub
    
    #некий код с личными данными :)
    if call.data == 'reg':
        def start_registration():

            @bot.message_handler(func=lambda message: True)
            def handle_message(message):
                chat_id = message.chat.id
                bot.send_message(chat_id, "Введите свои ФИО:")
                bot.register_next_step_handler(message, process_name_step)

            def process_name_step(message):
                chat_id = message.chat.id
                global name
                name = message.text
                bot.send_message(chat_id, "Введите свою почту:")
                bot.register_next_step_handler(message, process_uemail_step)

            def process_uemail_step(message):
                chat_id = message.chat.id
                global uemail
                uemail = message.text
                bot.send_message(chat_id, "Введите свой номер телефона:")
                bot.register_next_step_handler(message, process_phone_step)

            def process_phone_step(message):
                chat_id = message.chat.id
                global phone
                phone = message.text
                bot.send_message(chat_id, "Если у вас есть примечание, напишите.")
                bot.register_next_step_handler(message, process_note_step)

            def process_note_step(message):
                chat_id = message.chat.id
                global note
                note = message.text
                reg_markup = types.InlineKeyboardMarkup(row_width=1)
                yes_butt = types.InlineKeyboardButton('Отправить заявку', callback_data='yes')
                reg_markup.add(yes_butt)
                response = f"Заявка в {sub}.\nПожалуйста, проверьте свои данные\n\nФИО: {name}\nПочта: {uemail}\nНомер телефона: {phone}\nПримечание: {note}"
                bot.send_message(chat_id, response, reply_markup=reg_markup)
        
        start_registration()

                
    if call.data == 'yes':
        def send_email_callback(call):
            email = "******@yandex.ru"
            password = "******"
            recipient = "*******gmail.com"                    
            msg = MIMEMultipart()
            msg['From'] = email
            msg['To'] = recipient
            msg['Subject'] = f"Новая заявка в {sub}"
            # add body to email
            body = f"Новая заявка в {sub}: \n\nФИО: {name}\nПочта: {uemail}\nНомер телефона: {phone}\nПримечание: {note}"
            msg.attach(MIMEText(body))
            # send the email
            mailserver = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
            mailserver.set_debuglevel(True)
            mailserver.login(email, password)
            mailserver.sendmail(email, recipient, msg.as_string())
            mailserver.quit()
            print("Письмо успешно отправлено")
            bot.send_message(call.message.chat.id, "Ваша заявка отправлена, мы с вами свяжемся в ближайшее время")

Плиз спасите... уже 12 пытаюсь эту дичь сделать. Это мой первый серьёзный проект. Заранее спасибо)))

Ответы

Ответов пока нет.