feat(debug): make komari task echo log to debug level and selectable

feat(internal/controller/qq_napcat): add trigger log display and detailed to chatID and senderID
This commit is contained in:
2026-08-12 22:29:57 +08:00
parent 8cd7cfd6e7
commit 105fa47811
4 changed files with 14 additions and 9 deletions
+1
View File
@@ -13,6 +13,7 @@ type DebugConfig struct {
ShowNapcatAction bool `json:"showNapcatAction"` ShowNapcatAction bool `json:"showNapcatAction"`
ShowTelegramMsg bool `json:"showTelegramMsg"` ShowTelegramMsg bool `json:"showTelegramMsg"`
ShowTriggerCmdEcho bool `json:"showTriggerCmdEcho"` ShowTriggerCmdEcho bool `json:"showTriggerCmdEcho"`
ShowKomariTaskEcho bool `json:"showKomariTaskEcho"`
NapcatIgnoreSelfMsg bool `json:"napcatIgnoreSelfMsg"` NapcatIgnoreSelfMsg bool `json:"napcatIgnoreSelfMsg"`
} }
@@ -183,6 +183,10 @@ func (q *QQController) processCommand(cmd controller.Command) string {
// Hand the complete command to the unified processor, which checks group // Hand the complete command to the unified processor, which checks group
// vs private, trusted groups, admin permissions, and executes it. // vs private, trusted groups, admin permissions, and executes it.
response, err := controller.GetManager().Trigger(parsed, q.cfg.TrustedGroups, q.cfg.Admins, q.cfg.ListenMethod) response, err := controller.GetManager().Trigger(parsed, q.cfg.TrustedGroups, q.cfg.Admins, q.cfg.ListenMethod)
cfg := config.GetConfig()
if cfg.System.DebugMode && cfg.Debug.ShowTriggerCmdEcho {
postLog.Debug(fmt.Sprintf("[qq_napcat] triggered command: \"/%s\" with args: \"%s\" from chatID: %d and senderID: %d", parsed.Command, strings.Join(parsed.Args, ", "), cmd.ChatID, cmd.SenderID))
}
if err != nil { if err != nil {
postLog.Error("Napcat command processing failed: " + err.Error()) postLog.Error("Napcat command processing failed: " + err.Error())
return "" return ""
-6
View File
@@ -8,7 +8,6 @@ import (
"nukumizu-backend/internal/komari" "nukumizu-backend/internal/komari"
"nukumizu-backend/internal/node" "nukumizu-backend/internal/node"
"nukumizu-backend/internal/template" "nukumizu-backend/internal/template"
"nukumizu-backend/postLog"
) )
// Trigger validates an incoming command against the pipe's authorization // Trigger validates an incoming command against the pipe's authorization
@@ -49,11 +48,6 @@ func (m *Manager) Trigger(cmd Command, trustedGroups, admins []string, listenMet
// RouteCommand processes a parsed bot command and returns the response text. // RouteCommand processes a parsed bot command and returns the response text.
// The actual command execution for every pipe is unified here. // The actual command execution for every pipe is unified here.
func (m *Manager) RouteCommand(cmd Command) (string, error) { func (m *Manager) RouteCommand(cmd Command) (string, error) {
cfg := config.GetConfig()
if cfg.System.DebugMode && cfg.Debug.ShowTriggerCmdEcho {
postLog.Debug("Trigger received command: /" + cmd.Command + " with args: " + strings.Join(cmd.Args, ", "))
}
switch cmd.Command { switch cmd.Command {
case "help": case "help":
return handleHelp() return handleHelp()
+8 -2
View File
@@ -292,7 +292,9 @@ func (c *Client) ExecTask(uuids []string, command string) (string, error) {
return "", fmt.Errorf("failed to parse komari task exec data: %w", err) return "", fmt.Errorf("failed to parse komari task exec data: %w", err)
} }
postLog.Info(fmt.Sprintf("Created Komari task %s for %d clients", result.TaskID, len(uuids))) if config.GetConfig().System.DebugMode && config.GetConfig().Debug.ShowKomariTaskEcho {
postLog.Debug(fmt.Sprintf("Created Komari task %s for %d clients", result.TaskID, len(uuids)))
}
return result.TaskID, nil return result.TaskID, nil
} }
@@ -333,7 +335,9 @@ func (c *Client) GetTaskResult(taskID string) ([]TaskResult, bool, error) {
// PollTaskResult polls for task results every 1 second until all results are // PollTaskResult polls for task results every 1 second until all results are
// available or 60 seconds have elapsed. // available or 60 seconds have elapsed.
func (c *Client) PollTaskResult(taskID string) ([]TaskResult, error) { func (c *Client) PollTaskResult(taskID string) ([]TaskResult, error) {
postLog.Info(fmt.Sprintf("Polling for Komari task %s results...", taskID)) if config.GetConfig().System.DebugMode && config.GetConfig().Debug.ShowKomariTaskEcho {
postLog.Debug(fmt.Sprintf("Polling for Komari task %s results...", taskID))
}
timeout := time.After(60 * time.Second) timeout := time.After(60 * time.Second)
ticker := time.NewTicker(1 * time.Second) ticker := time.NewTicker(1 * time.Second)
@@ -349,7 +353,9 @@ func (c *Client) PollTaskResult(taskID string) ([]TaskResult, error) {
return nil, err return nil, err
} }
if done { if done {
if config.GetConfig().System.DebugMode && config.GetConfig().Debug.ShowKomariTaskEcho {
postLog.Info(fmt.Sprintf("Task %s completed with %d results", taskID, len(results))) postLog.Info(fmt.Sprintf("Task %s completed with %d results", taskID, len(results)))
}
return results, nil return results, nil
} }
} }