move gotd fork into repo. (#111)
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package peers
|
||||
|
||||
import (
|
||||
"go.uber.org/zap"
|
||||
"golang.org/x/sync/singleflight"
|
||||
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/tg"
|
||||
)
|
||||
|
||||
// Options is options of Manager
|
||||
type Options struct {
|
||||
Storage Storage
|
||||
Cache Cache
|
||||
Logger *zap.Logger
|
||||
}
|
||||
|
||||
func (o *Options) setDefaults() {
|
||||
if o.Storage == nil {
|
||||
o.Storage = &InmemoryStorage{}
|
||||
}
|
||||
if o.Cache == nil {
|
||||
o.Cache = NoopCache{}
|
||||
}
|
||||
if o.Logger == nil {
|
||||
o.Logger = zap.NewNop()
|
||||
}
|
||||
}
|
||||
|
||||
// Build creates new Manager.
|
||||
func (o Options) Build(api *tg.Client) *Manager {
|
||||
o.setDefaults()
|
||||
return &Manager{
|
||||
api: api,
|
||||
storage: o.Storage,
|
||||
cache: o.Cache,
|
||||
me: new(atomicUser),
|
||||
logger: o.Logger,
|
||||
sg: singleflight.Group{},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user