Refactoring

1. Move all pre-defined messages to constants in a separate file
2. Remove pkg/errors dependency
This commit is contained in:
2025-05-15 22:20:37 +03:00
parent 0a8409e66d
commit 9e38b000ec
10 changed files with 34 additions and 20 deletions
+3 -2
View File
@@ -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
}
+16 -10
View File
@@ -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),
}
}
-1
View File
@@ -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
)
-2
View File
@@ -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=
@@ -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 {
@@ -0,0 +1,6 @@
package handler
const (
greetingMessage = "Жду твоих сообщений!!"
messageSentMessage = "Сообщение отправлено!!"
)
@@ -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 {
@@ -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"