The Beginning of NUSBot
NUSBot was created on the 30th June 2015. I spent my summer holidays while interning at Hitachi Japan, working on NUSBot. When Telegram Bot API was announced, a brilliant idea came into my head. Since most students are consistently on the mobile phone, own a mobile phone, and definitely chat on the mobile phone. Wouldn’t it be great if they could get their timetable information, ask the bot to process some information etcetera, for you? Wouldn’t it be great if the potential of this bot goes beyond just retrieving your timetable?
In a couple of hours, I wrote a couple lines of code in Ruby to test if I was able to engage the bot on Telegram, and that was how NUSBot or Venus was born!
NUSBot aims to serve the NUS Community using the concept of a “personal butler” through Telegram’s Bot to engage users interactively. The idea is to help students get their timetable schedule easily. NUSBot focuses on being task-oriented through the Bot Platform. NUSBot features different set of algorithms to get today and tomorrows’ timetable, as well as the next class schedule. This is convenient especially if you want to know what class you are having next. Besides that, NUSBot also has an alert notification feature that allow students to set deadlines, alerts, or any types of notification to help remind and keep them on track of the activities, tasks, etcetera.
Some hidden features that are not production ready would be the location feature. Simply ask “Where is LT15” for example, Venus would reply you with the exact geolocation, pinpointing to the location you are requesting. I am currently experimenting with Natural Language Processing to understand the intentions of the user so as to provide a more complex, and natural response to users.
On a technology point of view, NUSBot made use of Factory pattern, a Creational Design Pattern with the goal to allow the use of multiple chat platforms. I will be looking into Template and Mediator Design Pattern, a Behavioral Design Pattern, to allow different kinds of communication systems besides Telegram to leverage on the Bot algorithm to engage with users. Looking forward, it would be ideal to also to have extensions to different plugins such as GitHub, Trello, to help computing students be on task, or even for other faculty students to fully leverage on NUSBot to be efficient at school.
NUSBot possess great potential in making it easier for students and engaging at the same time. Eventually, NUSBots’ goals would be a personal butler for every student, empowering students to be more effective & efficient at school, while reducing the time in getting things done.
Here is a snippet of how to engage NUSBot!
Cheers!
Open Source Software
GitHub: NUSBot