mirror of
https://github.com/lukaszraczylo/go-telegram.git
synced 2026-06-05 22:43:59 +00:00
ac7cae8fa7
A fully-generated, strongly-typed Go client for the Telegram Bot API. * 176 methods + 301 types generated from Bot API v10.0 * 1408 auto-generated tests (8 scenarios per method) * Typed unions throughout — no 'any' in the public surface * Pluggable HTTP transport and JSON codec (default goccy/go-json) * Built-in retry middleware honouring Telegram's retry_after * Generic dispatcher with filters and conversation handlers * Self-verifying codegen pipeline (regen → audit → emit → run tests) * 14 example bots covering common patterns
20 lines
609 B
Go
20 lines
609 B
Go
package client
|
|
|
|
// Logger is a slog-shaped logging interface. Users pass any compatible
|
|
// implementation via WithLogger. The default is NoopLogger, which discards
|
|
// everything.
|
|
type Logger interface {
|
|
Debug(msg string, attrs ...any)
|
|
Info(msg string, attrs ...any)
|
|
Warn(msg string, attrs ...any)
|
|
Error(msg string, attrs ...any)
|
|
}
|
|
|
|
// NoopLogger discards all log records. It is the zero-value safe default.
|
|
type NoopLogger struct{}
|
|
|
|
func (NoopLogger) Debug(string, ...any) {}
|
|
func (NoopLogger) Info(string, ...any) {}
|
|
func (NoopLogger) Warn(string, ...any) {}
|
|
func (NoopLogger) Error(string, ...any) {}
|