60 lines
2.0 KiB
Go
60 lines
2.0 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/eleksir/go-xmpp"
|
|
)
|
|
|
|
// Config - это у нас глобальная штука :)
|
|
var config myConfig
|
|
|
|
// Ставится в true, если мы получили сигнал на выключение
|
|
var shutdown = false
|
|
|
|
// Чтобы не организовывать драку за установку коннекта
|
|
var connecting = false
|
|
|
|
// Глобальное состояние соединения
|
|
var isConnected = false
|
|
|
|
// Канал, в который приходят уведомления для хэндлера сигналов от траппера сигналов
|
|
var sigChan = make(chan os.Signal, 1)
|
|
|
|
// Основной инстанс 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 = NewCollection()
|
|
|
|
// Получен ли ответ на запрос disco#info к серверу
|
|
var serverCapsQueried bool
|
|
|
|
// sync.Map-ка с капабилити сервера
|
|
var serverCapsList = NewCollection()
|
|
|
|
// sync.Map-ка с комнатами и их capability
|
|
var mucCapsList = NewCollection()
|
|
|
|
// Время, когда был отправлен c2s ping
|
|
var serverPingTimestampTx int64
|
|
|
|
// Время, когда был принят s2c pong
|
|
var serverPingTimestampRx int64
|
|
|
|
/* vim: set ft=go noet ai ts=4 sw=4 sts=4: */
|