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