Gestor completo de tareas (To-do List) en Telegram con el lenguaje de programación Python. Con este código Python podremos dotar a nuestro Bot de Telegram de un gestor de tareas: alta de tareas, consulta de tareas, resolver tareas, reabrir, eliminar tareas, etc.

Requisitos para desarrollar un gestor de tareas To-do List en Bot de Telegram con Python

Necesitaremos disponer de un Bot de Telegram y su token de acceso. En el siguiente enlace explicamos cómo crear un Bot de Telegram y obtener el token necesario para trabajar con él:

Para el desarrollo del programa en Python sólo necesitaremos cualquier editor o algún IDE que soporte Python, como por ejemplo Visual Studio Code.

Para el desarrollo de la aplicación Python usaremos varias librerías que debemos tener instaladas, como por ejemplo: requests, sqlite3, json. Para instalarlas, ejecutaremos estos comandos:

Desarrollo del programa en Python para gestionar las tareas To-do List en Telegram

Para almacenar los datos, las tareas de cada usuario, de cada chat de Telegram, el propio programa, en el primer inicio, creará una base de datos SQLite con la tabla «tareas», y tendrá una clase para realizar todas las operaciones sobre la base de datos SQLite:

  • Crear tabla tareas.
  • Insertar una nueva tarea.
  • Eliminar una tarea.
  • Mostrar las tareas no resueltas.
  • Mostrar las tareas resueltas y no resueltas.
  • Resolver una tarea.
  • Reabrir una tarea resuelta.

Para ello, crearemos un fichero Python con el nombre bd.py y el siguiente código:

El fichero principal de la aplicación, gestor_tareas.py, encargado de realizar todas las operaciones (conexión con el Bot, lectura y envío de mensajes, ejecución de comandos), tendrá el siguiente código:

Funcionamiento de la aplicación Python y el Bot para Gestor de Tareas To-Do List

Agregaremos el Bot a Telegram, al agregarlo, nos mostrará el mensaje del comando inicial start:

Desde el chat del Bot, introduciremos el comando ayuda. Nos devolverá todos los comandos que se pueden ejecutar en el Bot:

añadir..tarea..fecha (dd-mm-aaaa) → Añadir una tarea

tareas → Mostrar tareas sin resolver

pendientes → Mostrar sin resolver con días pendientes

todas → Mostrar todas las tareas

eliminar codigo_tarea → Eliminar una tarea

resolver codigo_tarea → Resolver una tarea

reabrir codigo_tarea → Reabrir tarea resuelta

ayuda → Muestra los comandos reconocidos

Para añadir una tarea usaremos el siguiente comando (a modo de ejemplo):

añadir..Revisión paciente Lucas 2 semana..21-11-2024

Donde:

  • Revisión paciente Lucas 2 semana: lo reemplazaremos por el texto de nuestra tarea.
  • 21-11-2024: lo reemplazaremos por la fecha máxima de vencimiento de la tarea, en formato dd-mm-aaaa.

Si se ha introducido el comando correctamente, nos devolverá un mensaje indicando que la tarea ha sido insertada correctamente.

Para mostrar todas las tareas pendientes de resolver, usaremos el comando tareas o lista:

Para resolver una tarea, usaremos el comando resolver codigo_tarea, por ejemplo, para resolver la tarea 12, usaremos:

resolver 12

Para mostrar todas las tareas (tanto las resueltas como las no resueltas), usaremos el comando todas. Las tareas resueltas aparecerán tachadas:

Para reabrir una tarea resuelta y volverla a marcar como no resuelta, usaremos el comando reabrir codigo_tarea, por ejemplo, para marcar como no resuelta la tarea 12, usaremos el comando:

reabrir 12

Si volvemos a mostrar las tareas pendientes de resolver con el comando tareas, nos volverá a aparecer la 12 pendiente de resolver:

Para eliminar una tarea, usaremos el comando eliminar codigo_tarea. Por ejemplo, para eliminar la tarea 13, usaremos el comando:

eliminar 13

Para mostrar las tareas pendientes de resolver y los días que faltan para su vencimiento, usaremos el comando días: