diff --git a/internal/moon/animation.go b/internal/moon/animation.go index 75cc1f8..39ed5d9 100644 --- a/internal/moon/animation.go +++ b/internal/moon/animation.go @@ -6,6 +6,7 @@ import ( "github.com/NicoNex/echotron/v3" ) +// animation parses message with animation. func animation(msg *echotron.Update) { if Cfg.LogChats { ChatLog( diff --git a/internal/moon/db.go b/internal/moon/db.go index 75bc6e3..ce91986 100644 --- a/internal/moon/db.go +++ b/internal/moon/db.go @@ -11,7 +11,7 @@ import ( "github.com/cockroachdb/pebble" ) -// StoreKV сохраняет в указанной бд ключ и значение. +// StoreKV saves given key and value in given db. func StoreKV(db *pebble.DB, key string, value string) error { var ( kArray = []byte(key) @@ -29,7 +29,7 @@ func StoreKV(db *pebble.DB, key string, value string) error { return err } -// FetchV достаёт значение по ключу. +// FetchV gets value by given key from given db. func FetchV(db *pebble.DB, key string) (string, error) { var ( kArray = []byte(key) @@ -50,7 +50,7 @@ func FetchV(db *pebble.DB, key string) (string, error) { return valueString, err } -// GetValue достаёт настройку из БД с настройками. +// GetValue gets setting for chat from given db name. // TODO: should return string, error and should not log error internally. func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string) string { var err error @@ -58,12 +58,13 @@ func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string chatHash := sha256.Sum256([]byte(chatID)) dataBaseDir := fmt.Sprintf("%s/db/%s/%x", cfg.DataDir, dataBaseName, chatHash) - // Если БД не открыта, откроем её + // If db descriptor is not open yet, open it. if _, ok := DB[dataBaseDir]; !ok { var options pebble.Options - // По дефолту ограничение ставится на мегабайты данных, а не на количество файлов, поэтому с дефолтными - // настройками порождается огромное количество файлов. Умолчальное ограничение на количество файлов - 500 штук, - // что нас не устраивает, поэтому немного снизим эту цифру до более приемлемых значений. + /* + * By default limit set on megs of data, but not on amount of files thus with defaults we have tons of + * files. Default limit on tomporary files is 500, lets cut it down to 8. + */ options.L0CompactionFileThreshold = 8 if err := os.MkdirAll(dataBaseDir, os.ModePerm); err != nil { @@ -83,7 +84,7 @@ func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string value, err := FetchV(DB[dataBaseDir], setting) - // Если из базы ничего не вынулось, по каким-то причинам, то просто вернём пустую строку. + // If db returns nothing for some reason, just return ampty string. if err != nil { switch { case errors.Is(err, pebble.ErrNotFound): @@ -102,7 +103,7 @@ func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string return value } -// SaveSetting сохраняет настройку в БД с настройками. +// SaveSetting saves setting name and its value to given db name. func (cfg *MyConfig) SaveKeyValue(dataBaseName string, chatID string, setting string, value string) error { var ( chatHash = sha256.Sum256([]byte(chatID)) @@ -110,12 +111,13 @@ func (cfg *MyConfig) SaveKeyValue(dataBaseName string, chatID string, setting st err error ) - // Если БД не открыта, откроем её. + // If db descriptor is not open yet, open it. if _, ok := DB[dataBaseDir]; !ok { var options pebble.Options - // По дефолту ограничение ставится на мегабайты данных, а не на количество файлов, поэтому с дефолтными - // настройками порождается огромное количество файлов. Умолчальное ограничение на количество файлов - 500 штук, - // что нас не устраивает, поэтому немного снизим эту цифру до более приемлемых значений. + /* + * By default limit set on megs of data, but not on amount of files thus with defaults we have tons of + * files. Default limit on tomporary files is 500, lets cut it down to 8. + */ options.L0CompactionFileThreshold = 8 if err := os.MkdirAll(dataBaseDir, os.ModePerm); err != nil { diff --git a/internal/moon/photo.go b/internal/moon/photo.go index e66b99a..6ff31e8 100644 --- a/internal/moon/photo.go +++ b/internal/moon/photo.go @@ -6,6 +6,7 @@ import ( "github.com/NicoNex/echotron/v3" ) +// photo handles messages with photos. func photo(msg *echotron.Update) { AddChat(&msg.Message.Chat) AddUser(msg.Message.From) diff --git a/internal/moon/reactionCount.go b/internal/moon/reactionCount.go index 200ead4..c048674 100644 --- a/internal/moon/reactionCount.go +++ b/internal/moon/reactionCount.go @@ -7,6 +7,7 @@ import ( "github.com/davecgh/go-spew/spew" ) +// reactionCount handles reactionCount event. func reactionCount(msg *echotron.Update) { ChatLog( msg.MessageReaction.Chat.ID, diff --git a/internal/moon/sighandler.go b/internal/moon/sighandler.go index 0df3ac9..06345cd 100644 --- a/internal/moon/sighandler.go +++ b/internal/moon/sighandler.go @@ -5,7 +5,7 @@ import ( "syscall" ) -// SigHandler хэндлер сигналов закрывает все бд, все сетевые соединения и сваливает из приложения. +// SigHandler.handles signals. Mainly closes persistent dbs and quits for good. func SigHandler() { for { var s = <-SigChan @@ -17,7 +17,7 @@ func SigHandler() { case syscall.SIGQUIT: Log.Infoln("Got SIGQUIT, quitting") - // Заходим на новую итерацию, если у нас "неинтересный" сигнал. + // Make new iteration since we 've got signal we not interested in. default: continue } diff --git a/internal/moon/telegram.go b/internal/moon/telegram.go index 75c1249..498f799 100644 --- a/internal/moon/telegram.go +++ b/internal/moon/telegram.go @@ -5,7 +5,7 @@ import ( "github.com/davecgh/go-spew/spew" ) -// Telegram основная горутинка, реализующая бота. +// Telegram main goroutine that implements bot. func Telegram(cfg MyConfig) { Tg = echotron.NewAPI(cfg.Token)