refactor: QQ → OBv11 重命名 + 平台格式统一抽象
- 所有对外称呼从 QQ 改为 OBv11(注释/提示词/日志/配置项) - 新增 PlatformFormat 结构体,统一管理平台消息标记格式 - defaultPlatformFormats() 注册表替代硬编码 qqTargetRe - extractProactiveMessage 改为 Thinker 方法,遍历格式注册表匹配 - 配置项重命名: QQ_BOT_PORT → OBV11_BOT_PORT, QQBotPort → OBv11BotPort - 标记格式: 【QQ群聊】→【OBv11群聊】、【QQ私聊】→【OBv11私聊】 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,7 @@ type PlatformAdapter interface {
|
||||
}
|
||||
|
||||
// ProactiveSender is an optional interface for adapters that can
|
||||
// proactively send messages (e.g., QQ bot sending without prior request).
|
||||
// proactively send messages (e.g., OBv11 bot sending without prior request).
|
||||
type ProactiveSender interface {
|
||||
SendProactive(chatType string, userID, groupID int64, content string) error
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ type Config struct {
|
||||
InternalToken string
|
||||
|
||||
// Platform-specific.
|
||||
QQBotPort string // port for QQ OBv11 reverse WebSocket
|
||||
OBv11BotPort string // port for OBv11 reverse WebSocket
|
||||
TelegramToken string // Telegram Bot API token
|
||||
TelegramWebhookURL string // public webhook URL for Telegram
|
||||
|
||||
@@ -34,7 +34,7 @@ func Load() *Config {
|
||||
Env: "development",
|
||||
GatewayURL: "http://localhost:8080",
|
||||
AICoreURL: "http://localhost:8081",
|
||||
QQBotPort: "8096",
|
||||
OBv11BotPort: "8096",
|
||||
}
|
||||
if v := os.Getenv("PORT"); v != "" {
|
||||
cfg.Port = v
|
||||
@@ -51,8 +51,8 @@ func Load() *Config {
|
||||
if v := os.Getenv("INTERNAL_SERVICE_TOKEN"); v != "" {
|
||||
cfg.InternalToken = v
|
||||
}
|
||||
if v := os.Getenv("QQ_BOT_PORT"); v != "" {
|
||||
cfg.QQBotPort = v
|
||||
if v := os.Getenv("OBV11_BOT_PORT"); v != "" {
|
||||
cfg.OBv11BotPort = v
|
||||
}
|
||||
if v := os.Getenv("TELEGRAM_BOT_TOKEN"); v != "" {
|
||||
cfg.TelegramToken = v
|
||||
|
||||
@@ -180,7 +180,7 @@ func (h *BridgeHandler) sendProactive(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
// Map chat type to QQ message_type
|
||||
// Map chat type to OBv11 message_type
|
||||
msgType := req.ChatType
|
||||
if msgType != "private" && msgType != "group" {
|
||||
writeJSON(w, http.StatusBadRequest, errResp("chat_type must be private or group"))
|
||||
@@ -196,7 +196,7 @@ func (h *BridgeHandler) sendProactive(w http.ResponseWriter, r *http.Request) {
|
||||
content = fmt.Sprintf("[CQ:at,qq=%s] %s", req.AtUserID, content)
|
||||
}
|
||||
|
||||
// Find the adapter. For QQ, use "qq" as the default adapter name.
|
||||
// Find the adapter. For OBv11, use the platform name as adapter name.
|
||||
adapterName := req.Platform
|
||||
err := h.router.SendProactive(adapterName, msgType, userID, groupID, content)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user