// Code generated by cmd/genapi. DO NOT EDIT. //go:build !ignore_autogenerated package api import ( "context" "github.com/goccy/go-json" "strconv" "github.com/lukaszraczylo/go-telegram/client" ) var _ = strconv.Itoa // keep import for multipart helpers var _ = json.Marshal // keep import for complex multipart fields {{range .Methods}} // {{title .Name}}Params is the parameter set for {{title .Name}}. // {{docComment .Doc -}} type {{title .Name}}Params struct { {{range .Params}}{{docComment .Doc}} {{goField .}} {{end}}} {{if .HasFiles}} // HasFile reports whether a multipart upload is required. func (p *{{title .Name}}Params) HasFile() bool { {{range .Params}}{{if isFileField .}}{{fileCheck .}}{{end}}{{end}} return false } // MultipartFields returns the non-file fields used in the multipart body. func (p *{{title .Name}}Params) MultipartFields() map[string]string { out := map[string]string{} {{range .Params}}{{if not (isFileField .)}}{{multipartFieldEntry .}}{{end}}{{end}} return out } // MultipartFiles returns the file parts. func (p *{{title .Name}}Params) MultipartFiles() []client.MultipartFile { var files []client.MultipartFile {{range .Params}}{{if isFileField .}}{{multipartFileEntry .}}{{end}}{{end}} return files } {{end}} // {{title .Name}} calls the {{.Name}} Telegram Bot API method. // {{docComment .Doc -}} func {{title .Name}}(ctx context.Context, b *client.Bot, p *{{title .Name}}Params) ({{returnGoType .Returns}}, error) { {{if isSealedUnionReturn .Returns -}} raw, err := client.CallRaw[*{{title .Name}}Params](ctx, b, "{{.Name}}", p) if err != nil { return nil, err } return Unmarshal{{.Returns.Name}}(raw) {{else -}} return client.Call[*{{title .Name}}Params, {{returnGoType .Returns}}](ctx, b, "{{.Name}}", p) {{end -}} } {{end}}