Нужно чтоб можно было исправлять анкету. То есть брать какой нибудь один пункт фио или дата рождения, исправлять, и отправлять в общий вид анкеты
У меня такая проблема. Нужно чтоб можно было исправлять анкету. То есть брать какой нибудь один пункт фио или дата рождения и тд, и исправить, и чтоб исправление сразу ушло в общий вид анкеты. Буду признателен вам за помощь..
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
btn1 = types.KeyboardButton('/reg')
btn2 = types.KeyboardButton('/reg2')
markup.add(btn1, btn2)
bot.send_message(message.chat.id, 'Привет '
+ message.from_user.first_name
+ 'fff', reply_markup=markup)
@bot.message_handler(commands=['reg'])
def user_reg(message):
try:
chat_id = message.chat.id
user_dict[chat_id] = User(message.text)
markup = types.ReplyKeyboardRemove(selective=False)
msg = bot.send_message(chat_id, '1. ФИО', reply_markup=markup)
bot.register_next_step_handler(msg, process_fullname_step)
except Exception as e:
bot.reply_to(message, 'ops!')
def process_fullname_step(message):
try:
chat_id = message.chat.id
user = user_dict[chat_id]
user.fullname = message.text
msg = bot.send_message(chat_id, '2. Ваш номер телефона')
bot.register_next_step_handler(msg, process_phone_step)
except Exception as e:
bot.reply_to(message, 'ops!')
def process_phone_step(message):
try:
int(message.text)
chat_id = message.chat.id
user = user_dict[chat_id]
user.phone = message.text
msg = bot.send_message(chat_id, '3. Ваш район')
bot.register_next_step_handler(msg, process_area_step)
except Exception as e:
bot.reply_to(message, 'ops!')
def process_area_step(message):
try:
chat_id = message.chat.id
user = user_dict[chat_id]
user.area = message.text
msg = bot.send_message(chat_id, '4. Дата рождения')
bot.register_next_step_handler(msg, process_hb_step)
except Exception as e:
bot.reply_to(message, 'ops!')
def process_hb_step(message):
int(message.text)
chat_id = message.chat.id
user = user_dict[chat_id]
user.hb = message.text
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
btn5 = types.KeyboardButton("Да")
btn6 = types.KeyboardButton("Нет")
markup.add(btn5, btn6)
bot.send_message(chat_id, getRegDatare(user, 'Ваша заявка', message.from_user.first_name), parse_mode='Markdown', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def getRegData(message) :
chat_id = message.chat.id
user = user_dict[chat_id]
if message.text == "Да" :
bot.send_message(config.chat_id, getRegData(user, 'Заявка от бота', bot.get_me().username), parse_mode='Markdown')
bot.send_message(message.chat.id, 'Спасибо')
if message.text == "Нет" :
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
btn7 = types.KeyboardButton('1')
btn8 = types.KeyboardButton('2')
btn9 = types.KeyboardButton('3')
btn10 = types.KeyboardButton('4')
markup.add(btn7, btn8, btn9, btn10)
bot.send_message(chat_id, 'Что вы хотите изменить?\n1. ФИО\n2. Номер телефона\n3. Район\n4. Дата рождения', reply_markup=markup)
elif message.text == "1" :
bot.send_message(chat_id, 'Введите ФИО')
@bot.message_handler()
def process_fullname_step(message):
try:
chat_id = message.chat.id
user = user_dict[chat_id]
user.fullname = message.text
msg = bot.send_message(chat_id, 'Вы исправили ФИО')
bot.register_next_step_handler(msg, process_fullname_step)
except Exception as e:
bot.reply_to(message, 'ops!')
bot.send_message(chat_id, getRegDatare(user, 'Ваша заявка', message.from_user.first_name), parse_mode='Markdown')
def getRegDatare(user, title, name):
t = Template('$title *$name* \n1. ФИО: *$fullname*\n2. Телефон: *$phone* \n3. Район: *$area*\n4. Дата рождения: *$hb*\nПравильно ли составлена ваша анкета?(бот реагирует на ответ «да» или «нет»?')
return t.substitute({
'title': title,
'name': name,
'fullname': user.fullname,
'phone': user.phone,
'area': user.area,
'hb': user.hb
})
def getRegData(user, title, name):
t = Template('$title *$name* \n1. ФИО: *$fullname*\n2. Телефон: *$phone* \n3. Район: *$area*\n4. Дата рождения: *$hb*')
return t.substitute({
'title': title,
'name': name,
'fullname': user.fullname,
'phone': user.phone,
'area': user.area,
'hb': user.hb
})
bot.polling(none_stop=True)