Migrate to go project layout, replace logrus with slog, fix some errors
This commit is contained in:
90
internal/jabber/globals.go
Normal file
90
internal/jabber/globals.go
Normal file
@@ -0,0 +1,90 @@
|
||||
package jabber
|
||||
|
||||
import (
|
||||
"aleesa-jabber-go/internal/anycollection"
|
||||
"context"
|
||||
"os"
|
||||
|
||||
"github.com/cockroachdb/pebble"
|
||||
"github.com/eleksir/go-xmpp"
|
||||
"github.com/go-redis/redis/v8"
|
||||
"gopkg.in/tomb.v2"
|
||||
)
|
||||
|
||||
// Config - это у нас глобальная штука :) .
|
||||
var Config myConfig
|
||||
|
||||
// Статичные пути, по которым у нас лежат конфиги. При запуске сюда дописываются и динамические пути тоже.
|
||||
var ConfigLocations = []string{
|
||||
"~/.aleesa-jabber-go.json",
|
||||
"~/aleesa-jabber-go.json",
|
||||
"/etc/aleesa-jabber-go.json",
|
||||
}
|
||||
|
||||
// To break circular message forwarding we must set some sane default, it can be overridden via Config.
|
||||
var forwardMax int64 = 5
|
||||
|
||||
// Ставится в true, если мы получили сигнал на выключение.
|
||||
var Shutdown = false
|
||||
|
||||
// Чтобы не организовывать драку за установку коннекта.
|
||||
var connecting = false
|
||||
|
||||
// Глобальное состояние соединения.
|
||||
var IsConnected = false
|
||||
|
||||
// Канал, в который приходят уведомления для хэндлера сигналов от траппера сигналов.
|
||||
var SigChan chan os.Signal
|
||||
|
||||
// Основной инстанс xmpp-клиента.
|
||||
var Talk *xmpp.Client
|
||||
|
||||
// Опции подключения к xmpp-серверу.
|
||||
var Options *xmpp.Options
|
||||
|
||||
// Список комнат, в которых находится бот.
|
||||
var RoomsConnected []string
|
||||
|
||||
// Время последней активности, нужно для jabber:iq:last.
|
||||
var LastActivity int64
|
||||
|
||||
// Время последней активности, нужно для c2s пингов - посылаем пинги, только если давненько ничего не приходило с
|
||||
// сервера.
|
||||
var LastServerActivity int64
|
||||
|
||||
// Время последней активности MUC-ов, нужно для пингов - посылаем пинги, только если давненько ничего не приходило из
|
||||
// muc-ов.
|
||||
var LastMucActivity *anycollection.Collection
|
||||
|
||||
// Получен ли ответ на запрос disco#info к серверу.
|
||||
var ServerCapsQueried bool
|
||||
|
||||
// sync.Map-ка с капабилити сервера.
|
||||
var ServerCapsList *anycollection.Collection
|
||||
|
||||
// sync.Map-ка с комнатами и их capability.
|
||||
var MucCapsList *anycollection.Collection
|
||||
|
||||
// Время, когда был отправлен c2s ping.
|
||||
var ServerPingTimestampTx int64
|
||||
|
||||
// Время, когда был принят s2c pong.
|
||||
var ServerPingTimestampRx int64
|
||||
|
||||
// Объектик для хранения стейта утилизатора горутинок.
|
||||
var GTomb tomb.Tomb
|
||||
|
||||
// sync.Map-ка со списком участников конференций (в json-формате, согласно структуре xmpp.Presence, "room".[]json).
|
||||
var RoomPresences *anycollection.Collection
|
||||
|
||||
// Объектики клиента-редиски.
|
||||
var RedisClient *redis.Client
|
||||
var Subscriber *redis.PubSub
|
||||
|
||||
// Мапка с открытыми дескрипторами баз с настройками.
|
||||
var settingsDB = make(map[string]*pebble.DB)
|
||||
|
||||
// Main context.
|
||||
var Ctx = context.Background()
|
||||
|
||||
/* vim: set ft=go noet ai ts=4 sw=4 sts=4: */
|
||||
Reference in New Issue
Block a user