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:
Adam Van Ymeren
2025-06-27 20:03:37 -07:00
committed by GitHub
parent 0952df0244
commit 7a04f298d2
19264 changed files with 1539697 additions and 84 deletions
+62
View File
@@ -0,0 +1,62 @@
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.structDef*/ -}}
{{ define "method" }}{{- $s := . -}}{{ if $s.Method }}
// {{ $s.Method }} invokes method {{ $s.RawType }} returning error if any.
{{- if $s.Docs }}
{{- range $d := $s.Docs }}
// {{ trim $d }}
{{- end }}
{{- end }}
{{- if $s.Links }}
{{- template "print_links" $s.Links }}
{{- end }}
{{- if $s.Errors }}
{{- template "print_errors" $s.Errors }}
{{- end }}
{{- if $s.URL }}
//
// See {{ $s.URL }} for reference.
{{- end }}
{{- if $s.BotCanUse }}
// Can be used by bots.
{{- end }}
{{- if $s.Result }}
{{- if $s.ResultSingular }}
func (c *Client) {{ $s.Method }}({{ template "request_params" $s }}) ({{ if not $s.ResultVector }}*{{ $s.Result }}{{ else }}{{ template "slice_result_name" $s }}{{ end }}, error) {
var result {{ $s.Result }}
{{ template "pack_request" $s }}
if err := c.rpc.Invoke(ctx, request, &result); err != nil {
return nil, err
}
{{- if $s.ResultVector }}
return {{ template "slice_result_name" $s }}(result.Elems), nil
{{- else }}
return &result, nil
{{- end }}
}
{{- else }}
func (c *Client) {{ $s.Method }}({{ template "request_params" $s }}) ({{if ne $s.Result "BoolClass"}}{{ $s.Result }}{{ else }}bool{{ end }}, error) {
var result {{ $s.ResultFunc }}Box
{{ template "pack_request" $s }}
if err := c.rpc.Invoke(ctx, request, &result); err != nil {
{{- if ne $s.Result "BoolClass" }}return nil, err{{- else }}return false, err{{- end }}
}
{{- if ne $s.Result "BoolClass" }}
return result.{{ $s.ResultBaseName }}, nil
{{- else }}
_, ok := result.{{ $s.ResultBaseName }}.(*BoolTrue)
return ok, nil
{{- end }}
}
{{- end }}
{{- else }}
func (c *Client) {{ $s.Method }}({{ template "request_params" $s }}) error {
var ok Ok
{{ template "pack_request" $s }}
if err := c.rpc.Invoke(ctx, request, &ok); err != nil {
return err
}
return nil
}
{{- end }}
{{ end }}{{ end }}