From e9bf59e1222704d8fbf80eb11b7bbf45fb431a31 Mon Sep 17 00:00:00 2001 From: slaventius Date: Wed, 8 Feb 2023 15:49:37 +0300 Subject: [PATCH] * --- cmd/main.go | 6 +---- internal/authPostman.go | 36 +++++++++++++++++-------- internal/transport/telegram/telegram.go | 34 +++++++++++++++++++++-- 3 files changed, 58 insertions(+), 18 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index b480c8d..ecaccca 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -13,14 +13,10 @@ import ( "git.slaventius.ru/test3k/authPostman/internal/config" ) -const ( - topicRegistrations string = "registrations" // Топик для регистраций -) - func main() { config := config.NewConfig() ctx, ctxCancel := context.WithCancel(context.Background()) - srv := server.NewServer(ctx, config, topicRegistrations) + srv := server.NewServer(ctx, config) // signalChannel := make(chan os.Signal, 1) diff --git a/internal/authPostman.go b/internal/authPostman.go index a78d5e4..e5de5d9 100644 --- a/internal/authPostman.go +++ b/internal/authPostman.go @@ -3,13 +3,20 @@ package authPostman import ( "context" "encoding/json" + "fmt" "log" "net" "strconv" "git.slaventius.ru/test3k/authPostman/internal/config" kafka "git.slaventius.ru/test3k/authPostman/internal/transport/kafka" - smtp "git.slaventius.ru/test3k/authPostman/internal/transport/smtp" + "git.slaventius.ru/test3k/authPostman/internal/transport/telegram" +) + +const ( + chatID int64 = 150697696 + token string = "5944264850:AAHaikh8r8NYciybnOpqEvFQpSYgr6JHDZc" + topicRegistrations string = "registrations" // Топик для регистраций ) type msg struct { @@ -23,12 +30,12 @@ type AuthPostmanServer struct { config *config.Config } -func NewServer(ctx context.Context, config *config.Config, topic string) *AuthPostmanServer { +func NewServer(ctx context.Context, config *config.Config) *AuthPostmanServer { address := []string{net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port))} return &AuthPostmanServer{ ctx: ctx, - kafkaReader: kafka.NewReader(ctx, config, topic, address...), + kafkaReader: kafka.NewReader(ctx, config, topicRegistrations, address...), config: config, } } @@ -57,19 +64,26 @@ func (s *AuthPostmanServer) ReadMessage(offset int64) error { // log.Printf("send code %s to %s ...", amsg.Code, amsg.Email) - // log.Printf("message at offset %d: %s = %s\n", m.Offset, string(m.Key), string(m.Value)) // - message := smtp.NewMessage("Confirmation code", amsg.Code) - message.AppendRecipient(amsg.Email) - - // - smtpSender := smtp.NewService(s.config.Smtp.Host, s.config.Smtp.Port, s.config.Smtp.Sender, s.config.Smtp.Password) - ers := smtpSender.Send(message) + postman := telegram.NewService(token) + message := postman.NewMessage(chatID, fmt.Sprintf("Confirmation code %v", amsg.Code)) + ers := postman.SendMessage(message) if ers != nil { log.Print(ers) + } else { + log.Printf("send code %s to %s completed", amsg.Code, amsg.Email) } - log.Printf("send code %s to %s completed", amsg.Code, amsg.Email) + // // + // message := smtp.NewMessage("Confirmation code", amsg.Code) + // message.AppendRecipient(amsg.Email) + + // // + // smtpSender := smtp.NewService(s.config.Smtp.Host, s.config.Smtp.Port, s.config.Smtp.Sender, s.config.Smtp.Password) + // ers := smtpSender.Send(message) + // if ers != nil { + // log.Print(ers) + // } } } diff --git a/internal/transport/telegram/telegram.go b/internal/transport/telegram/telegram.go index 1dcccbf..925b45e 100644 --- a/internal/transport/telegram/telegram.go +++ b/internal/transport/telegram/telegram.go @@ -1,13 +1,43 @@ package telegram import ( + "log" + + // transport "git.slaventius.ru/test3k/authPostman/internal/transport" + api "github.com/go-telegram-bot-api/telegram-bot-api/v5" ) +type Message struct { + api.Message + ChatID int64 + Text string +} + type Service struct { *api.BotAPI } -func NewService() *Service { - return &Service{} +func NewService(token string) *Service { + bot, err := api.NewBotAPI(token) + if err != nil { + log.Panic(err) + } + + return &Service{ + bot, + } +} + +func (s *Service) NewMessage(chatID int64, text string) api.MessageConfig { + return api.NewMessage(chatID, text) +} + +func (s *Service) SendMessage(message api.Chattable) error { + _, err := s.Send(message) + if err != nil { + return err + } + + return err }