We often come across instances where friends with the same assignments in school have to individually track these assignments in their own TO-DO List app. With the increasing use of Telegram Group Chat, it is convenient to come up with "do_me_bot", a Telegram TO-DO List bot that can work for both individuals as well as in group chats. This will allow members of the Telegram Group, to have a coherent and updated TO-DO List.
What it does
Users can choose to use "do_me_bot" as an individual bot or add it into the Telegram Group Chat. Users can start the bot by typing "/start" in the chat or by using the in-built Telegram Command Buttons. Users can also use the command "/add' followed by the name of the tasking to add the tasking into the TO-DO List Bot. "/view" make use of a set of inbuilt pop of buttons to show the outstanding taskings. To remove a tasking, simply click on the tasking and press confirm to remove. To simplify the clearing process of the TO-DO List, we also implemented "/clear_list" to allow users to clear the entire TO-DO List.
How we built it
We started off by using BotFather in Telegram to set up the details of the bot and to retrieve the API_KEY. Then, we used Replit as a collaborative workspace for us to work on our Bot. Finally, we make use of Heroku to allow us to deploy our bot on Heroku server.
Challenges we ran into
One significant challenge was getting used to writing in Python for the first time due to the different syntax from programming languages that we had used before.
Another challenge was deploying the bot on Heroku Server. Having little experience with GitHub and Heroku, we face difficulty in deploying the bot. However, we managed to get our bot up and running on Heroku Server in the end.
Lastly, we also face difficulty in getting the bot to send out reminder messages at scheduled timings. Unfortunately, we were unable to implement this during the hackathon. Nonetheless, we will seek to implement these features along with other improvements after the hackathon.
Accomplishments that we're proud of
While the project may not be very complicated, we are proud to have complicated our first project together. Additionally, having only learned the Source language from CS1101S in NUS, it was not easy to learn Python and create a project in such a duration. Lastly, we are also satisfied that we managed to deploy the bot on Heroku, allowing us to use the bot without manually running it.
What we learned
Through this hackathon, we have learned how to work well in a team. Starting from coming up with a plan, to splitting up tasks and finally coming together to integrate our parts.
What's next for do_me_bot
In the future, do_me_bot will want to support the "/remind" command, which will allow users to set reminders for taskings based on their local time zone, no matter which time zone they are in.