Tài liệu này hướng dẫn chi tiết cách thiết lập môi trường cho hệ thống AI Thống kê xin nghỉ phép, đi trễ,... từ Telegram.
- Python 3.8 trở lên
- Kết nối Internet ổn định
Mở terminal tại thư mục gốc của dự án và chạy lệnh sau để cài đặt các thư viện cần thiết:
Lưu ý: Tải uv tại https://docs.astral.sh/uv/getting-started/installation/#installation-methods
uv pip install -r requirements.txtĐể truy cập tin nhắn Telegram, bạn cần tạo một ứng dụng trên Telegram:
- Truy cập https://my.telegram.org
- Đăng nhập bằng số điện thoại của bạn
- Chọn API development tools
- Điền thông tin vào form (App title, Short name...)
- Sau khi tạo xong, bạn sẽ thấy
App api_idvàApp api_hash. Hãy lưu lại hai thông tin này
Để sử dụng AI phân tích tin nhắn:
- Truy cập Google AI Studio
- Tạo một API Key mới
- Lưu lại API Key
-
Sao chép file
.env.examplethành file.env:- Windows:
copy .env.example .env - Linux/Mac:
cp .env.example .env
- Windows:
-
Mở file
.envbằng trình soạn thảo văn bản và điền thông tin đã lấy ở bước 3:
TELEGRAM_API_ID=123456
TELEGRAM_API_HASH=abcdef123456...
GEMINI_API_KEY=AIzaSyD...
# Để trống các trường TARGET_GROUP_ID và TARGET_TOPIC_ID tạm thời
TARGET_GROUP_ID=
TARGET_TOPIC_ID=
SESSION_NAME=telegram_sessionChạy script xác thực để đăng nhập vào Telegram:
python scripts/telegram_auth.pyLàm theo hướng dẫn trên màn hình để nhập mã xác thực từ Telegram.
Để bot biết cần lấy dữ liệu từ nhóm nào, bạn cần lấy ID của nhóm và Topic "Schedule":
- Chạy script lấy thông tin dialog:
python scripts/get_dialog_info.py-
Kiểm tra file
data_raw/dialog_info.jsonđể tìm ID nhóm và topic cần thiết -
Cập nhật file
.envvớiTARGET_GROUP_IDvàTARGET_TOPIC_IDphù hợp
Sau khi hoàn thành các bước cài đặt, chạy flow chính:
uv run python flow.pyHệ thống sẽ:
- Tìm các topic schedule từ
data_raw/dialog_info.json - Fetch messages từ Telegram
- Label các tin nhắn schedule
- Xuất kết quả ra file Excel