Find a friend through this telegram bot, create a group chat with them and the bot, and let the ice breaking begin!
Explore the docs »
Table of Contents
This project is part of our submission to the MakeUC 2022 hackathon. Our project submission can be viewed here on Devpost. Below is an exerpt from our project submission.
We were inspired by the "Global Connectivity" track of the hackathon and decided to come up with something that helps to bring people together. A problem we have discovered as part of this track, is that sometimes when people come together, there tend to be awkward silence and a lack of momentum to get the conversation going.
Following our inspiration, we have decided to create a telegram bot to solve the issue as it is a popular messaging app that most people already have installed, thus mitigating the issue of barriers to entry. Our telegram bot does mainly two things: 1. connecting people with similar attributes and 2. helping them "break the ice".
We built it using the following resources:
There were multiple challenges we have ran into during the process of completing this project:
- Inline keyboard for telegram bot does not seem to work as we intended. Hence we decided to use a reply keyboard instead.
- Some lack of technical knowledge. Some quick googling helped us greatly in this problem.
We are proud to be able to accomplish the following features for our project:
- A fully functional telegram bot
- User data collection (for matching with others)
- Auto translation capabilities
- Database backend (using MongoDB)
There were many learning points in this project:
- Our technical knowledge in the areas of telegram bot building has improved
- Process of engaging in a software project
We hope to continue implementing the features that we wanted but was unable to due to lack of time, such as:
- More/better content for ice breaking (currently this feature only sends out a randomised ice breaker question to get the conversation going).
- Matching algorithm (currently we are unable to implement the matching algorithm properly to match users with others).
Kindly follow the instructions below to get started.
- pip
pip install python-telegram-bot pip install pymongo pip install libretranslatepy
-
Get a free API Key from Telegram from BotFather https://core.telegram.org/bots
-
Create a free account from MongoDB https://www.mongodb.com/
-
Clone the repo
git clone https://github.com/ong-ck/icebreakerbot
-
Enter your API key for each of the APIs above in
config.py -
Run
main.py
DISCLAIMER: Using this telegram bot requires the collection of personal information. PLEASE MAKE SURE TO DRAFT A PRIVACY STATEMENT BEFORE ATTEMPTING TO EMULATE THIS PROJECT AND INFORM THE USER ABOUT THE COLLECTION OF ANY PERSONAL DATA.
-
Type /find to answers some questions about yourself.
-
Username of matched user will be sent to you by the bot.
-
Proceed to create a telegram group chat with said matched user and this bot.
-
In case matched user and yourself speak different languages, this bot will attempt to auto translate any non-command texts in the group chat (by default from "en" to "de", with "en", "de" and "es" currently available for selection).
-
To set translation languages, type /setlang
-
To toggle auto translation on/off, type /toggle_translation
-
To BREAK SOME ICE, type /breakice
- Finding like-minded individuals
- Auto translation for better connectivity
- Ice Breaker features (Ice Breaker Questions)