/
bot.go
41 lines (32 loc) · 845 Bytes
/
bot.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import (
"fmt"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
"os"
)
func InitializeBot() (*tgbotapi.BotAPI, error) {
bot, err := tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_API_TOKEN"))
if err != nil {
return nil, err
}
bot.Debug = true
return bot, nil
}
func (env *Env) sendMessage(chatID int, text string) error {
// Create new message
msg := tgbotapi.NewMessage(int64(chatID), text)
// Send message
_, err := env.Bot.Send(msg)
if err != nil {
return err
}
return nil
}
func (env *Env) SendErrorMessage(chatID int, e *ErrorLog) error {
errorMessage := fmt.Sprintf("Error %d at `%s` endpoint in app `%s`. More details: %s/logs/%d", e.HTTPCode, e.RequestURL, e.AppName, os.Getenv("BASE_URL"), e.ID)
err := env.sendMessage(chatID, errorMessage)
if err != nil {
return err
}
return nil
}