| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // package server -- главный тип приложения, содержит бота, интерфейсы и т.п.
- package server
- import (
- "wartank/pkg/components/kernel"
- "wartank/pkg/components/kernel/logger"
- "wartank/pkg/types"
- "wartank/server/serv_bots"
- "wartank/server/serv_web"
- "wartank/server/server_stat"
- )
- // Сервер -- главный тип приложения
- type Сервер struct {
- types.ИЯдро
- ботоФерма *serv_bots.БотоФерма
- сервВеб *serv_web.СервВеб
- сервСтат types.ИСерверСтат
- лог types.ИЛоггер
- }
- // НовСервер -- возвращает новый объект приложения
- func НовСервер() *Сервер {
- лог := logger.НовЛоггер("Сервер")
- лог.Инфо("НовСервер()\n")
- сам := &Сервер{
- ИЯдро: kernel.НовЯдро(),
- лог: лог,
- }
- сам.ботоФерма = serv_bots.НовБотоФерма(сам)
- сам.сервВеб = serv_web.НовСервВеб(сам)
- сам.сервСтат = server_stat.НовСерверСтат(сам)
- return сам
- }
- // Пуск -- запускает сервер бота в работу
- func (сам *Сервер) Пуск() error {
- сам.лог.Инфо("Сервер.Пуск()\n")
- сам.сервВеб.Пуск()
- <-сам.Done()
- return nil
- }
- // Стат -- возвращает статистику сервера
- func (сам *Сервер) Стат() types.ИСерверСтат {
- return сам.сервСтат
- }
- // ServBots -- возвращает словарь ботов
- func (сам *Сервер) ServBots() types.ИБотоФерма {
- return сам.ботоФерма
- }
|