This project was done as a final project of Harvard CS50 course.
While creating, materials of "Telegram Bot (aiogram) - essentials" was used.
Project is a Python Aiogram library-based application for Telegram messenger. This bot has a database, which stores an information about users of this bot. Each user can add infomation about itself (only) or search for an other random user. No registration is needed. An idea of the bot is to help people to find each other by information they provided about themselves.
- main.py - main executive file
- database.py - contains functions, that allowes to lauch, shutdown and use database
- keyboards.py - contains functions, that gives user access to keyboards
- profile.db - contains database about users who created their profiles
- config.py - contains bot API
PLEASE NOTE: config.py is provided for test purposes. To obtain your own API use BotFather. While depolyment, environment variable API_TOKEN should be set directly through the CLI.
- basic commands handlers
- profile creating process (using FSM)
- database connection (using sqlite3)
- random contact search (using CallbackQuery)
- @dp.errors_handler(exeption=Bot Blocked)
- categorizing contacts/search by categories
- like/dislike system
- profile rating
- inline mode of the bot
- antiflood throttler
- connecting to the payment system
This project is licensed under the MIT License - see the LICENSE file for details.