A Telegram bot for collecting memories during real-life events: trips, city games, walks, workshops, quests, and shared experiences.
The bot helps participants save text notes, photos, videos, voice messages, and small emotional fragments during the day. Later, these materials can be used to create a recap, archive, story, or memory book.
Some moments disappear too quickly: funny phrases, tired voices, route mistakes, small victories, food breaks, sudden weather changes, and the feeling of being there.
This bot was created as a lightweight field journal for a real-life city cycling game. Instead of trying to remember everything afterwards, participants could send fragments during the event and collect a living memory archive.
- Save text notes from participants
- Save photos, videos, documents, and voice messages
- Store participant data in a local SQLite database
- Send random secret tasks during the event
- Support test mode and live mode
- Owner-only admin commands
- Export collected media for further processing
- Can be deployed on a VPS/server with
systemd
- City games
- Travel journals
- Friendship trips
- Creative events
- Workshops
- Field research
- Memory books
- Personal archives
- Python
- aiogram
- SQLite
- Telegram Bot API
- systemd for deployment
telegram-memory-bot/
├── main.py
├── requirements.txt
├── .env.example
├── .gitignore
├── README.md
├── docs/
│ └── project_workflow_ru.md
└── data/
└── bot.db
The data/, .env, virtual environment, exported media, archives, and personal transcripts are not included in the repository.
Create a .env file based on .env.example:
BOT_TOKEN=your_telegram_bot_token_here
OWNER_ID=your_telegram_id_here
DB_PATH=data/bot.db
MIN_DELAY_MINUTES=25
MAX_DELAY_MINUTES=75
TEST_MODE=0python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtOn Windows PowerShell:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txtpython main.pyThe bot can be deployed on a small VPS. For continuous work, it can be run as a systemd service.
Example service file:
[Unit]
Description=Telegram Memory Bot
After=network.target
[Service]
WorkingDirectory=/opt/telegram-memory-bot
ExecStart=/opt/telegram-memory-bot/.venv/bin/python /opt/telegram-memory-bot/main.py
Restart=always
RestartSec=5
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.targetA Russian-language project workflow and real-life use case description is available here:
Project workflow: Begushchiy Gorod cycling event
This bot may collect personal memories, media, voices, and private messages.
Do not commit the following files or folders to GitHub:
.env- local databases
- exported media
- archives
- voice messages
- personal transcripts
- participant data
Prototype / personal project.
Built and tested during a real-life event.