Refactoring
1. Move all pre-defined messages to constants in a separate file 2. Remove pkg/errors dependency
This commit is contained in:
@@ -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
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -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=
|
||||
|
||||
+2
-2
@@ -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 = "Сообщение отправлено!!"
|
||||
)
|
||||
+6
-2
@@ -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 {
|
||||
+1
-1
@@ -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"
|
||||
Reference in New Issue
Block a user