Telegram bot for the Frisson online guitar school — helps prospective students choose a teacher and sign up for lessons.
frisson-guitar-bot/
├── assets/ # Teacher photos
│
├── bot/
├── data/
│ └── teachers.py # Teacher and instrument data
├── handlers/
│ ├── init.py # Handler registration
│ ├── start.py # /start, join, no
│ ├── enrollment.py # Bot rating (enroll, rate_N)
│ └── commands.py # /help, /musical
├── keyboards/
│ ├── teachers_kb.py
│ └── start_kb.py # All inline keyboards
├── 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/.
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