SYMBOL INDEX (695 symbols across 124 files) FILE: app/chat/export.go type ExportOptions (line 30) | type ExportOptions struct type Message (line 43) | type Message struct type ExportType (line 54) | type ExportType function Export (line 56) | func Export(ctx context.Context, c *telegram.Client, kvd storage.Storage... FILE: app/chat/export_enum.go constant ExportTypeTime (line 16) | ExportTypeTime ExportType = iota constant ExportTypeId (line 18) | ExportTypeId constant ExportTypeLast (line 20) | ExportTypeLast constant _ExportTypeName (line 25) | _ExportTypeName = "timeidlast" function ExportTypeNames (line 34) | func ExportTypeNames() []string { function ExportTypeValues (line 41) | func ExportTypeValues() []ExportType { method String (line 56) | func (x ExportType) String() string { method IsValid (line 65) | func (x ExportType) IsValid() bool { function ParseExportType (line 80) | func ParseExportType(name string) (ExportType, error) { method Set (line 92) | func (x *ExportType) Set(val string) error { method Get (line 99) | func (x *ExportType) Get() interface{} { method Type (line 104) | func (x *ExportType) Type() string { FILE: app/chat/ls.go type Dialog (line 29) | type Dialog struct type Topic (line 37) | type Topic struct type ListOutput (line 44) | type ListOutput constant DialogGroup (line 48) | DialogGroup = "group" constant DialogPrivate (line 49) | DialogPrivate = "private" constant DialogChannel (line 50) | DialogChannel = "channel" constant DialogUnknown (line 51) | DialogUnknown = "unknown" type ListOptions (line 54) | type ListOptions struct function List (line 59) | func List(ctx context.Context, c *telegram.Client, kvd storage.Storage, ... function printTable (line 157) | func printTable(result []*Dialog) { function trunc (line 175) | func trunc(s string, len int) string { function topicsString (line 184) | func topicsString(topics []Topic) string { function processUser (line 197) | func processUser(id int64, entities peer.Entities) *Dialog { function processChannel (line 212) | func processChannel(ctx context.Context, api *tg.Client, id int64, entit... function fetchTopics (line 251) | func fetchTopics(ctx context.Context, api *tg.Client, c tg.InputChannelC... function processChat (line 335) | func processChat(id int64, entities peer.Entities) *Dialog { function visibleName (line 350) | func visibleName(first, last string) string { function applyPeers (line 366) | func applyPeers(ctx context.Context, manager *peers.Manager, entities pe... function fetchDialogsWithErrorHandling (line 387) | func fetchDialogsWithErrorHandling(ctx context.Context, api *tg.Client) ... FILE: app/chat/ls_enum.go constant ListOutputTable (line 16) | ListOutputTable ListOutput = iota constant ListOutputJson (line 18) | ListOutputJson constant _ListOutputName (line 23) | _ListOutputName = "tablejson" function ListOutputNames (line 31) | func ListOutputNames() []string { function ListOutputValues (line 38) | func ListOutputValues() []ListOutput { method String (line 51) | func (x ListOutput) String() string { method IsValid (line 60) | func (x ListOutput) IsValid() bool { function ParseListOutput (line 73) | func ParseListOutput(name string) (ListOutput, error) { method Set (line 85) | func (x *ListOutput) Set(val string) error { method Get (line 92) | func (x *ListOutput) Get() interface{} { method Type (line 97) | func (x *ListOutput) Type() string { FILE: app/chat/users.go type UsersOptions (line 26) | type UsersOptions struct type User (line 32) | type User struct function Users (line 40) | func Users(ctx context.Context, c *telegram.Client, kvd storage.Storage,... function outputUsers (line 109) | func outputUsers(ctx context.Context, function convertTelegramUser (line 161) | func convertTelegramUser(u *tg.User) User { FILE: app/dl/dl.go type Options (line 29) | type Options struct type parser (line 50) | type parser struct function Run (line 55) | func Run(ctx context.Context, c *telegram.Client, kvd storage.Storage, o... function collectDialogs (line 143) | func collectDialogs(parsers []parser) ([][]*tmessage.Dialog, error) { function resume (line 155) | func resume(ctx context.Context, kvd storage.Storage, iter *iter, ask bo... function saveProgress (line 202) | func saveProgress(ctx context.Context, kvd storage.Storage, it *iter) er... FILE: app/dl/elem.go type iterElem (line 14) | type iterElem struct method File (line 27) | func (i *iterElem) File() downloader.File { return i } method To (line 29) | func (i *iterElem) To() io.WriterAt { return i.to } method AsTakeout (line 31) | func (i *iterElem) AsTakeout() bool { return i.opts.Takeout } method Location (line 33) | func (i *iterElem) Location() tg.InputFileLocationClass { return i.fil... method Name (line 35) | func (i *iterElem) Name() string { return i.file.Name } method Size (line 37) | func (i *iterElem) Size() int64 { return i.file.Size } method DC (line 39) | func (i *iterElem) DC() int { return i.file.DC } FILE: app/dl/iter.go constant tempExt (line 34) | tempExt = ".tmp" type fileTemplate (line 36) | type fileTemplate struct type iter (line 46) | type iter struct method Next (line 122) | func (i *iter) Next(ctx context.Context) bool { method process (line 149) | func (i *iter) process(ctx context.Context) (ret bool, skip bool) { method processSingle (line 208) | func (i *iter) processSingle(ctx context.Context, message *tg.Message,... method processGrouped (line 283) | func (i *iter) processGrouped(ctx context.Context, message *tg.Message... method Value (line 319) | func (i *iter) Value() downloader.Elem { method Err (line 323) | func (i *iter) Err() error { method SetFinished (line 327) | func (i *iter) SetFinished(finished map[int]struct{}) { method Finished (line 334) | func (i *iter) Finished() map[int]struct{} { method Fingerprint (line 341) | func (i *iter) Fingerprint() string { method Finish (line 345) | func (i *iter) Finish(id int) { method Total (line 352) | func (i *iter) Total() int { method SkippedDeleted (line 363) | func (i *iter) SkippedDeleted() int64 { method DeletedIDs (line 367) | func (i *iter) DeletedIDs() []string { function newIter (line 73) | func newIter(pool dcpool.Pool, manager *peers.Manager, dialog [][]*tmess... function flatDialogs (line 379) | func flatDialogs(dialogs [][]*tmessage.Dialog) []*tmessage.Dialog { function sortDialogs (line 390) | func sortDialogs(dialogs []*tmessage.Dialog, desc bool) { function fingerprint (line 416) | func fingerprint(dialogs []*tmessage.Dialog) string { FILE: app/dl/iter_test.go function TestIterDeletedMessageHandling (line 19) | func TestIterDeletedMessageHandling(t *testing.T) { function TestIterLogicalPositionIncrement (line 98) | func TestIterLogicalPositionIncrement(t *testing.T) { function TestIterNoFatalErrorOnDeletedMessage (line 123) | func TestIterNoFatalErrorOnDeletedMessage(t *testing.T) { function TestIterReturnValues (line 146) | func TestIterReturnValues(t *testing.T) { function createDeletedMessageError (line 170) | func createDeletedMessageError(peerID int64, msgID int) error { type deletedMessageError (line 180) | type deletedMessageError struct method Error (line 185) | func (e *deletedMessageError) Error() string { function TestDeletedMessageErrorFormat (line 191) | func TestDeletedMessageErrorFormat(t *testing.T) { function BenchmarkDeletedMessageDetection (line 202) | func BenchmarkDeletedMessageDetection(b *testing.B) { function TestIterContextCancellation (line 214) | func TestIterContextCancellation(t *testing.T) { FILE: app/dl/progress.go type progress (line 23) | type progress struct method OnAdd (line 40) | func (p *progress) OnAdd(elem downloader.Elem) { method OnDownload (line 45) | func (p *progress) OnDownload(elem downloader.Elem, state downloader.P... method OnDone (line 56) | func (p *progress) OnDone(elem downloader.Elem, err error) { method donePost (line 86) | func (p *progress) donePost(elem *iterElem) error { method fail (line 116) | func (p *progress) fail(t *pw.Tracker, elem downloader.Elem, err error) { method processMessage (line 121) | func (p *progress) processMessage(elem downloader.Elem) string { method elemString (line 125) | func (p *progress) elemString(elem downloader.Elem) string { function newProgress (line 31) | func newProgress(p pw.Writer, it *iter, opts Options) *progress { FILE: app/dl/serve.go type media (line 32) | type media struct function serve (line 40) | func serve(ctx context.Context, function handler (line 137) | func handler(h func(w http.ResponseWriter, r *http.Request) error) http.... function convItem (line 145) | func convItem(msg *tg.Message) (*media, error) { FILE: app/extension/extension.go function List (line 28) | func List(ctx context.Context, em *extensions.Manager) error { function Install (line 49) | func Install(ctx context.Context, em *extensions.Manager, targets []stri... function Upgrade (line 68) | func Upgrade(ctx context.Context, em *extensions.Manager, targets []stri... function Remove (line 119) | func Remove(ctx context.Context, em *extensions.Manager, targets []strin... function normalizeExtName (line 152) | func normalizeExtName(n string) string { FILE: app/forward/elem.go type iterElem (line 10) | type iterElem struct method Mode (line 19) | func (i *iterElem) Mode() forwarder.Mode { method From (line 26) | func (i *iterElem) From() peers.Peer { return i.from } method Msg (line 28) | func (i *iterElem) Msg() *tg.Message { return i.msg } method To (line 30) | func (i *iterElem) To() peers.Peer { return i.to } method Thread (line 32) | func (i *iterElem) Thread() int { return i.thread } method AsSilent (line 34) | func (i *iterElem) AsSilent() bool { return i.opts.silent } method AsDryRun (line 36) | func (i *iterElem) AsDryRun() bool { return i.opts.dryRun } method AsGrouped (line 38) | func (i *iterElem) AsGrouped() bool { return i.opts.grouped } FILE: app/forward/forward.go type Options (line 31) | type Options struct function Run (line 42) | func Run(ctx context.Context, c *telegram.Client, kvd storage.Storage, o... function collectDialogs (line 109) | func collectDialogs(ctx context.Context, input []string, desc bool) ([]*... function resolveDest (line 146) | func resolveDest(ctx context.Context, manager *peers.Manager, input stri... function resolveEdit (line 173) | func resolveEdit(input string) (*vm.Program, error) { function totalMessages (line 193) | func totalMessages(dialogs []*tmessage.Dialog) int { FILE: app/forward/iter.go type iterOptions (line 23) | type iterOptions struct type iter (line 36) | type iter struct method Next (line 85) | func (i *iter) Next(ctx context.Context) bool { method resolvePeer (line 202) | func (i *iter) resolvePeer(ctx context.Context, peer string) (peers.Pe... method Value (line 210) | func (i *iter) Value() forwarder.Elem { method Err (line 214) | func (i *iter) Err() error { type env (line 44) | type env struct function exprEnv (line 53) | func exprEnv(from peers.Peer, msg *tg.Message) env { type dest (line 69) | type dest struct function newIter (line 74) | func newIter(opts iterOptions) *iter { FILE: app/forward/progress.go type progress (line 16) | type progress struct method OnAdd (line 36) | func (p *progress) OnAdd(elem forwarder.Elem) { method OnClone (line 41) | func (p *progress) OnClone(elem forwarder.Elem, state forwarder.Progre... method OnDone (line 54) | func (p *progress) OnDone(elem forwarder.Elem, err error) { method tuple (line 72) | func (p *progress) tuple(elem forwarder.Elem) tuple { method processMessage (line 80) | func (p *progress) processMessage(elem forwarder.Elem, clone bool) str... method metaString (line 91) | func (p *progress) metaString(elem forwarder.Elem) string { type tuple (line 22) | type tuple struct function newProgress (line 28) | func newProgress(p pw.Writer) *progress { FILE: app/internal/tctx/tctx.go type kvKey (line 10) | type kvKey struct function KV (line 12) | func KV(ctx context.Context) storage.Storage { function WithKV (line 16) | func WithKV(ctx context.Context, kv storage.Storage) context.Context { type poolKey (line 20) | type poolKey struct function Pool (line 22) | func Pool(ctx context.Context) dcpool.Pool { function WithPool (line 26) | func WithPool(ctx context.Context, pool dcpool.Pool) context.Context { FILE: app/login/code.go function Code (line 20) | func Code(ctx context.Context) error { type noSignUp (line 63) | type noSignUp struct method SignUp (line 65) | func (c noSignUp) SignUp(_ context.Context) (auth.UserInfo, error) { method AcceptTermsOfService (line 69) | func (c noSignUp) AcceptTermsOfService(_ context.Context, tos tg.HelpT... type termAuth (line 74) | type termAuth struct method Phone (line 78) | func (a termAuth) Phone(_ context.Context) (string, error) { method Password (line 93) | func (a termAuth) Password(_ context.Context) (string, error) { method Code (line 106) | func (a termAuth) Code(_ context.Context, _ *tg.AuthSentCode) (string,... FILE: app/login/desktop.go constant tdata (line 27) | tdata = "tdata" function Desktop (line 29) | func Desktop(ctx context.Context, opts Options) error { function findDesktop (line 105) | func findDesktop(desktop string) (string, error) { function detectAppData (line 125) | func detectAppData() string { function appendTData (line 135) | func appendTData(path string) string { function forceLogout (line 144) | func forceLogout(idx uint32, desktop string) error { FILE: app/login/login.go type Type (line 13) | type Type type Options (line 15) | type Options struct function Run (line 21) | func Run(ctx context.Context, opts Options) error { FILE: app/login/login_enum.go constant TypeDesktop (line 16) | TypeDesktop Type = iota constant TypeCode (line 18) | TypeCode constant TypeQr (line 20) | TypeQr constant _TypeName (line 25) | _TypeName = "desktopcodeqr" function TypeNames (line 34) | func TypeNames() []string { function TypeValues (line 41) | func TypeValues() []Type { method String (line 56) | func (x Type) String() string { method IsValid (line 65) | func (x Type) IsValid() bool { function ParseType (line 80) | func ParseType(name string) (Type, error) { method Set (line 92) | func (x *Type) Set(val string) error { method Get (line 99) | func (x *Type) Get() interface{} { method Type (line 104) | func (x *Type) Type() string { FILE: app/login/qr.go function QR (line 24) | func QR(ctx context.Context) error { FILE: app/migrate/backup.go function Backup (line 16) | func Backup(ctx context.Context, dst string) (rerr error) { FILE: app/migrate/migrate.go function Migrate (line 13) | func Migrate(ctx context.Context, to map[string]string) error { FILE: app/migrate/recover.go function Recover (line 17) | func Recover(ctx context.Context, file string) (rerr error) { FILE: app/up/elem.go type iterElem (line 14) | type iterElem struct method File (line 25) | func (e *iterElem) File() uploader.File { method Thumb (line 29) | func (e *iterElem) Thumb() (uploader.File, bool) { method Caption (line 36) | func (e *iterElem) Caption() (string, []tg.MessageEntityClass) { method To (line 40) | func (e *iterElem) To() tg.InputPeerClass { method Thread (line 44) | func (e *iterElem) Thread() int { method AsPhoto (line 48) | func (e *iterElem) AsPhoto() bool { type uploaderFile (line 52) | type uploaderFile struct method Name (line 57) | func (u *uploaderFile) Name() string { method Size (line 61) | func (u *uploaderFile) Size() int64 { FILE: app/up/iter.go type File (line 23) | type File struct type dest (line 28) | type dest struct type iter (line 33) | type iter struct method Next (line 67) | func (i *iter) Next(ctx context.Context) bool { method next (line 97) | func (i *iter) next(ctx context.Context, cur *File) (*iterElem, error) { method resolveFile (line 132) | func (i *iter) resolveFile(path string) (*uploaderFile, error) { method resolveDest (line 149) | func (i *iter) resolveDest(ctx context.Context, env Env) (peers.Peer, ... method resolvePeer (line 196) | func (i *iter) resolvePeer(ctx context.Context, peer string) (peers.Pe... method resolveCaption (line 204) | func (i *iter) resolveCaption(env Env) (*entity.Builder, error) { method resolveThumb (line 229) | func (i *iter) resolveThumb(path string) (*uploaderFile, error) { method Value (line 251) | func (i *iter) Value() uploader.Elem { method Err (line 255) | func (i *iter) Err() error { function newIter (line 49) | func newIter(files []*File, to, caption *vm.Program, chat string, topic ... FILE: app/up/progress.go type progress (line 17) | type progress struct method OnAdd (line 34) | func (p *progress) OnAdd(elem uploader.Elem) { method OnUpload (line 39) | func (p *progress) OnUpload(elem uploader.Elem, state uploader.Progres... method OnDone (line 50) | func (p *progress) OnDone(elem uploader.Elem, err error) { method closeFile (line 76) | func (p *progress) closeFile(e *iterElem) error { method fail (line 90) | func (p *progress) fail(t *pw.Tracker, elem uploader.Elem, err error) { method tuple (line 95) | func (p *progress) tuple(elem uploader.Elem) tuple { method processMessage (line 99) | func (p *progress) processMessage(elem uploader.Elem) string { method elemString (line 103) | func (p *progress) elemString(elem uploader.Elem) string { type tuple (line 22) | type tuple struct function newProgress (line 27) | func newProgress(p pw.Writer) *progress { FILE: app/up/up.go type Options (line 34) | type Options struct type Env (line 46) | type Env struct function Run (line 54) | func Run(ctx context.Context, c *telegram.Client, kvd storage.Storage, o... function resolveDest (line 110) | func resolveDest(ctx context.Context, manager *peers.Manager, input stri... function resolveCaption (line 130) | func resolveCaption(ctx context.Context, input string) (*vm.Program, err... function exprEnv (line 150) | func exprEnv(ctx context.Context, file *File) Env { FILE: app/up/walk.go function walk (line 13) | func walk(paths, includes, excludes []string) ([]*File, error) { FILE: cmd/chat.go function NewChat (line 22) | func NewChat() *cobra.Command { function NewChatList (line 34) | func NewChatList() *cobra.Command { function NewChatExport (line 53) | func NewChatExport() *cobra.Command { function NewChatUsers (line 134) | func NewChatUsers() *cobra.Command { FILE: cmd/dl.go function NewDownload (line 17) | func NewDownload() *cobra.Command { FILE: cmd/extension.go function NewExtension (line 22) | func NewExtension(em *extensions.Manager) *cobra.Command { function NewExtensionList (line 42) | func NewExtensionList(em *extensions.Manager) *cobra.Command { function NewExtensionInstall (line 56) | func NewExtensionInstall(em *extensions.Manager) *cobra.Command { function NewExtensionUpgrade (line 73) | func NewExtensionUpgrade(em *extensions.Manager) *cobra.Command { function NewExtensionRemove (line 85) | func NewExtensionRemove(em *extensions.Manager) *cobra.Command { function NewExtensionCmd (line 98) | func NewExtensionCmd(em *extensions.Manager, ext extensions.Extension, s... FILE: cmd/forward.go function NewForward (line 17) | func NewForward() *cobra.Command { FILE: cmd/gen.go function NewGen (line 17) | func NewGen() *cobra.Command { function NewGenDoc (line 29) | func NewGenDoc() *cobra.Command { FILE: cmd/login.go function NewLogin (line 14) | func NewLogin() *cobra.Command { FILE: cmd/migrate.go function NewBackup (line 14) | func NewBackup() *cobra.Command { function NewRecover (line 35) | func NewRecover() *cobra.Command { function NewMigrate (line 58) | func NewMigrate() *cobra.Command { FILE: cmd/root.go function New (line 62) | func New() *cobra.Command { type completeFunc (line 198) | type completeFunc function completeExtFiles (line 200) | func completeExtFiles(ext ...string) completeFunc { function tOptions (line 215) | func tOptions(ctx context.Context) (tclient.Options, error) { function tRun (line 232) | func tRun(ctx context.Context, f func(ctx context.Context, c *telegram.C... function migrateLegacyToBolt (line 248) | func migrateLegacyToBolt() (rerr error) { FILE: cmd/up.go function NewUpload (line 15) | func NewUpload() *cobra.Command { FILE: cmd/version.go function NewVersion (line 18) | func NewVersion() *cobra.Command { FILE: core/dcpool/dcpool.go function EnableTestMode (line 19) | func EnableTestMode() { type Pool (line 23) | type Pool interface type pool (line 30) | type pool struct method current (line 53) | func (p *pool) current() int { method Client (line 57) | func (p *pool) Client(ctx context.Context, dc int) *tg.Client { method invoker (line 64) | func (p *pool) invoker(ctx context.Context, dc int) tg.Invoker { method Default (line 97) | func (p *pool) Default(ctx context.Context) *tg.Client { method Close (line 101) | func (p *pool) Close() (err error) { method Takeout (line 113) | func (p *pool) Takeout(ctx context.Context, dc int) *tg.Client { function NewPool (line 41) | func NewPool(c *telegram.Client, size int64, middlewares ...telegram.Mid... FILE: core/dcpool/middlewares.go function chainMiddlewares (line 8) | func chainMiddlewares(invoker tg.Invoker, chain ...telegram.Middleware) ... FILE: core/downloader/downloader.go constant MaxPartSize (line 17) | MaxPartSize = 1024 * 1024 type Downloader (line 19) | type Downloader struct method Download (line 36) | func (d *Downloader) Download(ctx context.Context, limit int) error { method download (line 73) | func (d *Downloader) download(ctx context.Context, elem Elem) error { type Options (line 23) | type Options struct function New (line 30) | func New(opts Options) *Downloader { FILE: core/downloader/iter.go type Iter (line 10) | type Iter interface type Elem (line 16) | type Elem interface type File (line 23) | type File interface FILE: core/downloader/progress.go type Progress (line 9) | type Progress interface type ProgressState (line 16) | type ProgressState struct type writeAt (line 24) | type writeAt struct method WriteAt (line 41) | func (w *writeAt) WriteAt(p []byte, off int64) (int, error) { function newWriteAt (line 32) | func newWriteAt(elem Elem, progress Progress, partSize int) *writeAt { FILE: core/forwarder/clone.go type cloneOptions (line 21) | type cloneOptions struct type progressAdd (line 27) | type progressAdd interface method cloneMedia (line 31) | func (f *Forwarder) cloneMedia(ctx context.Context, opts cloneOptions, d... type writeAt (line 85) | type writeAt struct method WriteAt (line 90) | func (w writeAt) WriteAt(p []byte, off int64) (int, error) { type uploaded (line 101) | type uploaded struct method Chunk (line 106) | func (u uploaded) Chunk(_ context.Context, state uploader.ProgressStat... FILE: core/forwarder/forwarder.go type Mode (line 25) | type Mode type Options (line 27) | type Options struct type Forwarder (line 34) | type Forwarder struct method Forward (line 53) | func (f *Forwarder) Forward(ctx context.Context) error { method forwardMessage (line 86) | func (f *Forwarder) forwardMessage(ctx context.Context, elem Elem, gro... method tuple (line 378) | func (f *Forwarder) tuple(peer peers.Peer, msg *tg.Message) tuple { method forwardClient (line 409) | func (f *Forwarder) forwardClient(ctx context.Context, elem Elem) *tg.... type tuple (line 40) | type tuple struct function New (line 45) | func New(opts Options) *Forwarder { type nopInvoker (line 385) | type nopInvoker struct method Invoke (line 387) | func (n nopInvoker) Invoke(_ context.Context, _ bin.Encoder, _ bin.Dec... type nopProgress (line 391) | type nopProgress struct method add (line 393) | func (nopProgress) add(_ int64) {} type wrapProgress (line 395) | type wrapProgress struct method add (line 402) | func (w *wrapProgress) add(n int64) { function protectedDialog (line 417) | func protectedDialog(peer peers.Peer) bool { function protectedMessage (line 428) | func protectedMessage(msg *tg.Message) bool { function photoOrDocument (line 432) | func photoOrDocument(media tg.MessageMediaClass) bool { function mediaSizeSum (line 441) | func mediaSizeSum(msg *tg.Message, grouped ...*tg.Message) (int64, error) { function getReplyTo (line 463) | func getReplyTo(thread int) tg.InputReplyToClass { FILE: core/forwarder/forwarder_enum.go constant ModeDirect (line 16) | ModeDirect Mode = iota constant ModeClone (line 18) | ModeClone constant _ModeName (line 23) | _ModeName = "directclone" function ModeNames (line 31) | func ModeNames() []string { function ModeValues (line 38) | func ModeValues() []Mode { method String (line 51) | func (x Mode) String() string { method IsValid (line 60) | func (x Mode) IsValid() bool { function ParseMode (line 73) | func ParseMode(name string) (Mode, error) { method Set (line 85) | func (x *Mode) Set(val string) error { method Get (line 92) | func (x *Mode) Get() interface{} { method Type (line 97) | func (x *Mode) Type() string { FILE: core/forwarder/iter.go type Iter (line 10) | type Iter interface type Elem (line 16) | type Elem interface FILE: core/forwarder/progress.go type ProgressClone (line 3) | type ProgressClone interface type Progress (line 7) | type Progress interface type ProgressState (line 13) | type ProgressState struct FILE: core/logctx/logctx.go type ctxKey (line 9) | type ctxKey struct function From (line 11) | func From(ctx context.Context) *zap.Logger { function With (line 18) | func With(ctx context.Context, logger *zap.Logger) context.Context { function Named (line 22) | func Named(ctx context.Context, name string) context.Context { FILE: core/middlewares/recovery/recovery.go type recovery (line 18) | type recovery struct method Handle (line 30) | func (r *recovery) Handle(next tg.Invoker) telegram.InvokeFunc { method shouldRecover (line 50) | func (r *recovery) shouldRecover(ctx context.Context, err error) bool { function New (line 23) | func New(ctx context.Context, backoff backoff.BackOff) telegram.Middlewa... FILE: core/middlewares/retry/retry.go type retry (line 26) | type retry struct method Handle (line 31) | func (r retry) Handle(next tg.Invoker) telegram.InvokeFunc { function New (line 53) | func New(max int, errors ...string) telegram.Middleware { FILE: core/middlewares/takeout/middleware.go type takeout (line 12) | type takeout struct method Handle (line 24) | func (t takeout) Handle(next tg.Invoker) telegram.InvokeFunc { type nopDecoder (line 16) | type nopDecoder struct method Decode (line 20) | func (n nopDecoder) Decode(_ *bin.Buffer) error { function Middleware (line 33) | func Middleware(id int64) telegram.Middleware { FILE: core/middlewares/takeout/takeout.go function Takeout (line 9) | func Takeout(ctx context.Context, invoker tg.Invoker) (int64, error) { function UnTakeout (line 29) | func UnTakeout(ctx context.Context, invoker tg.Invoker) error { FILE: core/storage/keygen/keygen.go function New (line 17) | func New(indexes ...string) string { FILE: core/storage/peers.go type Peers (line 14) | type Peers struct method Save (line 22) | func (p *Peers) Save(ctx context.Context, key peers.Key, value peers.V... method Find (line 31) | func (p *Peers) Find(ctx context.Context, key peers.Key) (peers.Value,... method SavePhone (line 48) | func (p *Peers) SavePhone(ctx context.Context, phone string, _key peer... method FindPhone (line 57) | func (p *Peers) FindPhone(ctx context.Context, phone string) (peers.Ke... method GetContactsHash (line 79) | func (p *Peers) GetContactsHash(ctx context.Context) (int64, error) { method SaveContactsHash (line 91) | func (p *Peers) SaveContactsHash(ctx context.Context, hash int64) error { method key (line 95) | func (p *Peers) key(key peers.Key) string { method phoneKey (line 99) | func (p *Peers) phoneKey(phone string) string { method contactsKey (line 103) | func (p *Peers) contactsKey() string { function NewPeers (line 18) | func NewPeers(kv Storage) peers.Storage { FILE: core/storage/session.go type Session (line 12) | type Session struct method LoadSession (line 21) | func (s *Session) LoadSession(ctx context.Context) ([]byte, error) { method StoreSession (line 36) | func (s *Session) StoreSession(ctx context.Context, data []byte) error { method key (line 40) | func (s *Session) key() string { function NewSession (line 17) | func NewSession(kv Storage, login bool) telegram.SessionStorage { FILE: core/storage/state.go type State (line 14) | type State struct method Get (line 22) | func (s *State) Get(ctx context.Context, key string, v interface{}) er... method Set (line 31) | func (s *State) Set(ctx context.Context, key string, v interface{}) er... method GetState (line 40) | func (s *State) GetState(ctx context.Context, userID int64) (updates.S... method SetState (line 53) | func (s *State) SetState(ctx context.Context, userID int64, state upda... method SetPts (line 61) | func (s *State) SetPts(ctx context.Context, userID int64, pts int) err... method SetQts (line 71) | func (s *State) SetQts(ctx context.Context, userID int64, qts int) err... method SetDate (line 81) | func (s *State) SetDate(ctx context.Context, userID int64, date int) e... method SetSeq (line 91) | func (s *State) SetSeq(ctx context.Context, userID int64, seq int) err... method SetDateSeq (line 101) | func (s *State) SetDateSeq(ctx context.Context, userID int64, date, se... method GetChannelPts (line 112) | func (s *State) GetChannelPts(ctx context.Context, userID, channelID i... method SetChannelPts (line 130) | func (s *State) SetChannelPts(ctx context.Context, userID, channelID i... method ForEachChannels (line 140) | func (s *State) ForEachChannels(ctx context.Context, userID int64, f f... method stateKey (line 156) | func (s *State) stateKey(userID int64) string { method channelKey (line 160) | func (s *State) channelKey(userID int64) string { function NewState (line 18) | func NewState(kv Storage) updates.StateStorage { FILE: core/storage/storage.go type Storage (line 9) | type Storage interface FILE: core/tclient/tclient.go type Options (line 32) | type Options struct function New (line 45) | func New(ctx context.Context, o Options) (*telegram.Client, error) { function NewDefaultMiddlewares (line 90) | func NewDefaultMiddlewares(ctx context.Context, timeout time.Duration) [... function newBackoff (line 98) | func newBackoff(timeout time.Duration) backoff.BackOff { function RunWithAuth (line 107) | func RunWithAuth(ctx context.Context, client *telegram.Client, f func(ct... FILE: core/tmedia/convert.go function ConvInputMedia (line 7) | func ConvInputMedia(media tg.MessageMediaClass) (tg.InputMediaClass, boo... function ConvInputMediaPhoto (line 38) | func ConvInputMediaPhoto(v *tg.MessageMediaPhoto) (*tg.InputMediaPhoto, ... function ConvInputMediaGeo (line 58) | func ConvInputMediaGeo(v *tg.MessageMediaGeo) (*tg.InputMediaGeoPoint, b... function ConvInputMediaContact (line 75) | func ConvInputMediaContact(v *tg.MessageMediaContact) (*tg.InputMediaCon... function ConvInputMediaDocument (line 82) | func ConvInputMediaDocument(v *tg.MessageMediaDocument) (*tg.InputMediaD... function ConvInputMediaVenue (line 102) | func ConvInputMediaVenue(v *tg.MessageMediaVenue) (*tg.InputMediaVenue, ... function ConvInputMediaGame (line 118) | func ConvInputMediaGame(v *tg.MessageMediaGame) (*tg.InputMediaGame, boo... function ConvInputMediaInvoice (line 127) | func ConvInputMediaInvoice(v *tg.MessageMediaInvoice) (*tg.InputMediaInv... function ConvInputMediaGeoLive (line 133) | func ConvInputMediaGeoLive(v *tg.MessageMediaGeoLive) (*tg.InputMediaGeo... function ConvInputMediaPoll (line 139) | func ConvInputMediaPoll(v *tg.MessageMediaPoll) (*tg.InputMediaPoll, boo... function ConvInputMediaDice (line 145) | func ConvInputMediaDice(v *tg.MessageMediaDice) (*tg.InputMediaDice, boo... function ConvInputMediaStory (line 151) | func ConvInputMediaStory(v *tg.MessageMediaStory) (*tg.InputMediaStory, ... FILE: core/tmedia/document.go function GetDocumentInfo (line 10) | func GetDocumentInfo(doc *tg.MessageMediaDocument) (*Media, bool) { function GetDocumentName (line 29) | func GetDocumentName(doc *tg.Document) string { FILE: core/tmedia/media.go type Media (line 7) | type Media struct function ExtractMedia (line 15) | func ExtractMedia(m tg.MessageMediaClass) (*Media, bool) { function GetMedia (line 27) | func GetMedia(msg tg.MessageClass) (*Media, bool) { function GetExtendedMedia (line 41) | func GetExtendedMedia(mm tg.MessageExtendedMediaClass) (*Media, bool) { function GetDocumentThumb (line 49) | func GetDocumentThumb(doc *tg.Document) (*Media, bool) { FILE: core/tmedia/photo.go function GetPhotoInfo (line 9) | func GetPhotoInfo(photo *tg.MessageMediaPhoto) (*Media, bool) { function GetPhotoSize (line 34) | func GetPhotoSize(sizes []tg.PhotoSizeClass) (string, int, bool) { FILE: core/uploader/iter.go type Iter (line 10) | type Iter interface type File (line 16) | type File interface type Elem (line 22) | type Elem interface FILE: core/uploader/progress.go type Progress (line 9) | type Progress interface type ProgressState (line 16) | type ProgressState struct type wrapProcess (line 21) | type wrapProcess struct method Chunk (line 26) | func (p *wrapProcess) Chunk(_ context.Context, state uploader.Progress... FILE: core/uploader/uploader.go constant MaxPartSize (line 23) | MaxPartSize = 512 * 1024 type Uploader (line 25) | type Uploader struct method Upload (line 40) | func (u *Uploader) Upload(ctx context.Context, limit int) error { method upload (line 71) | func (u *Uploader) upload(ctx context.Context, elem Elem) error { type Options (line 29) | type Options struct function New (line 36) | func New(o Options) *Uploader { FILE: core/util/fsutil/fsutil.go function GetNameWithoutExt (line 9) | func GetNameWithoutExt(path string) string { function PathExists (line 13) | func PathExists(path string) bool { function AddPrefixDot (line 19) | func AddPrefixDot(ext string) string { FILE: core/util/logutil/logutil.go function New (line 9) | func New(level zapcore.LevelEnabler, path string) *zap.Logger { FILE: core/util/mediautil/mediautil.go function split (line 11) | func split(mime string) (primary string, sub string, ok bool) { function IsVideo (line 21) | func IsVideo(mime string) bool { function IsAudio (line 27) | func IsAudio(mime string) bool { function IsImage (line 33) | func IsImage(mime string) bool { function GetMP4Info (line 40) | func GetMP4Info(r io.ReadSeeker) (int, int, int, error) { FILE: core/util/netutil/netutil.go function init (line 11) | func init() { function NewProxy (line 17) | func NewProxy(proxyUrl string) (proxy.ContextDialer, error) { FILE: core/util/tutil/tutil.go function ParseMessageLink (line 20) | func ParseMessageLink(ctx context.Context, manager *peers.Manager, s str... function GetInputPeer (line 94) | func GetInputPeer(ctx context.Context, manager *peers.Manager, from stri... function GetPeerID (line 120) | func GetPeerID(peer tg.PeerClass) int64 { function GetInputPeerID (line 132) | func GetInputPeerID(peer tg.InputPeerClass) int64 { function GetBlockedDialogs (line 145) | func GetBlockedDialogs(ctx context.Context, client *tg.Client) (map[int6... function FileExists (line 158) | func FileExists(msg tg.MessageClass) bool { function GetSingleMessage (line 177) | func GetSingleMessage(ctx context.Context, c *tg.Client, peer tg.InputPe... type Messages (line 199) | type Messages method Len (line 201) | func (m Messages) Len() int { method Less (line 205) | func (m Messages) Less(i, j int) bool { method Swap (line 209) | func (m Messages) Swap(i, j int) { function GetGroupedMessages (line 213) | func GetGroupedMessages(ctx context.Context, c *tg.Client, peer tg.Input... function BestThreads (line 267) | func BestThreads(size int64, max int) int { FILE: extension/extension.go constant EnvKey (line 21) | EnvKey = "TDL_EXTENSION" type Env (line 23) | type Env struct type Options (line 36) | type Options struct type Extension (line 47) | type Extension struct method Name (line 62) | func (e *Extension) Name() string { method Client (line 66) | func (e *Extension) Client() *telegram.Client { method Log (line 70) | func (e *Extension) Log() *zap.Logger { method Config (line 74) | func (e *Extension) Config() *Config { type Config (line 54) | type Config struct type Handler (line 78) | type Handler function New (line 80) | func New(o Options) func(h Handler) { function buildExtension (line 102) | func buildExtension(ctx context.Context, o Options) (*Extension, *telegr... function buildClient (line 152) | func buildClient(ctx context.Context, env *Env, o Options) (*telegram.Cl... function assert (line 170) | func assert(err error) { FILE: main.go function main (line 16) | func main() { FILE: pkg/clock/clock.go constant defaultHost (line 11) | defaultHost = "pool.ntp.org" type networkClock (line 13) | type networkClock struct method Now (line 17) | func (n *networkClock) Now() time.Time { method Timer (line 21) | func (n *networkClock) Timer(d time.Duration) clock.Timer { method Ticker (line 25) | func (n *networkClock) Ticker(d time.Duration) clock.Ticker { function New (line 30) | func New(ntpHost ...string) (clock.Clock, error) { FILE: pkg/consts/consts.go function init (line 8) | func init() { FILE: pkg/consts/flag.go constant FlagStorage (line 4) | FlagStorage = "storage" constant FlagProxy (line 5) | FlagProxy = "proxy" constant FlagNamespace (line 6) | FlagNamespace = "ns" constant FlagDebug (line 7) | FlagDebug = "debug" constant FlagPartSize (line 8) | FlagPartSize = "size" constant FlagThreads (line 9) | FlagThreads = "threads" constant FlagLimit (line 10) | FlagLimit = "limit" constant FlagPoolSize (line 11) | FlagPoolSize = "pool" constant FlagDelay (line 12) | FlagDelay = "delay" constant FlagNTP (line 13) | FlagNTP = "ntp" constant FlagReconnectTimeout (line 14) | FlagReconnectTimeout = "reconnect-timeout" constant FlagDlTemplate (line 15) | FlagDlTemplate = "template" FILE: pkg/extensions/extensions.go constant Prefix (line 11) | Prefix = "tdl-" type ExtensionType (line 14) | type ExtensionType type Extension (line 16) | type Extension interface type baseExtension (line 27) | type baseExtension struct method Name (line 31) | func (e baseExtension) Name() string { method Path (line 37) | func (e baseExtension) Path() string { type manifest (line 41) | type manifest struct FILE: pkg/extensions/extensions_enum.go constant ExtensionTypeGithub (line 16) | ExtensionTypeGithub ExtensionType = "github" constant ExtensionTypeLocal (line 18) | ExtensionTypeLocal ExtensionType = "local" function ExtensionTypeNames (line 29) | func ExtensionTypeNames() []string { function ExtensionTypeValues (line 36) | func ExtensionTypeValues() []ExtensionType { method String (line 44) | func (x ExtensionType) String() string { method IsValid (line 50) | func (x ExtensionType) IsValid() bool { function ParseExtensionType (line 61) | func ParseExtensionType(name string) (ExtensionType, error) { method Set (line 73) | func (x *ExtensionType) Set(val string) error { method Get (line 80) | func (x *ExtensionType) Get() interface{} { method Type (line 85) | func (x *ExtensionType) Type() string { FILE: pkg/extensions/extensions_test.go function TestBaseExtension (line 9) | func TestBaseExtension(t *testing.T) { FILE: pkg/extensions/github.go constant githubHost (line 16) | githubHost = "github.com" constant manifestName (line 17) | manifestName = "manifest.json" type githubExtension (line 20) | type githubExtension struct method Type (line 31) | func (e *githubExtension) Type() ExtensionType { method URL (line 35) | func (e *githubExtension) URL() string { method Owner (line 43) | func (e *githubExtension) Owner() string { method CurrentVersion (line 51) | func (e *githubExtension) CurrentVersion() string { method LatestVersion (line 59) | func (e *githubExtension) LatestVersion(ctx context.Context) string { method loadManifest (line 84) | func (e *githubExtension) loadManifest() (*manifest, error) { method UpdateAvailable (line 113) | func (e *githubExtension) UpdateAvailable(ctx context.Context) bool { FILE: pkg/extensions/local.go type localExtension (line 8) | type localExtension struct method Type (line 12) | func (l *localExtension) Type() ExtensionType { method URL (line 16) | func (l *localExtension) URL() string { method Owner (line 20) | func (l *localExtension) Owner() string { method CurrentVersion (line 24) | func (l *localExtension) CurrentVersion() string { method LatestVersion (line 28) | func (l *localExtension) LatestVersion(_ context.Context) string { method UpdateAvailable (line 32) | func (l *localExtension) UpdateAvailable(_ context.Context) bool { FILE: pkg/extensions/local_test.go function TestLocalExtension (line 10) | func TestLocalExtension(t *testing.T) { FILE: pkg/extensions/manager.go type Manager (line 29) | type Manager struct method SetDryRun (line 54) | func (m *Manager) SetDryRun(v bool) { method DryRun (line 58) | func (m *Manager) DryRun() bool { method SetClient (line 62) | func (m *Manager) SetClient(client *http.Client) { method Dispatch (line 67) | func (m *Manager) Dispatch(ext Extension, args []string, env *extensio... method List (line 97) | func (m *Manager) List(ctx context.Context, includeLatestVersion bool)... method Upgrade (line 133) | func (m *Manager) Upgrade(ctx context.Context, ext Extension) error { method Install (line 164) | func (m *Manager) Install(ctx context.Context, target string, force bo... method installLocal (line 179) | func (m *Manager) installLocal(path string, force bool) error { method installGitHub (line 212) | func (m *Manager) installGitHub(ctx context.Context, owner, repo strin... method maybeExist (line 273) | func (m *Manager) maybeExist(binPath string, force bool) error { method Remove (line 296) | func (m *Manager) Remove(ext Extension) error { method populateLatestVersions (line 310) | func (m *Manager) populateLatestVersions(ctx context.Context, exts []E... method downloadGitHubAsset (line 322) | func (m *Manager) downloadGitHubAsset(ctx context.Context, owner, repo... function NewManager (line 37) | func NewManager(dir string) *Manager { function newGhClient (line 46) | func newGhClient(c *http.Client) *github.Client { function copyRegularFile (line 341) | func copyRegularFile(src, dst string) (rerr error) { function platformBinaryName (line 368) | func platformBinaryName() (string, string) { function extractGOARM (line 385) | func extractGOARM() string { FILE: pkg/filterMap/filterMap.go function New (line 3) | func New(data []string, keyFn func(key string) string) map[string]struct... FILE: pkg/key/key.go function App (line 7) | func App() string { function Resume (line 11) | func Resume(fingerprint string) string { FILE: pkg/kv/bolt.go function init (line 17) | func init() { type bolt (line 21) | type bolt struct method Name (line 52) | func (b *bolt) Name() string { method MigrateTo (line 56) | func (b *bolt) MigrateTo() (Meta, error) { method MigrateFrom (line 81) | func (b *bolt) MigrateFrom(meta Meta) error { method Namespaces (line 107) | func (b *bolt) Namespaces() ([]string, error) { method walk (line 119) | func (b *bolt) walk(fn func(path string) error) error { method Open (line 132) | func (b *bolt) Open(ns string) (storage.Storage, error) { method open (line 136) | func (b *bolt) open(ns string) (*legacyKV, error) { method Close (line 163) | func (b *bolt) Close() error { function newBolt (line 27) | func newBolt(opts map[string]any) (*bolt, error) { FILE: pkg/kv/file.go function init (line 17) | func init() { type file (line 21) | type file struct method Name (line 59) | func (f *file) Name() string { method MigrateTo (line 63) | func (f *file) MigrateTo() (Meta, error) { method MigrateFrom (line 71) | func (f *file) MigrateFrom(meta Meta) error { method Namespaces (line 75) | func (f *file) Namespaces() ([]string, error) { method Open (line 89) | func (f *file) Open(ns string) (storage.Storage, error) { method Close (line 109) | func (f *file) Close() error { method read (line 113) | func (f *file) read() (map[string]map[string][]byte, error) { method write (line 130) | func (f *file) write(m map[string]map[string][]byte) error { function newFile (line 26) | func newFile(opts map[string]any) (Storage, error) { type fileKV (line 142) | type fileKV struct method Get (line 147) | func (f *fileKV) Get(_ context.Context, key string) ([]byte, error) { method Set (line 159) | func (f *fileKV) Set(_ context.Context, key string, value []byte) error { method Delete (line 170) | func (f *fileKV) Delete(_ context.Context, key string) error { FILE: pkg/kv/kv.go type Driver (line 16) | type Driver constant DriverTypeKey (line 18) | DriverTypeKey = "type" type Meta (line 20) | type Meta type Storage (line 22) | type Storage interface function register (line 33) | func register(name Driver, fn func(map[string]any) (Storage, error)) { function New (line 37) | func New(driver Driver, opts map[string]any) (Storage, error) { function NewWithMap (line 45) | func NewWithMap(o map[string]string) (Storage, error) { type ctxKey (line 63) | type ctxKey struct function With (line 65) | func With(ctx context.Context, kv Storage) context.Context { function From (line 69) | func From(ctx context.Context) Storage { FILE: pkg/kv/kv_enum.go constant DriverLegacy (line 16) | DriverLegacy Driver = "legacy" constant DriverBolt (line 18) | DriverBolt Driver = "bolt" constant DriverFile (line 20) | DriverFile Driver = "file" function DriverNames (line 32) | func DriverNames() []string { function DriverValues (line 39) | func DriverValues() []Driver { method String (line 48) | func (x Driver) String() string { method IsValid (line 54) | func (x Driver) IsValid() bool { function ParseDriver (line 66) | func ParseDriver(name string) (Driver, error) { method Set (line 78) | func (x *Driver) Set(val string) error { method Get (line 85) | func (x *Driver) Get() interface{} { method Type (line 90) | func (x *Driver) Type() string { FILE: pkg/kv/kv_test.go function forEachStorage (line 13) | func forEachStorage(t *testing.T, fn func(e Storage, t *testing.T)) { function TestNew (line 31) | func TestNew(t *testing.T) { function TestStorage_Open (line 70) | func TestStorage_Open(t *testing.T) { function TestStorage_Namespaces (line 80) | func TestStorage_Namespaces(t *testing.T) { function TestStorage_MigrateTo (line 96) | func TestStorage_MigrateTo(t *testing.T) { function TestStorage_MigrateFrom (line 127) | func TestStorage_MigrateFrom(t *testing.T) { FILE: pkg/kv/legacy.go function init (line 22) | func init() { function newLegacy (line 28) | func newLegacy(opts map[string]any) (*legacy, error) { type legacy (line 50) | type legacy struct method Name (line 54) | func (l *legacy) Name() string { method MigrateTo (line 58) | func (l *legacy) MigrateTo() (Meta, error) { method MigrateFrom (line 77) | func (l *legacy) MigrateFrom(meta Meta) error { method Namespaces (line 94) | func (l *legacy) Namespaces() ([]string, error) { method Open (line 107) | func (l *legacy) Open(ns string) (storage.Storage, error) { method open (line 111) | func (l *legacy) open(ns string) (*legacyKV, error) { method Close (line 125) | func (l *legacy) Close() error { type legacyKV (line 129) | type legacyKV struct method Get (line 134) | func (l *legacyKV) Get(_ context.Context, key string) ([]byte, error) { method Set (line 150) | func (l *legacyKV) Set(_ context.Context, key string, value []byte) er... method Delete (line 156) | func (l *legacyKV) Delete(_ context.Context, key string) error { FILE: pkg/prog/prog.go function New (line 13) | func New(formatter progress.UnitsFormatter) progress.Writer { function Wait (line 44) | func Wait(ctx context.Context, pw progress.Writer) { FILE: pkg/prog/tracker.go function AppendTracker (line 13) | func AppendTracker(pw progress.Writer, formatter progress.UnitsFormatter... function EnablePS (line 29) | func EnablePS(ctx context.Context, pw progress.Writer) { FILE: pkg/ps/ps.go function Humanize (line 17) | func Humanize(ctx context.Context) []string { function init (line 33) | func init() { function GetSelfCPU (line 41) | func GetSelfCPU(ctx context.Context) (float64, error) { function GetSelfMem (line 51) | func GetSelfMem(ctx context.Context) (*process.MemoryInfoStat, error) { function GetGoroutineNum (line 60) | func GetGoroutineNum() int { FILE: pkg/tclient/app.go constant AppBuiltin (line 4) | AppBuiltin = "builtin" constant AppDesktop (line 5) | AppDesktop = "desktop" type App (line 8) | type App struct FILE: pkg/tclient/tclient.go type Options (line 16) | type Options struct function GetApp (line 24) | func GetApp(kv storage.Storage) (App, error) { function New (line 37) | func New(ctx context.Context, o Options, login bool, middlewares ...tele... FILE: pkg/tdesktop/tdesktop.go function FileKey (line 11) | func FileKey(_ string) string FILE: pkg/texpr/env.go type EnvMessage (line 10) | type EnvMessage struct type EnvMessageMedia (line 24) | type EnvMessageMedia struct function ConvertEnvMessage (line 30) | func ConvertEnvMessage(msg *tg.Message) EnvMessage { FILE: pkg/texpr/env_test.go function TestMessageExpr (line 9) | func TestMessageExpr(t *testing.T) { FILE: pkg/texpr/expr.go function Run (line 15) | func Run(program *vm.Program, env any) (any, error) { FILE: pkg/texpr/fields.go type FieldsGetter (line 11) | type FieldsGetter struct method Sprint (line 39) | func (f *FieldsGetter) Sprint(fields []*Field, colorable bool) string { method Walk (line 64) | func (f *FieldsGetter) Walk(v any) ([]*Field, error) { method walk (line 76) | func (f *FieldsGetter) walk(v reflect.Type, field *Field, fields *[]*F... type Field (line 15) | type Field struct type Options (line 21) | type Options struct type Option (line 25) | type Option function NewFieldsGetter (line 27) | func NewFieldsGetter(opts *Options) *FieldsGetter { FILE: pkg/texpr/fields_test.go function TestFieldsGetter (line 10) | func TestFieldsGetter(t *testing.T) { FILE: pkg/tmessage/files.go constant keyID (line 23) | keyID = "id" constant typeMessage (line 24) | typeMessage = "message" type fMessage (line 27) | type fMessage struct function FromFile (line 38) | func FromFile(ctx context.Context, pool dcpool.Pool, kvd storage.Storage... function parseFile (line 58) | func parseFile(ctx context.Context, client *tg.Client, kvd storage.Stora... function collect (line 82) | func collect(ctx context.Context, r io.Reader, peer peers.Peer, onlyMedi... function getChatInfo (line 120) | func getChatInfo(ctx context.Context, client *tg.Client, kvd storage.Sto... FILE: pkg/tmessage/tmessage.go type Dialog (line 7) | type Dialog struct type ParseSource (line 12) | type ParseSource function Parse (line 14) | func Parse(src ParseSource) ([]*Dialog, error) { FILE: pkg/tmessage/urls.go function FromURL (line 15) | func FromURL(ctx context.Context, pool dcpool.Pool, kvd storage.Storage,... FILE: pkg/tpath/tpath.go constant AppName (line 3) | AppName = "Telegram Desktop" type desktop (line 5) | type desktop struct method AppData (line 10) | func (desktop) AppData(homedir string) []string { FILE: pkg/tpath/tpath_darwin.go function desktopAppData (line 10) | func desktopAppData(homedir string) []string { FILE: pkg/tpath/tpath_linux.go function desktopAppData (line 12) | func desktopAppData(homedir string) []string { FILE: pkg/tpath/tpath_other.go function desktopAppData (line 5) | func desktopAppData(_ string) []string { FILE: pkg/tpath/tpath_windows.go function desktopAppData (line 11) | func desktopAppData(_ string) []string { FILE: pkg/tplfunc/date.go function Now (line 12) | func Now() Func { function FormatDate (line 20) | func FormatDate() Func { FILE: pkg/tplfunc/date_test.go function TestNow (line 12) | func TestNow(t *testing.T) { function TestFormatDate (line 35) | func TestFormatDate(t *testing.T) { function TestCustomFormat (line 70) | func TestCustomFormat(t *testing.T) { FILE: pkg/tplfunc/func.go type Func (line 7) | type Func function FuncMap (line 9) | func FuncMap(functions ...Func) template.FuncMap { function init (line 19) | func init() { FILE: pkg/tplfunc/math.go function init (line 13) | func init() { function Rand (line 17) | func Rand() Func { FILE: pkg/tplfunc/math_test.go function TestRand (line 10) | func TestRand(t *testing.T) { function TestRandPanic (line 49) | func TestRandPanic(t *testing.T) { FILE: pkg/tplfunc/string.go function Repeat (line 18) | func Repeat() Func { function Replace (line 26) | func Replace() Func { function ToUpper (line 34) | func ToUpper() Func { function ToLower (line 40) | func ToLower() Func { function SnakeCase (line 46) | func SnakeCase() Func { function CamelCase (line 54) | func CamelCase() Func { function KebabCase (line 62) | func KebabCase() Func { function Filenamify (line 70) | func Filenamify() Func { FILE: pkg/tplfunc/string_test.go function stringSlice (line 11) | func stringSlice(args []string) string { function TestRepeat (line 19) | func TestRepeat(t *testing.T) { function TestReplace (line 52) | func TestReplace(t *testing.T) { function TestReplacePanic (line 86) | func TestReplacePanic(t *testing.T) { function TestToUpper (line 109) | func TestToUpper(t *testing.T) { function TestToLower (line 140) | func TestToLower(t *testing.T) { function TestSnakeCase (line 171) | func TestSnakeCase(t *testing.T) { function TestCamelCase (line 204) | func TestCamelCase(t *testing.T) { function TestKebabCase (line 237) | func TestKebabCase(t *testing.T) { FILE: pkg/utils/byte.go type _byte (line 5) | type _byte struct method FormatBinaryBytes (line 9) | func (b _byte) FormatBinaryBytes(n int64) string { FILE: pkg/utils/cmd.go type cmd (line 11) | type cmd struct method StringEnumFlag (line 16) | func (cmd) StringEnumFlag(cmd *cobra.Command, p *string, name, shortha... type enumValue (line 26) | type enumValue struct method Set (line 31) | func (e *enumValue) Set(value string) error { method String (line 39) | func (e *enumValue) String() string { method Type (line 43) | func (e *enumValue) Type() string { function isIncluded (line 47) | func isIncluded(value string, opts []string) bool { function formatValuesForUsageDocs (line 56) | func formatValuesForUsageDocs(values []string) string { FILE: pkg/validator/validator.go function init (line 9) | func init() { function Struct (line 13) | func Struct(s interface{}) error { FILE: test/suite_test.go function TestCommand (line 23) | func TestCommand(t *testing.T) { function exec (line 48) | func exec(cmd *cobra.Command, args []string, success bool) { FILE: test/testserver/testserver.go function init (line 47) | func init() { function Setup (line 55) | func Setup(ctx context.Context, rnd rand.Source) (account string, sessio... function setupTestUser (line 68) | func setupTestUser(ctx context.Context, rnd *rand.Rand, account, session... type testAuth (line 122) | type testAuth struct method Phone (line 126) | func (t testAuth) Phone(_ context.Context) (string, error) { return... method Password (line 127) | func (t testAuth) Password(_ context.Context) (string, error) { return... method Code (line 128) | func (t testAuth) Code(_ context.Context, _ *tg.AuthSentCode) (string,... method AcceptTermsOfService (line 132) | func (t testAuth) AcceptTermsOfService(_ context.Context, _ tg.HelpTer... method SignUp (line 136) | func (t testAuth) SignUp(_ context.Context) (auth.UserInfo, error) {