44 lines
897 B
Go
44 lines
897 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"log"
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/joho/godotenv"
|
||
|
"github.com/namsral/flag"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
ChatId int
|
||
|
BotToken string
|
||
|
)
|
||
|
|
||
|
func init() {
|
||
|
err := godotenv.Load()
|
||
|
if err != nil {
|
||
|
log.Fatal("error loading .env file")
|
||
|
}
|
||
|
flag.IntVar(&ChatId, "TELEGRAM_CHAT_ID", 0, "Chat id of telegram channel")
|
||
|
flag.StringVar(&BotToken, "TELEGRAM_BOT_TOKEN", "", "Telegram bot token")
|
||
|
flag.Parse()
|
||
|
if ChatId == 0 {
|
||
|
log.Fatal("TELEGRAM_CHAT_ID not set")
|
||
|
}
|
||
|
if BotToken == "" {
|
||
|
log.Fatal("TELEGRAM_BOT_TOKEN not set")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func SendTextToTelegram(text string) {
|
||
|
url := fmt.Sprintf("https://api.telegram.org/bot%s/sendMessage?chat_id=%d&text=%s", BotToken, ChatId, text)
|
||
|
resp, err := http.Get(url)
|
||
|
if err != nil {
|
||
|
err = fmt.Errorf("error during GET %s: %w", url, err)
|
||
|
log.Println(err)
|
||
|
return
|
||
|
}
|
||
|
defer resp.Body.Close()
|
||
|
log.Printf("GET %s: %d\n", url, resp.StatusCode)
|
||
|
}
|