From d4f070f9ec7b630a155e626112556f103cd6598a Mon Sep 17 00:00:00 2001 From: Vaala Cat Date: Tue, 27 Jun 2023 12:45:55 +0800 Subject: [PATCH] feat: api and proxy optional --- .gitignore | 1 + conf/env.go | 1 + services/tgbot/bot.go | 20 ++++++++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 88a874c..25dc6c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .env run.sh +mcbot \ No newline at end of file diff --git a/conf/env.go b/conf/env.go index d07878a..16c64dd 100644 --- a/conf/env.go +++ b/conf/env.go @@ -12,6 +12,7 @@ type botSettings struct { MCBotName string `env:"MC_BOT_NAME"` GroupID int64 `env:"GROUP_ID"` DBPath string `env:"DB_PATH"` + BotAPI string `env:"TG_BOT_API"` } var ( diff --git a/services/tgbot/bot.go b/services/tgbot/bot.go index 28f3b81..174b219 100644 --- a/services/tgbot/bot.go +++ b/services/tgbot/bot.go @@ -16,18 +16,26 @@ import ( func Run(sendFunc func(string)) { var err error + api := conf.GetBotSettings().BotAPI + if len(api) == 0 { + api = tgbotapi.APIEndpoint + } + HttpProxy := conf.GetBotSettings().HTTPProxy proxyUrl, err := url.Parse(HttpProxy) if err != nil { log.Panic(err, "HTTP_PROXY environment variable is not set correctly") } - client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}} - conf.Bot, err = tgbotapi.NewBotAPIWithClient( - conf.GetBotSettings().BotToken, - tgbotapi.APIEndpoint, - // conf.GetBotSettings().TGBotApi, - client) + if len(HttpProxy) != 0 { + client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}} + conf.Bot, err = tgbotapi.NewBotAPIWithClient( + conf.GetBotSettings().BotToken, + api, + client) + } else { + conf.Bot, err = tgbotapi.NewBotAPIWithAPIEndpoint(conf.GetBotSettings().BotToken, api) + } if err != nil { log.Panic(err)