Фраги приходят в одно сообщение и добавляют цифру, если это тот же тип фрага. Сообщения не удаляются дольше, если недавно был сделан такой же фраг
This commit is contained in:
16
context.go
16
context.go
@ -2,9 +2,10 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/sirupsen/logrus"
|
||||
"os"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
@ -19,6 +20,7 @@ const (
|
||||
ctxKeyMessageCleaner
|
||||
ctxKeyDataBase
|
||||
ctxKeyPlayersBoard
|
||||
ctxKeyFragMessages
|
||||
)
|
||||
|
||||
func createLogger(debug bool) *logrus.Logger {
|
||||
@ -42,7 +44,7 @@ func createLogger(debug bool) *logrus.Logger {
|
||||
}
|
||||
}
|
||||
|
||||
func createContext(config *Config, bot *tgbotapi.BotAPI, mc *messageCleaner, ch *commandHandler, db *dbLayer, pb *playersBoard) (context.Context, func()) {
|
||||
func createContext(config *Config, bot *tgbotapi.BotAPI, mc *messageCleaner, ch *commandHandler, db *dbLayer, pb *playersBoard, fms *fragMessages) (context.Context, func()) {
|
||||
ctx, cancelFunc := context.WithCancel(context.Background())
|
||||
|
||||
ctx = context.WithValue(ctx, ctxKeyLogger, createLogger(true))
|
||||
@ -52,6 +54,7 @@ func createContext(config *Config, bot *tgbotapi.BotAPI, mc *messageCleaner, ch
|
||||
ctx = context.WithValue(ctx, ctxKeyCommandHandler, ch)
|
||||
ctx = context.WithValue(ctx, ctxKeyDataBase, db)
|
||||
ctx = context.WithValue(ctx, ctxKeyPlayersBoard, pb)
|
||||
ctx = context.WithValue(ctx, ctxKeyFragMessages, fms)
|
||||
|
||||
return ctx, cancelFunc
|
||||
}
|
||||
@ -118,3 +121,12 @@ func getDPlayersBoard(ctx context.Context) *playersBoard {
|
||||
|
||||
panic("Failed to get players board from ctx")
|
||||
}
|
||||
|
||||
func getFragMessages(ctx context.Context) *fragMessages {
|
||||
v := ctx.Value(ctxKeyFragMessages)
|
||||
if fms, ok := v.(*fragMessages); ok {
|
||||
return fms
|
||||
}
|
||||
|
||||
panic("Failed to get frag messages from ctx")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user