У меня тут 2 бага небольших
в комментариях кода написал, что именно не работает
elif call.data == 'one':
markup = types.InlineKeyboardMarkup()
inc_button = types.InlineKeyboardButton('Подать заявку', callback_data='reg')
markup.add(one_button)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text=message_inc, parse_mode='Markdown', reply_markup=markup)
sub = "Тема письма"
@bot.callback_query_handler(func=lambda call: call.data == 'reg')
def start_registration_main(call):
start_registration()
#
#В этом моменте регистрация, т.е. функция start_registration вызывается
#Если нажать на кнопку Подать заявку и написать любое сообщение
#Понятное дело регистрация должна запускаться по нажатию кнопки
#
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
reg_markup = types.InlineKeyboardMarkup(row_width=1)
yes_butt = types.InlineKeyboardButton('Отправить заявку', callback_data='yes')
reg_markup.add(yes_butt)
global note
note = message.text
response = f"Заявка в {sub}.\nПожалуйста, проверьте свои данные\n\nФИО: {name}\nПочта: {uemail}\nНомер телефона: {phone}\nПримечание: {note}"
bot.send_message(chat_id, response, reply_markup=reg_markup)
#
#
#В данном моменте не работает отправка письма при нажатии кнопки "Отправить заявку"
#Кнопка никак не реагирует не отправляет заявку
#
#
@bot.callback_query_handler(func=lambda call: 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
with smtplib.SMTP_SSL('smtp.yandex.ru', 465) as mailserver:
mailserver.set_debuglevel(True)
mailserver.login(email, password)
mailserver.sendmail(email, recipient, msg.as_string())
print("Письмо успешно отправлено")
bot.send_message(call.message.chat.id, "Ваша заявка отправлена, мы с вами свяжемся в ближайшее время")
Я надеюсь на вашу помощь, уже больше 20 часов не могу исправить данные проблемы.