diff --git a/.config/chatgpt.json b/.config/chatgpt.json deleted file mode 100644 index 5880545..0000000 --- a/.config/chatgpt.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "openaisession": "YOUR_COOKIE_HERE" -} diff --git a/Dockerfile b/Dockerfile index 388b912..3352e22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,10 @@ RUN make build FROM alpine COPY --from=builder /build/chatgpt-telegram /bin/chatgpt-telegram -RUN chmod +x /bin/chatgpt-telegram +RUN chmod +x /bin/chatgpt-telegram && mkdir -p /root/.config + +ENV TELEGRAM_ID "" +ENV TELEGRAM_TOKEN "" +ENV OPENAI_SESSION "" ENTRYPOINT ["/bin/chatgpt-telegram"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d0a2975..3e55eb4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,7 @@ services: chatgpt-telegram: build: . container_name: chatgpt-telegram - volumes: - - .config/:/root/.config environment: - TELEGRAM_ID= - TELEGRAM_TOKEN= + - OPENAI_SESSION= diff --git a/env.example b/env.example index 81e2546..c93e13a 100644 --- a/env.example +++ b/env.example @@ -1,3 +1,4 @@ TELEGRAM_ID= TELEGRAM_TOKEN= EDIT_WAIT_SECONDS=1 +OPENAI_SESSION= diff --git a/main.go b/main.go index e8f69ed..e86e7c5 100644 --- a/main.go +++ b/main.go @@ -20,26 +20,36 @@ func main() { log.Fatalf("Couldn't load config: %v", err) } - if persistentConfig.OpenAISession == "" { - token, err := session.GetSession() - if err != nil { - log.Fatalf("Couldn't get OpenAI session: %v", err) - } + err = godotenv.Load() + if err != nil { + log.Printf("Couldn't load .env file: %v. Using shell exposed env variables...", err) + } + + + if config.OpenAISession == "" { + if os.Getenv("OPENAI_SESSION") == "" { + session, err := session.GetSession() + if err != nil { + log.Fatalf("Couldn't get OpenAI session: %v", err) + } - if err = persistentConfig.SetSessionToken(token); err != nil { - log.Fatalf("Couldn't save OpenAI session: %v", err) + err = config.Set("OpenAISession", session) + if err != nil { + log.Fatalf("Couldn't save OpenAI session: %v", err) + } + } else + { + err = config.Set("OpenAISession", os.Getenv("OPENAI_SESSION")) + if err != nil { + log.Fatalf("Couldn't save OpenAI session: %v", err) + } } } chatGPT := chatgpt.Init(persistentConfig) log.Println("Started ChatGPT") - envConfig, err := config.LoadEnvConfig(".env") - if err != nil { - log.Printf("Couldn't load .env file: %v. Using shell exposed env variables...", err) - } - - bot, err := tgbot.New(envConfig.TelegramToken, time.Duration(envConfig.EditWaitSeconds)) + bot, err := tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_TOKEN")) if err != nil { log.Fatalf("Couldn't start Telegram bot: %v", err) }