Bot tự động thực hiện các tác vụ trên Microsoft Graph API (gửi email, ping SharePoint, upload file...) để duy trì hoạt động tài khoản Microsoft 365 E5 Developer, tránh bị thu hồi do không sử dụng.
Thông báo trạng thái được gửi về Telegram. Nội dung file log được tạo bởi Groq AI.
| Biến | Mô tả | Lấy ở đâu |
|---|---|---|
TENANT_ID |
ID tenant của Microsoft | Azure Portal |
CLIENT_ID |
ID ứng dụng Azure | Azure App Registration |
CLIENT_SECRET |
Mật khẩu ứng dụng Azure | Azure App Registration |
USER_EMAIL |
Email tài khoản E5 | Email đăng ký E5 của bạn |
SHAREPOINT_SITE_ID |
ID của SharePoint Site | Graph Explorer hoặc script |
SHAREPOINT_DRIVE_ID |
ID của Drive trong SharePoint | Graph Explorer hoặc script |
GROQ_API_KEY |
API key của Groq AI | Groq Console |
TELEGRAM_BOT_TOKEN |
Token của Telegram Bot | @BotFather trên Telegram |
TELEGRAM_CHAT_ID |
ID chat để nhận thông báo | @userinfobot trên Telegram |
- Truy cập Azure Portal.
- Tại trang chủ, tìm mục Manage Microsoft Entra ID → chọn View.
- Tại trang Overview, sao chép giá trị Directory (tenant) ID → đây là
TENANT_ID.
- Ở menu bên trái, chọn App registrations → New registration.
- Name: Đặt tên tùy ý, ví dụ
PingE5App. - Supported account types: Chọn Accounts in this organizational directory only.
- Nhấn Register.
- Name: Đặt tên tùy ý, ví dụ
- Sau khi tạo xong, tại trang Overview của App:
- Sao chép giá trị Application (client) ID → đây là
CLIENT_ID.
- Sao chép giá trị Application (client) ID → đây là
- Trong menu bên trái, chọn Certificates & secrets.
- Chọn tab Client secrets → New client secret.
- Đặt mô tả và thời gian hết hạn → nhấn Add.
-
⚠️ QUAN TRỌNG: Sao chép ngay giá trị ở cột Value (không phải Secret ID). Sau khi rời trang này bạn sẽ không xem lại được. Đây làCLIENT_SECRET.
- Chọn API permissions → Add a permission → Microsoft Graph.
- Chọn Application permissions.
- Tìm và tích chọn các quyền sau:
Mail.SendSites.ReadWrite.AllFiles.ReadWrite.AllUser.Read.All
- Nhấn Add permissions.
- Nhấn Grant admin consent for [tên tổ chức] để kích hoạt quyền.
-
Truy cập Microsoft Graph Explorer và đăng nhập.
-
Lấy
SHAREPOINT_SITE_ID: Gửi GET request đến:https://graph.microsoft.com/v1.0/sites/rootTrong kết quả JSON, tìm trường
id→ đây làSHAREPOINT_SITE_ID. -
Lấy
SHAREPOINT_DRIVE_ID: Gửi GET request đến:https://graph.microsoft.com/v1.0/sites/{SHAREPOINT_SITE_ID}/drivesTìm Drive tên Documents, sao chép giá trị
id→ đây làSHAREPOINT_DRIVE_ID.
- Tạo file
.envcùng thư mục vớifilesharepoint.py:TENANT_ID=your_tenant_id CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret
- Chạy script:
python filesharepoint.py
- Script sẽ tự động hiển thị
SHAREPOINT_SITE_IDvàSHAREPOINT_DRIVE_ID.
Bot dùng Groq API để tạo nội dung ngẫu nhiên cho file log upload lên SharePoint.
- Truy cập Groq Console.
- Đăng nhập hoặc tạo tài khoản Groq.
- Nhấn Create API key.
- Sao chép API key được tạo ra → đây là
GROQ_API_KEY.
💡 Nếu không cấu hình
GROQ_API_KEY, bot vẫn chạy bình thường nhưng file log sẽ dùng nội dung mặc định thay vì do AI tạo ra.
Bot gửi toàn bộ log và thông báo lỗi về Telegram để bạn theo dõi từ xa.
- Mở Telegram, tìm kiếm @BotFather.
- Nhấn Start rồi gõ lệnh
/newbot. - Làm theo hướng dẫn:
- Đặt tên cho bot (ví dụ:
PingE5 Notifier). - Đặt username (phải kết thúc bằng
bot, ví dụ:pinge5_bot).
- Đặt tên cho bot (ví dụ:
- BotFather sẽ trả về một đoạn token dạng
1234567890:AAH...→ đây làTELEGRAM_BOT_TOKEN.
- Tìm kiếm @userinfobot trên Telegram.
- Nhấn Start.
- Bot sẽ trả về ID của bạn (dạng số, ví dụ:
987654321) → đây làTELEGRAM_CHAT_ID.
⚠️ Bắt buộc phải làm bước này, nếu không bot sẽ không thể gửi tin nhắn cho bạn.
Tìm username bot bạn vừa tạo trên Telegram (ví dụ @pinge5_bot) và nhấn Start.
Dán URL sau vào trình duyệt (thay thông tin của bạn vào):
https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/sendMessage?chat_id=<TELEGRAM_CHAT_ID>&text=Hello!
Nếu điện thoại nhận được tin "Hello!" thì cấu hình đã đúng.
Vào repository GitHub → Settings → Secrets and variables → Actions → New repository secret, thêm lần lượt các secrets:
# Microsoft Azure & SharePoint
TENANT_ID= # Directory (tenant) ID từ Microsoft Entra ID
CLIENT_ID= # Application (client) ID từ Azure App Registration
CLIENT_SECRET= # Client secret từ Azure App Registration
USER_EMAIL= # Email tài khoản E5, ví dụ: user@domain.onmicrosoft.com
SHAREPOINT_SITE_ID= # ID của SharePoint site
SHAREPOINT_DRIVE_ID= # ID của Drive trong SharePoint
# Groq AI (tuỳ chọn)
GROQ_API_KEY= # API key từ Groq Console
# Telegram Bot
TELEGRAM_BOT_TOKEN= # Token từ @BotFather
TELEGRAM_CHAT_ID= # Chat ID từ @userinfobot