diff --git a/pkg/channels/dingtalk.go b/pkg/channels/dingtalk.go index 9c6a0e8f1..da3049aae 100644 --- a/pkg/channels/dingtalk.go +++ b/pkg/channels/dingtalk.go @@ -32,11 +32,12 @@ type DingTalkChannel struct { } // NewDingTalkChannel creates a new DingTalk channel instance -func NewDingTalkChannel(cfg config.DingTalkConfig, messageBus *bus.MessageBus, botName string) (*DingTalkChannel, error) { +func NewDingTalkChannel(cfg config.DingTalkConfig, messageBus *bus.MessageBus) (*DingTalkChannel, error) { if cfg.ClientID == "" || cfg.ClientSecret == "" { return nil, fmt.Errorf("dingtalk client_id and client_secret are required") } + botName := cfg.BotName if botName == "" { botName = "PicoClaw" } diff --git a/pkg/channels/manager.go b/pkg/channels/manager.go index 92f80aabd..7f6abc4cb 100644 --- a/pkg/channels/manager.go +++ b/pkg/channels/manager.go @@ -126,7 +126,7 @@ func (m *Manager) initChannels() error { if m.config.Channels.DingTalk.Enabled && m.config.Channels.DingTalk.ClientID != "" { logger.DebugC("channels", "Attempting to initialize DingTalk channel") - dingtalk, err := NewDingTalkChannel(m.config.Channels.DingTalk, m.bus, m.config.Agents.Defaults.BotName) + dingtalk, err := NewDingTalkChannel(m.config.Channels.DingTalk, m.bus) if err != nil { logger.ErrorCF("channels", "Failed to initialize DingTalk channel", map[string]interface{}{ "error": err.Error(), diff --git a/pkg/channels/telegram_commands.go b/pkg/channels/telegram_commands.go index 62efead44..0fc5ca809 100644 --- a/pkg/channels/telegram_commands.go +++ b/pkg/channels/telegram_commands.go @@ -52,7 +52,7 @@ func (c *cmd) Help(ctx context.Context, message telego.Message) error { } func (c *cmd) Start(ctx context.Context, message telego.Message) error { - botName := c.config.Agents.Defaults.BotName + botName := c.config.Channels.Telegram.BotName if botName == "" { botName = "PicoClaw" } diff --git a/pkg/config/config.go b/pkg/config/config.go index 3a09d78d4..50d363b59 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -66,7 +66,6 @@ type AgentDefaults struct { MaxTokens int `json:"max_tokens" env:"PICOCLAW_AGENTS_DEFAULTS_MAX_TOKENS"` Temperature float64 `json:"temperature" env:"PICOCLAW_AGENTS_DEFAULTS_TEMPERATURE"` MaxToolIterations int `json:"max_tool_iterations" env:"PICOCLAW_AGENTS_DEFAULTS_MAX_TOOL_ITERATIONS"` - BotName string `json:"bot_name" env:"PICOCLAW_AGENTS_DEFAULTS_BOT_NAME"` } type ChannelsConfig struct { @@ -92,6 +91,7 @@ type TelegramConfig struct { Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_TELEGRAM_ENABLED"` Token string `json:"token" env:"PICOCLAW_CHANNELS_TELEGRAM_TOKEN"` Proxy string `json:"proxy" env:"PICOCLAW_CHANNELS_TELEGRAM_PROXY"` + BotName string `json:"bot_name" env:"PICOCLAW_CHANNELS_TELEGRAM_BOT_NAME"` AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_TELEGRAM_ALLOW_FROM"` } @@ -128,6 +128,7 @@ type DingTalkConfig struct { Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_DINGTALK_ENABLED"` ClientID string `json:"client_id" env:"PICOCLAW_CHANNELS_DINGTALK_CLIENT_ID"` ClientSecret string `json:"client_secret" env:"PICOCLAW_CHANNELS_DINGTALK_CLIENT_SECRET"` + BotName string `json:"bot_name" env:"PICOCLAW_CHANNELS_DINGTALK_BOT_NAME"` AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_DINGTALK_ALLOW_FROM"` } @@ -227,7 +228,6 @@ func DefaultConfig() *Config { MaxTokens: 8192, Temperature: 0.7, MaxToolIterations: 20, - BotName: "PicoClaw", }, }, Channels: ChannelsConfig{ @@ -239,6 +239,7 @@ func DefaultConfig() *Config { Telegram: TelegramConfig{ Enabled: false, Token: "", + BotName: "PicoClaw", AllowFrom: FlexibleStringSlice{}, }, Feishu: FeishuConfig{ @@ -270,6 +271,7 @@ func DefaultConfig() *Config { Enabled: false, ClientID: "", ClientSecret: "", + BotName: "PicoClaw", AllowFrom: FlexibleStringSlice{}, }, Slack: SlackConfig{