package dto import "time" // TelegramChannelRequest 创建 Telegram 频道/群组请求 type TelegramChannelRequest struct { ChatID int64 `json:"chat_id" binding:"required"` ChatName string `json:"chat_name" binding:"required"` ChatType string `json:"chat_type" binding:"required"` // channel 或 group PushEnabled bool `json:"push_enabled"` PushFrequency int `json:"push_frequency"` PushStartTime string `json:"push_start_time"` PushEndTime string `json:"push_end_time"` ContentCategories string `json:"content_categories"` ContentTags string `json:"content_tags"` IsActive bool `json:"is_active"` ResourceStrategy string `json:"resource_strategy"` TimeLimit string `json:"time_limit"` } // TelegramChannelUpdateRequest 更新 Telegram 频道/群组请求(ChatID可选) type TelegramChannelUpdateRequest struct { ChatID int64 `json:"chat_id"` // 可选,用于验证 ChatName string `json:"chat_name" binding:"required"` ChatType string `json:"chat_type" binding:"required"` // channel 或 group PushEnabled bool `json:"push_enabled"` PushFrequency int `json:"push_frequency"` PushStartTime string `json:"push_start_time"` PushEndTime string `json:"push_end_time"` ContentCategories string `json:"content_categories"` ContentTags string `json:"content_tags"` IsActive bool `json:"is_active"` ResourceStrategy string `json:"resource_strategy"` TimeLimit string `json:"time_limit"` } // TelegramChannelResponse Telegram 频道/群组响应 type TelegramChannelResponse struct { ID uint `json:"id"` ChatID int64 `json:"chat_id"` ChatName string `json:"chat_name"` ChatType string `json:"chat_type"` PushEnabled bool `json:"push_enabled"` PushFrequency int `json:"push_frequency"` PushStartTime string `json:"push_start_time"` PushEndTime string `json:"push_end_time"` ContentCategories string `json:"content_categories"` ContentTags string `json:"content_tags"` IsActive bool `json:"is_active"` ResourceStrategy string `json:"resource_strategy"` TimeLimit string `json:"time_limit"` LastPushAt *time.Time `json:"last_push_at"` RegisteredBy string `json:"registered_by"` RegisteredAt time.Time `json:"registered_at"` } // TelegramBotConfigRequest Telegram 机器人配置请求 type TelegramBotConfigRequest struct { BotEnabled *bool `json:"bot_enabled"` BotApiKey *string `json:"bot_api_key"` AutoReplyEnabled *bool `json:"auto_reply_enabled"` AutoReplyTemplate *string `json:"auto_reply_template"` AutoDeleteEnabled *bool `json:"auto_delete_enabled"` AutoDeleteInterval *int `json:"auto_delete_interval"` ProxyEnabled *bool `json:"proxy_enabled"` ProxyType *string `json:"proxy_type"` ProxyHost *string `json:"proxy_host"` ProxyPort *int `json:"proxy_port"` ProxyUsername *string `json:"proxy_username"` ProxyPassword *string `json:"proxy_password"` } // TelegramBotConfigResponse Telegram 机器人配置响应 type TelegramBotConfigResponse struct { BotEnabled bool `json:"bot_enabled"` BotApiKey string `json:"bot_api_key"` AutoReplyEnabled bool `json:"auto_reply_enabled"` AutoReplyTemplate string `json:"auto_reply_template"` AutoDeleteEnabled bool `json:"auto_delete_enabled"` AutoDeleteInterval int `json:"auto_delete_interval"` ProxyEnabled bool `json:"proxy_enabled"` ProxyType string `json:"proxy_type"` ProxyHost string `json:"proxy_host"` ProxyPort int `json:"proxy_port"` ProxyUsername string `json:"proxy_username"` ProxyPassword string `json:"proxy_password"` } // ValidateTelegramApiKeyRequest 验证 Telegram API Key 请求 type ValidateTelegramApiKeyRequest struct { ApiKey string `json:"api_key" binding:"required"` ProxyEnabled bool `json:"proxy_enabled"` ProxyType string `json:"proxy_type"` ProxyHost string `json:"proxy_host"` ProxyPort int `json:"proxy_port"` ProxyUsername string `json:"proxy_username"` ProxyPassword string `json:"proxy_password"` } // ValidateTelegramApiKeyResponse 验证 Telegram API Key 响应 type ValidateTelegramApiKeyResponse struct { Valid bool `json:"valid"` Error string `json:"error,omitempty"` BotInfo map[string]interface{} `json:"bot_info,omitempty"` }