Tổng quan
mezon-sdk là một SDK TypeScript mạnh mẽ, cung cấp giao diện phía client vững chắc để tương tác với nền tảng Mezon, cho phép giao tiếp thời gian thực và quản lý dữ liệu hiệu quả cho các ứng dụng và bot.
Vì sao chọn mezon-sdk?
Dự án này đơn giản hóa việc phát triển ứng dụng và bot Mezon bằng cách cung cấp một thư viện TypeScript toàn diện và có cấu trúc tốt. Các tính năng cốt lõi bao gồm:
- 🟢 Giao tiếp thời gian thực: Tận dụng WebSocket để giao tiếp hai chiều, tức thì với máy chủ Mezon, đảm bảo độ trễ thấp.
- 🔵 API toàn diện: Cung cấp đầy đủ phương thức để tương tác với mọi khía cạnh của dịch vụ Mezon, bao gồm xác thực, quản lý kênh và xử lý tin nhắn.
- 🟡 An toàn kiểu dữ liệu: Được xây dựng bằng TypeScript với kiểm tra kiểu nghiêm ngặt, giảm thiểu lỗi lúc chạy và cải thiện khả năng bảo trì mã.
- 🔴 Xử lý tin nhắn hiệu quả: Sử dụng hàng đợi bất đồng bộ và cơ chế cache để tối ưu hiệu năng, ngay cả khi lượng tin nhắn lớn.
- 🟣 Thiết kế mô-đun: Kiến trúc có cấu trúc rõ ràng và mô-đun, với các manager riêng cho phiên, socket, kênh và sự kiện, giúp dễ mở rộng, bảo trì và tích hợp vào các dự án hiện có.
- 🟠 Xử lý lỗi vững chắc: Bao gồm cơ chế xử lý lỗi toàn diện xuyên suốt mã nguồn, đảm bảo ứng dụng ổn định và trải nghiệm người dùng tốt hơn.
- ⚙️ Lưu trữ dữ liệu: Tích hợp với SQLite để lưu trữ tin nhắn cục bộ, cho phép truy cập ngoại tuyến và cải thiện hiệu năng.
Tính năng
| Thành phần | Chi tiết | |
|---|---|---|
| ⚙️ | Kiến trúc |
|
| 🔩 | Chất lượng mã |
|
| 📄 | Tài liệu |
|
| 🔌 | Tích hợp |
|
| 🧩 | Tính mô-đun |
|
| 🧪 | Kiểm thử |
|
| ⚡️ | Hiệu năng |
|
| 🛡️ | Bảo mật |
|
| 📦 | Phụ thuộc |
|
| 🚀 | Khả năng mở rộng |
|
Lưu ý: Bảng này dựa trên thông tin từ cấu trúc dự án và tóm tắt các tệp.
Cấu trúc dự án
└── mezon-sdk/
├── jest.config.js
├── nodemon.json
├── package.json
├── README.md
├── src
│ ├── api
│ │ └── api.ts
│ ├── api.ts
│ ├── client.ts
│ ├── constants
│ │ ├── enum.ts
│ │ └── index.ts
│ ├── google
│ │ └── protobuf
│ │ ├── struct.ts
│ │ ├── timestamp.ts
│ │ └── wrappers.ts
│ ├── index.ts
│ ├── interfaces
│ │ ├── api.ts
│ │ ├── client.ts
│ │ ├── index.ts
│ │ └── socket.ts
│ ├── message-socket-events
│ │ ├── base_event.ts
│ │ ├── index.ts
│ │ ├── user_channel_added.ts
│ │ └── user_channel_updated.ts
│ ├── mezon-client
│ │ ├── client
│ │ │ └── MezonClient.ts
│ │ ├── manager
│ │ │ ├── channel_manager.ts
│ │ │ ├── event_manager.ts
│ │ │ ├── session_manager.ts
│ │ │ └── socket_manager.ts
│ │ ├── structures
│ │ │ ├── Clan.ts
│ │ │ ├── Message.ts
│ │ │ ├── TextChannel.ts
│ │ │ └── User.ts
│ │ └── utils
│ │ ├── AsyncThrottleQueue.ts
│ │ ├── CacheManager.ts
│ │ └── Collection.ts
│ ├── rtapi
│ │ └── realtime.ts
│ ├── session.ts
│ ├── socket.ts
│ ├── sqlite
│ │ └── MessageDatabase.ts
│ ├── utils
│ │ ├── format_message_input.ts
│ │ ├── generate_reply_message.ts
│ │ ├── helper.ts
│ │ └── stack.ts
│ ├── utils.ts
│ ├── web_socket_adapter.ts
│ └── web_socket_adapter_pb.ts
├── tsconfig.esm.json
└── tsconfig.json