package main import ( "log" "strings" "github.com/NicoNex/echotron/v3" "nefrace.ru/doomer/config" ) type bot struct { chatID int64 doomer *Doomer logChatID int64 echotron.API } func createBot(cfg config.TelegramConfig, doomer *Doomer) echotron.NewBotFn { return func(chatID int64) echotron.Bot { return &bot{ chatID: chatID, doomer: doomer, logChatID: cfg.LogChatID, API: echotron.NewAPI(cfg.Token), } } } func (b *bot) Update(update *echotron.Update) { log.Println("We got update") if update.InlineQuery != nil { b.inlineHandler(update) return } if update.Message != nil { if update.Message.Text == "/help" { b.showHelp(update) return } if strings.HasPrefix(update.Message.Text, "/start") { b.showHelp(update) return } if strings.HasPrefix(update.Message.Text, "/gen") { b.genHandler(update) return } } } func NewDispatcher(doomer *Doomer) *echotron.Dispatcher { cfg := config.Conf() dp := echotron.NewDispatcher(cfg.Telegram.Token, createBot(cfg.Telegram, doomer)) return dp }