From 21c46ff2c1d1629081e23f7f12eab199f0fddfaf Mon Sep 17 00:00:00 2001 From: Alexander Goncharov Date: Sun, 1 Feb 2026 18:24:19 +0300 Subject: [PATCH] finally? --- docker-compose.yml | 4 ++-- main.go | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 64f6216..74783cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,9 +3,9 @@ services: build: . environment: BOT_TOKEN: "" - CHAT_ID: "" + CHAT_ID: -1003268915330 CHANNEL_ID: -1003290014225 - OPENAI_BASE_URL: http://localhost:8080/v1 + OPENAI_BASE_URL: http://llama-server:8080/v1 SYSTEM_PROMPT_PATH: /etc/sysprompt.txt MAX_CONCURRENT_REQUESTS: 2 volumes: diff --git a/main.go b/main.go index b9914e5..71654e6 100644 --- a/main.go +++ b/main.go @@ -21,12 +21,17 @@ import ( type OpenAIPrompter struct { cli openai.Client cfg *Config + log *slog.Logger } func (p *OpenAIPrompter) Prompt(ctx context.Context, req PromptRequest) (*HighlyTrustedResponse, error) { + p.log.Info("new prompt request", + "req", req) + instructions := p.cfg.SystemPrompt if req.OriginalPostContent != nil { instructions += fmt.Sprintf("\nThis is the channel post that user is mentioning: %s", *req.OriginalPostContent) + p.log.Info("composed instructions with post", "instructions", instructions) } resp, err := p.cli.Responses.New(ctx, responses.ResponseNewParams{ @@ -47,12 +52,13 @@ func (p *OpenAIPrompter) Prompt(ctx context.Context, req PromptRequest) (*Highly }, nil } -func NewOpenAIProoooompter(cfg *Config) *OpenAIPrompter { +func NewOpenAIProoooompter(cfg *Config, log *slog.Logger) *OpenAIPrompter { return &OpenAIPrompter{ cli: openai.NewClient( option.WithBaseURL(cfg.OpenAIBaseURL), ), cfg: cfg, + log: log, } } @@ -104,7 +110,7 @@ func (a *App) handleMessage(ctx context.Context, msg *tgbotapi.Message) error { ) var ogPostContent *string - if msg.ReplyToMessage.From.ID == a.config.ChannelID { + if msg.ReplyToMessage != nil && msg.ReplyToMessage.SenderChat.ID == a.config.ChannelID { a.log.Info("message was a reply to channel post") ogPostContent = &msg.ReplyToMessage.Text } @@ -250,7 +256,7 @@ func main() { os.Exit(1) } - prompter := NewOpenAIProoooompter(&cfg) + prompter := NewOpenAIProoooompter(&cfg, log) app, err := NewApp(&cfg, prompter) if err != nil {