コード例 #1
0
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)
コード例 #2
0
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)