/
helper.go
55 lines (42 loc) · 1.27 KB
/
helper.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package handlers
import (
"context"
"github.com/arthurshafikov/tg-blackjack/internal/config"
"github.com/arthurshafikov/tg-blackjack/internal/services"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
)
type TelegramHandlerHelper interface {
NewMessage(chatID int64, text string) tgbotapi.MessageConfig
SendMessage(msg tgbotapi.MessageConfig) error
NewUpdateChannel(offset int) tgbotapi.UpdateConfig
GetUpdatesChan(config tgbotapi.UpdateConfig) (tgbotapi.UpdatesChannel, error)
}
type HandlerParams struct {
Ctx context.Context
Services *services.Services
Logger services.Logger
Messages config.Messages
Helper TelegramHandlerHelper
}
type Helper struct {
bot *tgbotapi.BotAPI
}
func NewHelper(bot *tgbotapi.BotAPI) *Helper {
return &Helper{
bot: bot,
}
}
func (c *Helper) NewMessage(chatID int64, text string) tgbotapi.MessageConfig {
return tgbotapi.NewMessage(chatID, text)
}
func (c *Helper) SendMessage(msg tgbotapi.MessageConfig) error {
msg.ParseMode = "markdown"
_, err := c.bot.Send(msg)
return err
}
func (c *Helper) NewUpdateChannel(offset int) tgbotapi.UpdateConfig {
return tgbotapi.NewUpdate(offset)
}
func (c *Helper) GetUpdatesChan(config tgbotapi.UpdateConfig) (tgbotapi.UpdatesChannel, error) {
return c.bot.GetUpdatesChan(config)
}