Chuyển tới nội dung chính

QQ Bot

Kết nối Hermes với QQ thông qua API Bot QQ chính thức (v2) — hỗ trợ tin nhắn riêng (C2C), đề cập nhóm (@), guild và tin nhắn trực tiếp kèm chuyển đổi giọng nói.

Tổng quan

Bộ điều hợp QQ Bot sử dụng API Bot QQ chính thức để:

  • Nhận tin nhắn qua kết nối WebSocket liên tục đến QQ Gateway
  • Gửi phản hồi văn bản và markdown qua REST API

Các loại tin nhắn được hỗ trợ

LoạiSự kiệnGhi chú
Tin nhắn riêng (C2C)C2C_MESSAGE_CREATETrò chuyện 1-1 với bot
Đề cập nhómGROUP_AT_MESSAGE_CREATE@bot trong nhóm
Kênh GuildAT_MESSAGE_CREATE@bot trong kênh guild
DM GuildDIRECT_MESSAGE_CREATEDM qua guild

Thiết lập

1. Tạo QQ Bot

  1. Truy cập QQ Bot Platform và tạo một bot mới
  2. Ghi lại App IDApp Secret của bạn

2. Cấu hình biến môi trường

Thêm vào ~/.hermes/.env:

QQ_APP_ID=your_app_id
QQ_CLIENT_SECRET=your_app_secret

3. Khởi động Hermes với QQ

hermes --messaging qq

Cấu hình

BiếnMô tảMặc định
QQ_APP_IDApp ID của QQ Bot (bắt buộc)
QQ_CLIENT_SECRETApp Secret của QQ Bot (bắt buộc)
QQ_HOME_CHANNELOpenID cho gửi cron/thông báo
QQ_HOME_CHANNEL_NAMETên hiển thị cho kênh chínhHome
QQ_ALLOWED_USERSDanh sách OpenID người dùng được phép DM, cách nhau bằng dấu phẩymở (tất cả người dùng)
QQ_ALLOW_ALL_USERSĐặt true để cho phép tất cả DMfalse
QQ_MARKDOWN_SUPPORTBật markdown QQ (msg_type 2)true
QQ_STT_API_KEYAPI key cho nhà cung cấp chuyển giọng nói thành văn bản
QQ_STT_BASE_URLURL cơ sở cho nhà cung cấp STThttps://open.bigmodel.cn/api/coding/paas/v4

Phiên làm việc

Bộ điều hợp QQ sử dụng mô hình phiên theo loại tin nhắn:

  • C2C: Mỗi người dùng nhận được phiên riêng
  • Nhóm: Mỗi nhóm chia sẻ một phiên duy nhất
  • Guild: Mỗi kênh nhận được phiên riêng
  • DM Guild: Mỗi cặp DM nhận được phiên riêng

Chuyển đổi giọng nói

QQ Bot hỗ trợ tin nhắn giọng nói thông qua tích hợp STT (Speech-to-Text):

  1. Cấu hình QQ_STT_API_KEYQQ_STT_BASE_URL (tùy chọn)
  2. Khi người dùng gửi tin nhắn giọng nói, Hermes tự động chuyển đổi thành văn bản
  3. Văn bản đã chuyển đổi được xử lý như tin nhắn văn bản thông thường

Hạn chế đã biết

  • API QQ Bot yêu cầu bot phải phản hồi trong vòng 5 giây hoặc sử dụng cơ chế callback
  • Hỗ trợ markdown phụ thuộc vào phiên bản ứng dụng QQ của người dùng
  • Tin nhắn đa phương tiện (hình ảnh, file) hiện có hỗ trợ hạn chế