| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // package warbot_config -- конфиг бота для хранения в базе
- package warbot_config
- import (
- "encoding/json"
- "fmt"
- "sync"
- )
- // ВарБотКонфиг -- конфиг бота для хранения в базе
- type ВарБотКонфиг struct {
- ЕслиАвтозапуск_ bool `json:"is_auto_run,omitempty"` // Признак автостарта при загрузке
- Логин_ string `json:"login"` // Логин бота
- Пароль_ string `json:"password"` // Пароль бота
- блок sync.RWMutex
- }
- // Marshall -- сериализует конфиг в JSON
- func (сам *ВарБотКонфиг) Marshall() string {
- binData, _ := json.Marshal(сам)
- return string(binData)
- }
- // Unmarshall -- десериализует себя из байтового потока
- func (сам *ВарБотКонфиг) Unmarshall(strData string) error {
- err := json.Unmarshal([]byte(strData), сам)
- if err != nil {
- return fmt.Errorf("WarBotConfig.Unmarshall(): err=\n\t%w", err)
- }
- return nil
- }
- // Логин -- возвращает логин
- func (сам *ВарБотКонфиг) Логин() string {
- сам.блок.RLock()
- defer сам.блок.RUnlock()
- return сам.Логин_
- }
|