Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Memory Bot

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.

Why this project exists

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.

Features

  • 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

Example use cases

  • City games
  • Travel journals
  • Friendship trips
  • Creative events
  • Workshops
  • Field research
  • Memory books
  • Personal archives

Tech stack

  • Python
  • aiogram
  • SQLite
  • Telegram Bot API
  • systemd for deployment

Project structure

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.

Environment variables

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=0

Installation

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

On Windows PowerShell:

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Run locally

python main.py

Deployment

The 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.target

Case study

A Russian-language project workflow and real-life use case description is available here:

Project workflow: Begushchiy Gorod cycling event

Privacy note

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

Status

Prototype / personal project.

Built and tested during a real-life event.

About

Telegram bot for collecting photos, voice notes, videos and memories during real-life events.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages