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
+30
View File
@@ -0,0 +1,30 @@
{{ define "zero_derive" }}{{ $s := . }}
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.structDef*/ -}}
func ({{ $s.Receiver }} *{{ $s.Name }}) Zero() bool {
if {{ $s.Receiver }} == nil {
return true
}
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.fieldDef*/ -}}
{{- range $f := $s.Fields }}{{- if ne ($f.Name) ($f.ConditionalField) }}
if !({{ $s.Receiver }}.{{template "compare_zero" $f}}) {
return false
}
{{- end }}{{- end }}
return true
}
{{- end -}}
{{ define "compare_zero" }}
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.fieldDef*/ -}}
{{- .Name -}}
{{- if or (.Slice) (.DoubleSlice) -}} == nil
{{- else if eq (.Type) ("bin.Int128") -}} == bin.Int128{}
{{- else if eq (.Type) ("bin.Int256") -}} == bin.Int256{}
{{- else if or (hasPrefix (.Type) ("int")) (hasPrefix (.Type) ("float")) }} == 0
{{- else if eq (.Type) ("string") -}} == ""
{{- else if eq (.Type) ("bool") -}} == false
{{- else if eq (.Type) ("bin.Object") }} == nil
{{- else if hasSuffix (.Type) ("Class") }} == nil
{{- else -}}.Zero()
{{- end -}}{{- end }}