Comment work: fix, translate, add where missing

This commit is contained in:
eleksir
2025-06-26 20:54:21 +03:00
parent 825057b1ac
commit b9561e242e
6 changed files with 21 additions and 16 deletions

View File

@@ -6,6 +6,7 @@ import (
"github.com/NicoNex/echotron/v3" "github.com/NicoNex/echotron/v3"
) )
// animation parses message with animation.
func animation(msg *echotron.Update) { func animation(msg *echotron.Update) {
if Cfg.LogChats { if Cfg.LogChats {
ChatLog( ChatLog(

View File

@@ -11,7 +11,7 @@ import (
"github.com/cockroachdb/pebble" "github.com/cockroachdb/pebble"
) )
// StoreKV сохраняет в указанной бд ключ и значение. // StoreKV saves given key and value in given db.
func StoreKV(db *pebble.DB, key string, value string) error { func StoreKV(db *pebble.DB, key string, value string) error {
var ( var (
kArray = []byte(key) kArray = []byte(key)
@@ -29,7 +29,7 @@ func StoreKV(db *pebble.DB, key string, value string) error {
return err return err
} }
// FetchV достаёт значение по ключу. // FetchV gets value by given key from given db.
func FetchV(db *pebble.DB, key string) (string, error) { func FetchV(db *pebble.DB, key string) (string, error) {
var ( var (
kArray = []byte(key) kArray = []byte(key)
@@ -50,7 +50,7 @@ func FetchV(db *pebble.DB, key string) (string, error) {
return valueString, err return valueString, err
} }
// GetValue достаёт настройку из БД с настройками. // GetValue gets setting for chat from given db name.
// TODO: should return string, error and should not log error internally. // TODO: should return string, error and should not log error internally.
func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string) string { func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string) string {
var err error var err error
@@ -58,12 +58,13 @@ func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string
chatHash := sha256.Sum256([]byte(chatID)) chatHash := sha256.Sum256([]byte(chatID))
dataBaseDir := fmt.Sprintf("%s/db/%s/%x", cfg.DataDir, dataBaseName, chatHash) 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 { if _, ok := DB[dataBaseDir]; !ok {
var options pebble.Options 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 options.L0CompactionFileThreshold = 8
if err := os.MkdirAll(dataBaseDir, os.ModePerm); err != nil { 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) value, err := FetchV(DB[dataBaseDir], setting)
// Если из базы ничего не вынулось, по каким-то причинам, то просто вернём пустую строку. // If db returns nothing for some reason, just return ampty string.
if err != nil { if err != nil {
switch { switch {
case errors.Is(err, pebble.ErrNotFound): case errors.Is(err, pebble.ErrNotFound):
@@ -102,7 +103,7 @@ func (cfg *MyConfig) GetValue(dataBaseName string, chatID string, setting string
return value 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 { func (cfg *MyConfig) SaveKeyValue(dataBaseName string, chatID string, setting string, value string) error {
var ( var (
chatHash = sha256.Sum256([]byte(chatID)) chatHash = sha256.Sum256([]byte(chatID))
@@ -110,12 +111,13 @@ func (cfg *MyConfig) SaveKeyValue(dataBaseName string, chatID string, setting st
err error err error
) )
// Если БД не открыта, откроем её. // If db descriptor is not open yet, open it.
if _, ok := DB[dataBaseDir]; !ok { if _, ok := DB[dataBaseDir]; !ok {
var options pebble.Options 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 options.L0CompactionFileThreshold = 8
if err := os.MkdirAll(dataBaseDir, os.ModePerm); err != nil { if err := os.MkdirAll(dataBaseDir, os.ModePerm); err != nil {

View File

@@ -6,6 +6,7 @@ import (
"github.com/NicoNex/echotron/v3" "github.com/NicoNex/echotron/v3"
) )
// photo handles messages with photos.
func photo(msg *echotron.Update) { func photo(msg *echotron.Update) {
AddChat(&msg.Message.Chat) AddChat(&msg.Message.Chat)
AddUser(msg.Message.From) AddUser(msg.Message.From)

View File

@@ -7,6 +7,7 @@ import (
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
) )
// reactionCount handles reactionCount event.
func reactionCount(msg *echotron.Update) { func reactionCount(msg *echotron.Update) {
ChatLog( ChatLog(
msg.MessageReaction.Chat.ID, msg.MessageReaction.Chat.ID,

View File

@@ -5,7 +5,7 @@ import (
"syscall" "syscall"
) )
// SigHandler хэндлер сигналов закрывает все бд, все сетевые соединения и сваливает из приложения. // SigHandler.handles signals. Mainly closes persistent dbs and quits for good.
func SigHandler() { func SigHandler() {
for { for {
var s = <-SigChan var s = <-SigChan
@@ -17,7 +17,7 @@ func SigHandler() {
case syscall.SIGQUIT: case syscall.SIGQUIT:
Log.Infoln("Got SIGQUIT, quitting") Log.Infoln("Got SIGQUIT, quitting")
// Заходим на новую итерацию, если у нас "неинтересный" сигнал. // Make new iteration since we 've got signal we not interested in.
default: default:
continue continue
} }

View File

@@ -5,7 +5,7 @@ import (
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
) )
// Telegram основная горутинка, реализующая бота. // Telegram main goroutine that implements bot.
func Telegram(cfg MyConfig) { func Telegram(cfg MyConfig) {
Tg = echotron.NewAPI(cfg.Token) Tg = echotron.NewAPI(cfg.Token)