https://github.com/zero1max/qr-time-tracking-bot
A Telegram bot that tracks users' work hours by scanning a QR code at the office. The bot ensures accurate work time logging, preventing users from starting without being physically present.
https://github.com/zero1max/qr-time-tracking-bot
Last synced: 11 months ago
JSON representation
A Telegram bot that tracks users' work hours by scanning a QR code at the office. The bot ensures accurate work time logging, preventing users from starting without being physically present.
- Host: GitHub
- URL: https://github.com/zero1max/qr-time-tracking-bot
- Owner: zero1max
- Created: 2025-04-16T15:56:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-16T16:01:27.000Z (about 1 year ago)
- Last Synced: 2025-05-07T19:14:54.437Z (about 1 year ago)
- Language: Python
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QR Time Tracking Bot
A Telegram bot built with Aiogram 3.x that tracks employees' work hours using QR code verification. Users can only start their work time after scanning a QR code physically available at the office, ensuring location-based attendance.
## Features
- โฑ Track work start and end time
- โ
Verify presence using QR codes
- ๐ Prevent cheating by enforcing QR scan at the office
- ๐งพ Simple integration with Telegram
- ๐ผ QR code generation and recognition support
## Tech Stack
- Python 3.10+
- Aiogram 3.x
- OpenCV (`cv2`)
- Pyzbar (for QR code reading)
- Pillow (for image processing)
## Installation
1. **Clone the repository:**
```bash
git clone https://github.com/your-username/qr-time-tracking-bot.git
cd qr-time-tracking-bot
2. **Create a virtual environment and activate it:**
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3. **Install dependencies:**
```bash
pip install -r requirements.txt
4. **Run the bot:**
```bash
python main.py
Usage
Admin generates a QR code (valid for a specific time).
Employees scan the QR code by sending a photo to the bot.
The bot validates the QR and logs their "check-in" time.
Optionally, a second scan or command can be used for "check-out".