diff --git a/cmd/anon3anon/config.go b/cmd/anon3anon/config.go index ba2684f..4fcc59d 100644 --- a/cmd/anon3anon/config.go +++ b/cmd/anon3anon/config.go @@ -1,14 +1,15 @@ package main import ( + "fmt" + "github.com/kelseyhightower/envconfig" - "github.com/pkg/errors" ) func parseEnv() (*config, error) { c := new(config) if err := envconfig.Process(appID, c); err != nil { - return nil, errors.Wrap(err, "failed to parse env") + return nil, fmt.Errorf("failed to parse env: %w", err) } return c, nil } diff --git a/cmd/anon3anon/main.go b/cmd/anon3anon/main.go index 4a3dacb..74fb5e4 100644 --- a/cmd/anon3anon/main.go +++ b/cmd/anon3anon/main.go @@ -5,9 +5,9 @@ import ( "os" "os/signal" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/jsonlog" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/telegram/handler" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/telegram/middleware" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/jsonlog" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/telegram/handler" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/telegram/middleware" "github.com/go-telegram/bot" ) @@ -22,13 +22,8 @@ func main() { logger.FatalError(err) } - opts := []bot.Option{ - bot.WithMiddlewares(middleware.NewLoggingMiddleware(logger)), - bot.WithMessageTextHandler("/start", bot.MatchTypeExact, handler.NewStartCommandHandler(logger)), - bot.WithDefaultHandler(handler.NewAnonymousMessagesHandler(logger, conf.OwnerChatID)), - } - - b, err := bot.New(conf.TelegramBotToken, opts...) + options := initBotOptions(conf, logger) + b, err := bot.New(conf.TelegramBotToken, options...) if err != nil { logger.FatalError(err) } @@ -46,3 +41,14 @@ func initLogger() jsonlog.Logger { }) return logger } + +func initBotOptions(conf *config, logger jsonlog.Logger) []bot.Option { + startCommandHandler := handler.NewStartCommandHandler(logger) + anonymousMessagesHandler := handler.NewAnonymousMessagesHandler(logger, conf.OwnerChatID) + + return []bot.Option{ + bot.WithMiddlewares(middleware.NewLoggingMiddleware(logger)), + bot.WithMessageTextHandler("/start", bot.MatchTypeExact, startCommandHandler), + bot.WithDefaultHandler(anonymousMessagesHandler), + } +} diff --git a/go.mod b/go.mod index 61473c0..89831fa 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,6 @@ go 1.24 require ( github.com/go-telegram/bot v1.13.3 github.com/kelseyhightower/envconfig v1.4.0 - github.com/pkg/errors v0.9.1 github.com/sirupsen/logrus v1.9.3 ) diff --git a/go.sum b/go.sum index c1a665b..bf8df50 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,6 @@ github.com/go-telegram/bot v1.13.3 h1:r2erpHI5rMQsR5TFWJ/XVqWHq9R228fcaejLFvXJsm github.com/go-telegram/bot v1.13.3/go.mod h1:i2TRs7fXWIeaceF3z7KzsMt/he0TwkVC680mvdTFYeM= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= diff --git a/pkg/infrastructure/jsonlog/level.go b/pkg/anon3anon/infrastructure/jsonlog/level.go similarity index 100% rename from pkg/infrastructure/jsonlog/level.go rename to pkg/anon3anon/infrastructure/jsonlog/level.go diff --git a/pkg/infrastructure/jsonlog/logger.go b/pkg/anon3anon/infrastructure/jsonlog/logger.go similarity index 100% rename from pkg/infrastructure/jsonlog/logger.go rename to pkg/anon3anon/infrastructure/jsonlog/logger.go diff --git a/pkg/infrastructure/telegram/handler/anonymousmessages.go b/pkg/anon3anon/infrastructure/telegram/handler/anonymousmessages.go similarity index 85% rename from pkg/infrastructure/telegram/handler/anonymousmessages.go rename to pkg/anon3anon/infrastructure/telegram/handler/anonymousmessages.go index 907bfbc..e7f6911 100644 --- a/pkg/infrastructure/telegram/handler/anonymousmessages.go +++ b/pkg/anon3anon/infrastructure/telegram/handler/anonymousmessages.go @@ -3,7 +3,7 @@ package handler import ( "context" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/jsonlog" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/jsonlog" "github.com/go-telegram/bot" "github.com/go-telegram/bot/models" @@ -28,7 +28,7 @@ func NewAnonymousMessagesHandler(logger jsonlog.Logger, ownerChatId int) bot.Han sendParams := &bot.SendMessageParams{ ChatID: update.Message.Chat.ID, - Text: "Сообщение отправлено!!", + Text: messageSentMessage, } _, err = b.SendMessage(ctx, sendParams) if err != nil { diff --git a/pkg/anon3anon/infrastructure/telegram/handler/messages.go b/pkg/anon3anon/infrastructure/telegram/handler/messages.go new file mode 100644 index 0000000..a7b6dc5 --- /dev/null +++ b/pkg/anon3anon/infrastructure/telegram/handler/messages.go @@ -0,0 +1,6 @@ +package handler + +const ( + greetingMessage = "Жду твоих сообщений!!" + messageSentMessage = "Сообщение отправлено!!" +) diff --git a/pkg/infrastructure/telegram/handler/startcommand.go b/pkg/anon3anon/infrastructure/telegram/handler/startcommand.go similarity index 74% rename from pkg/infrastructure/telegram/handler/startcommand.go rename to pkg/anon3anon/infrastructure/telegram/handler/startcommand.go index fa8e329..ce6f8d2 100644 --- a/pkg/infrastructure/telegram/handler/startcommand.go +++ b/pkg/anon3anon/infrastructure/telegram/handler/startcommand.go @@ -3,7 +3,7 @@ package handler import ( "context" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/jsonlog" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/jsonlog" "github.com/go-telegram/bot" "github.com/go-telegram/bot/models" @@ -11,9 +11,13 @@ import ( func NewStartCommandHandler(logger jsonlog.Logger) bot.HandlerFunc { return func(ctx context.Context, b *bot.Bot, update *models.Update) { + if update.Message == nil { + return + } + params := &bot.SendMessageParams{ ChatID: update.Message.Chat.ID, - Text: "Жду твоих сообщений!!", + Text: greetingMessage, } _, err := b.SendMessage(ctx, params) if err != nil { diff --git a/pkg/infrastructure/telegram/middleware/loggingmiddleware.go b/pkg/anon3anon/infrastructure/telegram/middleware/loggingmiddleware.go similarity index 91% rename from pkg/infrastructure/telegram/middleware/loggingmiddleware.go rename to pkg/anon3anon/infrastructure/telegram/middleware/loggingmiddleware.go index 1eac382..5b0e9d7 100644 --- a/pkg/infrastructure/telegram/middleware/loggingmiddleware.go +++ b/pkg/anon3anon/infrastructure/telegram/middleware/loggingmiddleware.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/nightnoryu/anon3anon/pkg/infrastructure/jsonlog" + "github.com/nightnoryu/anon3anon/pkg/anon3anon/infrastructure/jsonlog" "github.com/go-telegram/bot" "github.com/go-telegram/bot/models"