Telegram bot for the Frisson online guitar school — helps prospective students choose a teacher and sign up for lessons.
frisson-bot/
│
├── bot/
│ ├── middlewares/
│ ├── services/
│ ├── keyboards.py
│ ├── loader.py
│ ├── main.py
│ ├── texts.py
├── data/
│ └── photos/
├── handlers/
│ ├── __init__.py
│ ├── feedback.py
│ ├── help.py
│ ├── instrument.py
│ ├── start.py
│ ├── teacher.py
├── config/settings.py
├── requirements.txt
├── .env.example
└── .gitignore
git clone https://github.com/your-org/frisson-guitar-bot.git
cd frisson-guitar-botpython -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtcp .env.example .env
# edit .env and fill in all values| Variable | Description |
|---|---|
BOT_TOKEN |
Bot token from @BotFather |
ADMIN_ID |
Telegram ID of the admin (receives ratings) |
FEEDBACK_ADMIN_ID |
Telegram ID of the feedback recipient |
CHANNEL_ID |
School's Telegram channel ID |
MANAGER_LINK |
Link to the manager (https://t.me/...) |
CHANNEL_LINK |
Link to the channel (https://t.me/...) |
Place image files in assets/ or data/photos.
python main.py| Command | Description |
|---|---|
/start |
Main welcome message |
/musical |
Go straight to instrument selection |
/feedback |
Leave a text review about lessons |
/help |
School info and contacts |
- Python 3.11+
- aiogram 2.x — async Telegram Bot API framework
- python-dotenv — configuration management via
.env - FSM (Finite State Machine) — dialog state management