Moving from long polling to webhook-based updates
This commit is contained in:
		| @@ -21,6 +21,7 @@ import ( | ||||
| 	"git.wtfteam.pro/fat0troll/i2_bot/lib/users" | ||||
| 	"git.wtfteam.pro/fat0troll/i2_bot/lib/welcomer" | ||||
| 	"github.com/go-telegram-bot-api/telegram-bot-api" | ||||
| 	"net/http" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| @@ -56,10 +57,16 @@ func main() { | ||||
| 	c.Cron.Start() | ||||
| 	c.Log.Info("> Cron started.") | ||||
|  | ||||
| 	u := tgbotapi.NewUpdate(0) | ||||
| 	u.Timeout = 60 | ||||
| 	_, err := c.Bot.SetWebhook(tgbotapi.NewWebhook(c.Cfg.Telegram.WebHookDomain)) | ||||
| 	if err != nil { | ||||
| 		c.Log.Fatal(err.Error()) | ||||
| 	} | ||||
|  | ||||
| 	updates, _ := c.Bot.GetUpdatesChan(u) | ||||
| 	updates := c.Bot.ListenForWebhook("/" + c.Bot.Token) | ||||
| 	go http.ListenAndServe(c.Cfg.Telegram.ListenAddress, nil) | ||||
|  | ||||
| 	c.Log.Info("Listening on " + c.Cfg.Telegram.ListenAddress) | ||||
| 	c.Log.Info("Webhook URL: " + c.Cfg.Telegram.WebHookDomain) | ||||
|  | ||||
| 	for update := range updates { | ||||
| 		if update.Message != nil { | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| telegram_connection: | ||||
|     api_token: "your-awesome-token" | ||||
|     webhook_domain: "https://i2bot.wtfteam.pro" | ||||
|     listen_address: "0.0.0.0:5000" | ||||
| database_connection: | ||||
|     host: "localhost" | ||||
|     port: "3306" | ||||
|   | ||||
| @@ -32,7 +32,7 @@ func (b *Broadcaster) AdminBroadcastMessageSend(update *tgbotapi.Update, playerR | ||||
| 		return "fail" | ||||
| 	} | ||||
|  | ||||
| 	prettyName := profileRaw.Nickname + "(@" + profileRaw.TelegramNickname + ")" | ||||
| 	prettyName := profileRaw.Nickname + " (@" + profileRaw.TelegramNickname + ")" | ||||
|  | ||||
| 	privateChats := []dbmapping.Chat{} | ||||
| 	switch messageRaw.BroadcastType { | ||||
|   | ||||
| @@ -24,7 +24,9 @@ type DatabaseConnection struct { | ||||
|  | ||||
| // TelegramConnection handles settings for Telegram connection in config.yaml | ||||
| type TelegramConnection struct { | ||||
| 	APIToken string `yaml:"api_token"` | ||||
| 	APIToken      string `yaml:"api_token"` | ||||
| 	WebHookDomain string `yaml:"webhook_domain"` | ||||
| 	ListenAddress string `yaml:"listen_address"` | ||||
| } | ||||
|  | ||||
| // SpecialChats handles settings for special chats | ||||
|   | ||||
		Reference in New Issue
	
	Block a user