From da122a3be476254553d7e02e8a9d3b50ffcdba2a Mon Sep 17 00:00:00 2001 From: ScuroNeko Date: Thu, 19 Feb 2026 13:58:34 +0300 Subject: [PATCH] 0.8.0 beta 3 --- bot.go | 37 ++++++++++++++++++++----------------- utils/version.go | 4 ++-- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/bot.go b/bot.go index 2d91cfa..efb9296 100644 --- a/bot.go +++ b/bot.go @@ -47,6 +47,7 @@ func LoadPrefixesFromEnv() []string { } type DbContext interface{} +type NoDB struct{ DbContext } type Bot[T DbContext] struct { token string debug bool @@ -65,7 +66,7 @@ type Bot[T DbContext] struct { dbContext *T l10n *L10n - dbWriterRequested extypes.Slice[*slog.Logger] + extraLoggers extypes.Slice[*slog.Logger] updateOffset int updateTypes []tgapi.UpdateType @@ -81,21 +82,21 @@ func NewBot[T any](opts *BotOpts) *Bot[T] { uploader := tgapi.NewUploader(api) bot := &Bot[T]{ - updateOffset: 0, - errorTemplate: "%s", - updateQueue: updateQueue, - api: api, - uploader: uploader, - debug: opts.Debug, - prefixes: opts.Prefixes, - token: opts.Token, - plugins: make([]Plugin[T], 0), - updateTypes: make([]tgapi.UpdateType, 0), - runners: make([]Runner[T], 0), - dbWriterRequested: make([]*slog.Logger, 0), - l10n: &L10n{}, + updateOffset: 0, + errorTemplate: "%s", + updateQueue: updateQueue, + api: api, + uploader: uploader, + debug: opts.Debug, + prefixes: opts.Prefixes, + token: opts.Token, + plugins: make([]Plugin[T], 0), + updateTypes: make([]tgapi.UpdateType, 0), + runners: make([]Runner[T], 0), + extraLoggers: make([]*slog.Logger, 0), + l10n: &L10n{}, } - bot.dbWriterRequested = bot.dbWriterRequested.Push(api.GetLogger()).Push(uploader.GetLogger()) + bot.extraLoggers = bot.extraLoggers.Push(api.GetLogger()).Push(uploader.GetLogger()) if len(opts.ErrorTemplate) > 0 { bot.errorTemplate = opts.ErrorTemplate @@ -169,13 +170,15 @@ func (bot *Bot[T]) GetLogger() *slog.Logger { return bot.logger func (bot *Bot[T]) GetDBContext() *T { return bot.dbContext } func (bot *Bot[T]) L10n(lang, key string) string { return bot.l10n.Translate(lang, key) } -func (bot *Bot[T]) AddDatabaseLogger(writer func(db *T) slog.LoggerWriter) *Bot[T] { +type DbLogger[T DbContext] func(db *T) slog.LoggerWriter + +func (bot *Bot[T]) AddDatabaseLoggerWriter(writer DbLogger[T]) *Bot[T] { w := writer(bot.dbContext) bot.logger.AddWriter(w) if bot.RequestLogger != nil { bot.RequestLogger.AddWriter(w) } - for _, l := range bot.dbWriterRequested { + for _, l := range bot.extraLoggers { l.AddWriter(w) } return bot diff --git a/utils/version.go b/utils/version.go index fcbae7f..0630841 100644 --- a/utils/version.go +++ b/utils/version.go @@ -1,9 +1,9 @@ package utils const ( - VersionString = "0.8.0-beta.2" + VersionString = "0.8.0-beta.3" VersionMajor = 0 VersionMinor = 8 VersionPatch = 0 - Beta = 2 + Beta = 3 )