From 16341972af99807e63543ff649c7c8d61068c07d Mon Sep 17 00:00:00 2001 From: NanamiAdmin Date: Wed, 2 Sep 2026 21:24:27 +0800 Subject: [PATCH] style: replace `GetConfig()` with variable `C_globalConfig` --- config/config.go | 5 ----- internal/controller/controller.go | 6 ++--- internal/controller/pipes/email.go | 6 ++--- internal/controller/pipes/ntfy.go | 6 ++--- internal/controller/pipes/qq_napcat/napcat.go | 10 ++++----- internal/controller/pipes/qq_napcat/qq.go | 22 +++++++++---------- .../controller/pipes/telegram/telegram.go | 10 ++++----- internal/controller/pipes/webhook.go | 6 ++--- internal/controller/processor.go | 8 +++---- internal/komari/client.go | 8 +++---- internal/komari/ws.go | 2 +- internal/netproxy/netproxy.go | 2 +- main.go | 2 +- 13 files changed, 44 insertions(+), 49 deletions(-) diff --git a/config/config.go b/config/config.go index ce4c3e0..1cfadd0 100644 --- a/config/config.go +++ b/config/config.go @@ -99,11 +99,6 @@ func LoadGlobalConfig(configPath string) (*Config, error) { return &cfg, nil } -// GetGlobalConfig returns the global configuration singleton. -func GetGlobalConfig() *Config { - return C_globalConfig -} - // LoadBotUserConfig reads and parses bot_user_config.json and stores it as the // global C_botUserConfig singleton, mirroring LoadGlobalConfig. func LoadBotUserConfig(configPath string) (*BotUserConfig, error) { diff --git a/internal/controller/controller.go b/internal/controller/controller.go index 67a0167..bf37556 100644 --- a/internal/controller/controller.go +++ b/internal/controller/controller.go @@ -77,7 +77,7 @@ func (m *Manager) ShowBotInitMessage() { m.mu.RLock() defer m.mu.RUnlock() - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildBotInitializationMsgParams() message := template.Render(cfg.ControllerMessage.BotStarted, params) @@ -102,7 +102,7 @@ func (m *Manager) ShowBotServerList() { m.mu.RLock() defer m.mu.RUnlock() - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() message := template.Render(cfg.ControllerMessage.ServerList, params) @@ -125,7 +125,7 @@ func (m *Manager) NotifyStatusChange(change node.StatusChange) { m.mu.RLock() defer m.mu.RUnlock() - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig templateStr := cfg.ControllerMessage.ServerStatusChanged params := template.BuildParamsFromStatusChange(change) diff --git a/internal/controller/pipes/email.go b/internal/controller/pipes/email.go index b4f50e3..dc85d18 100644 --- a/internal/controller/pipes/email.go +++ b/internal/controller/pipes/email.go @@ -64,7 +64,7 @@ func (e *EmailController) SendStatusChange(change node.StatusChange) error { return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromStatusChange(change) body := template.Render(cfg.ControllerMessage.ServerStatusChanged, params) @@ -78,7 +78,7 @@ func (e *EmailController) SendServerList(onlineServers, offlineServers string) e return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() body := template.Render(cfg.ControllerMessage.ServerList, params) @@ -91,7 +91,7 @@ func (e *EmailController) SendExecuteResult(serverName, serverUUID, command, res return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(serverName, serverUUID, command, result) body := template.Render(cfg.ControllerMessage.ServerExecuteResult, params) diff --git a/internal/controller/pipes/ntfy.go b/internal/controller/pipes/ntfy.go index bfa48cf..45dab7f 100644 --- a/internal/controller/pipes/ntfy.go +++ b/internal/controller/pipes/ntfy.go @@ -58,7 +58,7 @@ func (n *NtfyController) SendStatusChange(change node.StatusChange) error { return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromStatusChange(change) message := template.Render(cfg.ControllerMessage.ServerStatusChanged, params) @@ -72,7 +72,7 @@ func (n *NtfyController) SendServerList(onlineServers, offlineServers string) er return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() message := template.Render(cfg.ControllerMessage.ServerList, params) @@ -85,7 +85,7 @@ func (n *NtfyController) SendExecuteResult(serverName, serverUUID, command, resu return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(serverName, serverUUID, command, result) message := template.Render(cfg.ControllerMessage.ServerExecuteResult, params) diff --git a/internal/controller/pipes/qq_napcat/napcat.go b/internal/controller/pipes/qq_napcat/napcat.go index ae47207..a872ba2 100644 --- a/internal/controller/pipes/qq_napcat/napcat.go +++ b/internal/controller/pipes/qq_napcat/napcat.go @@ -155,7 +155,7 @@ func (c *Client) SendMsg(targetType string, targetID int64, msg string, hasAt bo return nil, fmt.Errorf("failed to marshal request: %w", err) } - if config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug(fmt.Sprintf("[Napcat] SendMsg -> %s (%s): %s", endpoint, targetType, message)) } @@ -176,7 +176,7 @@ func (c *Client) RecallMsg(msgID int64) (*APIResponse, error) { return nil, fmt.Errorf("failed to marshal request: %w", err) } - if config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug(fmt.Sprintf("[Napcat] RecallMsg -> /delete_msg: %d", msgID)) } @@ -190,7 +190,7 @@ func (c *Client) RecallMsg(msgID int64) (*APIResponse, error) { // GetGroupList retrieves the list of joined groups from NapCat. func (c *Client) GetGroupList() (*APIResponse, error) { - if config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("[Napcat] GetGroupList -> /get_group_list") } @@ -211,7 +211,7 @@ func (c *Client) GetGroupInfo(groupID int64) (*APIResponse, error) { return nil, fmt.Errorf("failed to marshal request: %w", err) } - if config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug(fmt.Sprintf("[Napcat] GetGroupInfo -> /get_group_info: %d", groupID)) } @@ -225,7 +225,7 @@ func (c *Client) GetGroupInfo(groupID int64) (*APIResponse, error) { // GetFriendsList retrieves the friends list from NapCat. func (c *Client) GetFriendsList() (*APIResponse, error) { - if config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("[Napcat] GetFriendsList -> /get_friend_list") } diff --git a/internal/controller/pipes/qq_napcat/qq.go b/internal/controller/pipes/qq_napcat/qq.go index 32b6d47..1afad22 100644 --- a/internal/controller/pipes/qq_napcat/qq.go +++ b/internal/controller/pipes/qq_napcat/qq.go @@ -94,24 +94,24 @@ func (q *QQController) handleNapcatEvent(raw []byte) { return } - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowNapcatMsg { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowNapcatMsg { postLog.Debug("Napcat WS event received: " + string(raw)) } // Only handle message events; ignore notice/request/meta_event. if ev.PostType != "message" { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("Ignoring Napcat WS event: " + string(raw)) } return } // Ignore messages the bot itself sent (echo prevention). - if q.isSelfMessage(ev) && !config.GetGlobalConfig().System.DebugMode { + if q.isSelfMessage(ev) && !config.C_globalConfig.System.DebugMode { return } - if q.isSelfMessage(ev) && config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.NapcatIgnoreSelfMsg { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowNapcatAction { + if q.isSelfMessage(ev) && config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.NapcatIgnoreSelfMsg { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("Ignoring Napcat WS self message: " + string(raw)) } return @@ -132,7 +132,7 @@ func (q *QQController) handleNapcatEvent(raw []byte) { response := q.processCommand(cmd) if response == "" { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("Napcat WS command discarded: " + string(raw)) } return @@ -162,7 +162,7 @@ func (q *QQController) processCommand(cmd controller.Command) string { if q.cfg.ListenMethod == "at" { atMention := fmt.Sprintf("[CQ:at,qq=%d]", q.cfg.BotQQID) if !strings.Contains(text, atMention) { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowNapcatAction { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowNapcatAction { postLog.Debug("Napcat WS message ignored (no @mention): " + text) } return "" // Not mentioned, ignore. @@ -184,7 +184,7 @@ func (q *QQController) processCommand(cmd controller.Command) string { // Hand the complete command to the unified processor, which checks group // vs private, trusted groups, admin permissions, and executes it. response, err := controller.GetManager().Trigger(parsed, q.trustedGroupIDs(), q.adminIDs(), q.cfg.ListenMethod) - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowTriggerCmdEcho { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.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 { @@ -243,7 +243,7 @@ func (q *QQController) SendStatusChange(change node.StatusChange) error { return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromStatusChange(change) message := template.Render(cfg.ControllerMessage.ServerStatusChanged, params) @@ -266,7 +266,7 @@ func (q *QQController) SendServerList(onlineServers, offlineServers string) erro return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() message := template.Render(cfg.ControllerMessage.ServerList, params) @@ -282,7 +282,7 @@ func (q *QQController) SendExecuteResult(serverName, serverUUID, command, result return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(serverName, serverUUID, command, result) message := template.Render(cfg.ControllerMessage.ServerExecuteResult, params) diff --git a/internal/controller/pipes/telegram/telegram.go b/internal/controller/pipes/telegram/telegram.go index 0798af7..6ab9bd0 100644 --- a/internal/controller/pipes/telegram/telegram.go +++ b/internal/controller/pipes/telegram/telegram.go @@ -142,7 +142,7 @@ func (t *TelegramController) handleUpdate(_ context.Context, _ *bot.Bot, update } msg := update.Message - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowTelegramMsg { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowTelegramMsg { raw, _ := json.Marshal(update) postLog.Debug("Telegram update received: " + string(raw)) } @@ -219,7 +219,7 @@ func (t *TelegramController) processCommand(cmd controller.Command) string { // Hand the complete command to the unified processor, which checks group // vs private, trusted groups, admin permissions, and executes it. response, err := controller.GetManager().Trigger(parsed, t.trustedGroupIDs(), t.resolvedAdminList(), t.cfg.ListenMethod) - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowTriggerCmdEcho { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowTriggerCmdEcho { postLog.Debug(fmt.Sprintf("[telegram] 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 { @@ -245,7 +245,7 @@ func (t *TelegramController) SendStatusChange(change node.StatusChange) error { return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromStatusChange(change) message := template.Render(cfg.ControllerMessage.ServerStatusChanged, params) @@ -259,7 +259,7 @@ func (t *TelegramController) SendServerList(onlineServers, offlineServers string return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() message := template.Render(cfg.ControllerMessage.ServerList, params) @@ -273,7 +273,7 @@ func (t *TelegramController) SendExecuteResult(serverName, serverUUID, command, return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(serverName, serverUUID, command, result) message := template.Render(cfg.ControllerMessage.ServerExecuteResult, params) diff --git a/internal/controller/pipes/webhook.go b/internal/controller/pipes/webhook.go index 5793b46..86e06b6 100644 --- a/internal/controller/pipes/webhook.go +++ b/internal/controller/pipes/webhook.go @@ -59,7 +59,7 @@ func (w *WebhookController) SendStatusChange(change node.StatusChange) error { return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromStatusChange(change) message := template.Render(cfg.ControllerMessage.ServerStatusChanged, params) @@ -80,7 +80,7 @@ func (w *WebhookController) SendServerList(onlineServers, offlineServers string) return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() message := template.Render(cfg.ControllerMessage.ServerList, params) @@ -101,7 +101,7 @@ func (w *WebhookController) SendExecuteResult(serverName, serverUUID, command, r return nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(serverName, serverUUID, command, result) message := template.Render(cfg.ControllerMessage.ServerExecuteResult, params) diff --git a/internal/controller/processor.go b/internal/controller/processor.go index cc50533..fec4670 100644 --- a/internal/controller/processor.go +++ b/internal/controller/processor.go @@ -11,13 +11,13 @@ import ( ) func handleHelp(cmd Command) (string, error) { - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildBotInitializationMsgParams() return template.Render(cfg.ControllerMessage.BotHelp, params, cmd.Source), nil } func handleList(cmd Command) (string, error) { - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromServerList() return template.Render(cfg.ControllerMessage.ServerList, params, cmd.Source), nil } @@ -128,7 +128,7 @@ func handleRun(cmd Command) (string, error) { return fmt.Sprintf("Error getting results: %v", err), nil } - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildParamsFromExecResult(uuidArg, uuidArg, command, formatTaskResults(results)) return template.Render(cfg.ControllerMessage.ServerExecuteResult, params, cmd.Source), nil } @@ -178,7 +178,7 @@ func handleInfo(cmd Command) (string, error) { } func telegram_handleStart() (string, error) { - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig params := template.BuildBotInitializationMsgParams() return template.Render(cfg.ControllerMessage.Tg_BotStart, params, "telegram"), nil } diff --git a/internal/komari/client.go b/internal/komari/client.go index 07f35fa..80460a6 100644 --- a/internal/komari/client.go +++ b/internal/komari/client.go @@ -145,7 +145,7 @@ func (c *Client) Login(username, password string) error { var kr KomariResponse if err := json.NewDecoder(resp.Body).Decode(&kr); err != nil { - if config.GetGlobalConfig().System.DebugMode { + if config.C_globalConfig.System.DebugMode { respBody, _ := io.ReadAll(resp.Body) return fmt.Errorf("failed to parse komari login response: %w.\nResponse: %s", err, respBody) } @@ -317,7 +317,7 @@ func (c *Client) ExecTask(uuids []string, command string) (string, error) { return "", fmt.Errorf("failed to parse komari task exec data: %w", err) } - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowKomariTaskEcho { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowKomariTaskEcho { postLog.Debug(fmt.Sprintf("Created Komari task %s for %d clients", result.TaskID, len(uuids))) } return result.TaskID, nil @@ -360,7 +360,7 @@ func (c *Client) GetTaskResult(taskID string) ([]TaskResult, bool, error) { // PollTaskResult polls for task results every 1 second until all results are // available or 60 seconds have elapsed. func (c *Client) PollTaskResult(taskID string) ([]TaskResult, error) { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowKomariTaskEcho { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowKomariTaskEcho { postLog.Debug(fmt.Sprintf("Polling for Komari task %s results...", taskID)) } @@ -378,7 +378,7 @@ func (c *Client) PollTaskResult(taskID string) ([]TaskResult, error) { return nil, err } if done { - if config.GetGlobalConfig().System.DebugMode && config.GetGlobalConfig().Debug.ShowKomariTaskEcho { + if config.C_globalConfig.System.DebugMode && config.C_globalConfig.Debug.ShowKomariTaskEcho { postLog.Info(fmt.Sprintf("Task %s completed with %d results", taskID, len(results))) } return results, nil diff --git a/internal/komari/ws.go b/internal/komari/ws.go index a32217c..d1ea122 100644 --- a/internal/komari/ws.go +++ b/internal/komari/ws.go @@ -409,7 +409,7 @@ func GetWSClient() *WSClient { // LoginAndStart performs the Komari login and returns an error if it fails. func LoginAndStart() error { - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig client := GetClient() if client == nil { return fmt.Errorf("komari client not initialized") diff --git a/internal/netproxy/netproxy.go b/internal/netproxy/netproxy.go index 098fbba..46d7b31 100644 --- a/internal/netproxy/netproxy.go +++ b/internal/netproxy/netproxy.go @@ -20,7 +20,7 @@ import ( // proxyURL returns the system-wide network proxy URL, or nil when none is // configured. A missing scheme is normalized to http:// for convenience. func proxyURL() *url.URL { - raw := config.GetGlobalConfig().System.NetworkProxy + raw := config.C_globalConfig.System.NetworkProxy if raw == "" { return nil } diff --git a/main.go b/main.go index a572cdd..49c4a65 100644 --- a/main.go +++ b/main.go @@ -168,7 +168,7 @@ func main() { // initControllers initializes and starts all configured controllers. func initControllers() { - cfg := config.GetGlobalConfig() + cfg := config.C_globalConfig mgr := controller.GetManager() if mgr == nil { return