| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // package warbot_config -- конфиг бота для хранения в базе
- package warbot_config
- import (
- "encoding/json"
- "sync"
- "wartank/pkg/alias"
- "wartank/pkg/components/kernel/logger"
- )
- // ВарБотКонфиг -- конфиг бота для хранения в базе
- 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
- }
- // Unmarshal -- десериализует себя из байтового потока
- func (сам *ВарБотКонфиг) Unmarshal(binData []byte) {
- лог:=logger.НовЛоггер("ВарБотКонфиг")
- лог.Отладка("Unmarshal()")
- err := json.Unmarshal(binData, сам)
- лог.Паника(err!=nil, "Unmarshal(): err=\n\t%v\n", err)
- }
- // Логин -- возвращает логин
- func (сам *ВарБотКонфиг) Логин() string {
- сам.блок.RLock()
- defer сам.блок.RUnlock()
- return сам.Логин_
- }
- // Номер -- возвращает номер бота
- func (сам *ВарБотКонфиг) Номер() alias.БотНомер {
- сам.блок.RLock()
- defer сам.блок.RUnlock()
- return сам.Номер_
- }
|