An open API service indexing awesome lists of open source software.

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.

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".