Inspiration
The nuschatbot became extremely popular among students in the last month, during its peak there used to be up to hundreds of users using the chat bot simultaneously. We took inspiration from NUS Chatbox which has been increasingly popular among our peers in NUS. However, we realised that having a match that is more similar in background tends to lead to a relationship that lasts longer. Hence, we decided to implement additional features to make the experience more personalised.
What it does
Have you ever wanted to meet a new friend from the same school as you easily? Fret not! Connect NUS Bot is here to fulfil your wish! Search for @connect_nus_bot on Telegram.
Connect NUS Bot is a Telegram bot which connects you with a schoolmate. Through this bot, you can gain new friendships, meet a senior who can advise you, chat with someone who has the same interests as you, and many more!
How we built it
A list of online students will be sorted according to the user’s major, faculty, and year.
This sorting helps students to match with someone of their major, if not their faculty, or if not someone in the same year as them.
When a student has been reported, the DevOps will investigate the case. If the case is serious, the reported student shall be banned from the bot. If not, the reported student can continue to use the bot after the investigation.
Technical details and Current features
This bot is deployed on Heroku. It uses Postgresql to store the necessary user data and this database is also hosted on Heroku.
Current Features
Users are able to customise their profile on the chat bot with their NUS education profile Users are able to match and chat with school mates that are currently online
Commands
/start: Activate the bot.
/join: User registration.
/report: Report an uncomfortable chat and the chat will automatically end. The other party will be reported and this case will be investigated.
/chat: Start a chat session.
/cancel: Cancel a chat session.
Challenges we ran into
As most online tutorials do not teach us how to create a telebot using Python 3.9, we had a hard time researching online materials to enable us to implement the features we want.
Furthermore, most of us do not have experience implementing a chatbox, hence enhancing the difficulty of completing our hack.
Accomplishments that we're proud of
We managed to set up the registration flow so that users are able to register their details on the database. We managed to set up the report system. We managed to implement a database together with telebot on heroku using Postgresql.
What we learned
We have learnt how to create a telebot that allows two way communication as well as saving users’ profile on a cloud database.
Through the various workshops, we have also picked up on additional tech skills which could be useful for our future projects.
What's next for Connect NUS Bot
- Allow user to modify their user profile data through
/join - Allow user to send other message types e.g stickers, videos
- Allow user to edit their messages
- Allow user to match via more specific details such as modules
- Allow user to select their major instead of typing it out during user registration
Log in or sign up for Devpost to join the conversation.