Reads Telegram conversations exported to JSON and builds a CSV file with a report on total duration of voice messages on a per user per day basis.
This is a real-world project. The requirement is to be able to produce visual graph reports of students' engagement measured by the length of voice messages they exchange with their tutors over the Telegram app.
- Python 3
- Telegram Desktop
-
Export conversations in the JSON format with Telegram Desktop
-
Put the exported
result.json
file and the reporter.py script in the same directory -
On Windows simply double click
reporter.py
. On Unix systems open a terminal and run./reporter.py
-
This will generate a CSV file in the same directory with the following name pattern:
report.<timestamp>.csv
.
One time setup:
python3 -m venv virtual_env
. virtual_env/bin/activate
pip install -r requirements.txt
Run the server:
python app/main.py
Open http://localhost:5000 and upload result.json
.
docker build -t telegram-voice-message-duration-reporter:latest .
docker run -d -p 5000:5000 telegram-voice-message-duration-reporter:latest
Open http://localhost:5000 and upload result.json
.