def edit_text(call, db_collection, text): target_id = extract_id(text) target_list = find_list(call, db_collection, target_id) task_index = find_index_task(call, db_collection, target_id, target_list) if target_list and task_index is not False: bot.send_message(chat_id=call.message.chat.id, text=ui.dialogue['new_text'].format( ui.different_signs['warning']), reply_markup=telebot.types.ReplyKeyboardRemove()) def add_new_text(msg, need_list, need_index): new_text = msg.text user_task = user_get_tasks(msg, db_collection)[need_list][need_index] user_task['task'] = new_text update_status = user_update_task(msg, COLLECTION, need_list, need_index, user_task) if update_status: notify_text = ui.dialogue['text_changed'].format( ui.different_signs['warning']) bot.send_message(chat_id=call.message.chat.id, text=notify_text, reply_markup=MENU_BACK) new_screen_info = edited_task_card(user_task) bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=new_screen_info[0], reply_markup=new_screen_info[1], parse_mode='HTML') else: notify_text = ui.dialogue['text_not_changed'].format( ui.different_signs['exclamatory']) bot.send_message(chat_id=call.message.chat.id, text=notify_text, reply_markup=MENU_BACK) bot.register_next_step_handler(call.message, add_new_text, target_list, task_index) else: text = ui.dialogue['wrong_edit_task'].format( ui.different_signs['exclamatory']) bot.send_message(chat_id=call.message.chat.id, text=text)
def todo_main(message): if message.chat.type == 'private': if message.text == ui.menu_main_items['help']: bot.send_message(message.from_user.id, ui.help_todo['short_info'], parse_mode='HTML') text = ui.dialogue['more_info'].format( message.from_user.first_name) bot.send_message(message.from_user.id, text, reply_markup=BTN_MORE_HELP) if message.text == ui.menu_main_items['add']: text = ui.dialogue['change_list'] bot.send_message(message.from_user.id, text, reply_markup=MENU_CASE) if message.text == ui.menu_list_items['important']: list_name = list(ui.menu_list_items.keys())[0] text = ui.dialogue['task_desc'] notification_before_task(message, text) bot.register_next_step_handler(message, add_task, list_name, COLLECTION) if message.text == ui.menu_list_items['ordinary']: list_name = list(ui.menu_list_items.keys())[1] text = ui.dialogue['task_desc'] notification_before_task(message, text) bot.register_next_step_handler(message, add_task, list_name, COLLECTION) if message.text == ui.menu_list_items['back']: sticker = open(ui.sticker_path['main'], 'rb') bot.send_sticker(message.from_user.id, sticker) text = ui.dialogue['main_menu'] bot.send_message(message.from_user.id, text, reply_markup=MENU_MAIN) if message.text == ui.menu_main_items['view']: show_tasks(message, COLLECTION) if message.text == ui.menu_main_items['edit']: edit_tasks(message, COLLECTION) if message.text == ui.menu_main_items['notifi']: text = ui.dialogue['notification_settings'].format( ui.different_signs['gear']) bot.send_message(message.from_user.id, text, reply_markup=MENU_NOTIFI) if message.text == ui.menu_settings_notification['notification_off']: notifi_change_status(message, COLLECTION, False) todo_start(message) if message.text == ui.menu_settings_notification[ 'notification_interval']: text = ui.interval_warning['desc_warning'].format(min=MIN_VALUE, max=MAX_VALUE) bot.send_message(message.from_user.id, text) pre_interval_notifications(message) bot.register_next_step_handler(message, interval_change)