# n8n-nodes-mtai-zalo-test-trial

Các node hỗ trợ tích hợp Zalo vào nền tảng **n8n**.

---

## 📦 Cài đặt

```bash
pnpm install n8n-nodes-mtai-zalo-test-trial
```

### Yêu cầu:
- **Node.js** ≥ 18.10
- **n8n** ≥ 1.0.0

---

## 🔐 Cấu hình Credentials

1. Sử dụng node `ZaloLoginByQr` để quét mã QR và lấy thông tin xác thực:
   - `cookie`
   - `imei`
   - `userAgent`

2. Credential được tạo sẽ dùng cho các node Zalo còn lại trong workflow.

---

## ✅ Các node đã hoàn chỉnh

### 1. `ZaloLoginByQr`
- **Chức năng**: Đăng nhập Zalo bằng mã QR để lấy thông tin xác thực.
- **Cách dùng**:
  - Thêm node vào workflow.
  - Làm theo hướng dẫn để quét QR và thu thập thông tin login.

---

### 2. `ZaloSendMessage`
- **Chức năng**: Gửi tin nhắn đến người dùng hoặc nhóm trên Zalo.
- **Cách dùng**:
  - Cấu hình `userId` hoặc `groupId`.
  - Nhập nội dung tin nhắn (hỗ trợ gửi text, ảnh, file...).

---

### 3. `ZaloUser`
- **Chức năng**: Lấy thông tin chi tiết của người dùng Zalo.
- **Cách dùng**:
  - Nhập `userId` để truy xuất thông tin người dùng.

---

### 4. `ZaloGroup`
- **Chức năng**: Truy xuất thông tin nhóm Zalo, bao gồm danh sách thành viên.
- **Cách dùng**:
  - Nhập `groupId` để lấy dữ liệu liên quan đến nhóm.

---

### 5. `ZaloMessageTrigger`
- **Chức năng**: 
  - Theo dõi và kích hoạt workflow khi có tin nhắn mới từ người dùng hoặc nhóm.
  - Chuyển đổi giọng nói sang text. 
- **Cách dùng**:
  - Cấu hình loại sự kiện (`message.user`, `message.group`, v.v).
  - Node sẽ tự động kích hoạt khi có tin nhắn đến.
  - Chức năng chuyển giọng nói sang text yêu cầu thêm WitAiApi credential còn nếu không có mình có thể dùng Vosk
- **Lưu ý**:
  - Tin nhắn giọng nói (`chat.voice`) hiện chỉ được nhận diện chứ chưa hỗ trợ chuyển đổi thành văn bản.
  - WitAiApi credentiald bắt buộc phải có AccessToken từ trang wit.ai
  - Hiện tại chức năng nghe hiểu của vosk về tiếng Việt không quá hiệu quả
---

### 6. `ZaloFriendTrigger`
- **Chức năng**: Theo dõi các sự kiện liên quan đến bạn bè (kết bạn, hủy kết bạn,...).
- **Cách dùng**:
  - Thêm node này vào workflow để lắng nghe các sự kiện liên quan.

---

## 📝 Ghi chú

- Một số tính năng nâng cao như **chuyển đổi voice thành text (speech-to-text)** đang được phát triển.
- Nếu gặp lỗi cài đặt:
  - Kiểm tra quyền truy cập file
  - Chạy với quyền admin (nếu cần)
  - Đảm bảo không có tiến trình nào đang khóa file

---

## 👨‍💻 Liên hệ & Đóng góp

Đóng góp mã nguồn, bug report, hoặc ý tưởng xin gửi về repo hoặc liên hệ tác giả.

---