def callback_inline(call):
    data = call.data.split(':')
    if data[0] == 'tasks':
        cmd, status, offset, user_id = data
        response, keyboard = get_tasks(call.message.chat.id, status, offset,
                                       user_id)

        return bot.edit_message_text(
            chat_id=call.message.chat.id,
            message_id=call.message.message_id,
            text=response,
            reply_markup=keyboard,
        )

    elif data[0] == 'set_status_task':
        cmd, status, user_id, username, task_id = data
        task = change_status_task(call.message.chat.id, user_id, username,
                                  task_id, status)

        if task is None:
            return bot.edit_message_text(chat_id=call.message.chat.id,
                                         message_id=call.message.message_id,
                                         text='No task with such id')

        response, keyboard = get_task(call.message.chat.id, user_id, username,
                                      task_id)

        return bot.edit_message_text(
            chat_id=call.message.chat.id,
            message_id=call.message.message_id,
            text=response,
            reply_markup=keyboard,
        )
def callback_inline(call):
    data = call.data.split(':')
    if data[0] == 'tasks':
        cmd, status, offset, user_id = data

        response, keyboard = get_tasks(call.message.chat.id, status,
                                       offset, user_id)
        return bot.edit_message_text(
            chat_id=call.message.chat.id,
            message_id=call.message.message_id,
            text=response,
            reply_markup=keyboard,
        )
    elif data[0] == 'set_status_task':
        cmd, status, user_id, username, task_id = data

        task = change_status_task(call.message.chat.id,
                                  user_id, get_formatted_username(username),
                                  task_id, status)

        if task is None:
            response = 'No task with such id'
        else:
            response = f'''Title: {task["title"]}
Status: {task["status"]}
Assignee: {task["assignee"]}
Description:
{task["description"]}'''

        return bot.edit_message_text(
            chat_id=call.message.chat.id,
            message_id=call.message.message_id,
            text=response,
            reply_markup=get_keyboard_change_status(user_id, username, task_id)
        )
def done(message, task_id):
    if task_id:
        task = change_status_task(message.chat.id,
                                  message.from_user.id,
                                  message.from_user.username,
                                  task_id,
                                  status=Status.DONE)
        if task:
            return bot.reply_to(
                message, f'''Title: {task["title"]}
Status: {task["status"]}
Assignee: {task["assignee"]}
Description:
{task["description"]}''')
        return

    response, keyboard = get_tasks(message.chat.id, Status.DONE, 0)
    return bot.send_message(message.chat.id, response, reply_markup=keyboard)