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