MTProto Native
Direct MTProto protocol implementation with full Layer support, not a Bot API wrapper. Access every Telegram feature.
Fast, idiomatic, and feature-complete Go library for the Telegram MTProto API

Direct MTProto protocol implementation with full Layer support, not a Bot API wrapper. Access every Telegram feature.
Ergonomic context-based handlers, composable filters, and bound methods on messages and chats that feel natural in Go.
Call any raw TL method via client.Raw() with full access to generated types. No abstraction limits — the entire MTProto API at your fingertips.
TL schema compiler generates type-safe Go structs for every Telegram type and RPC call. Zero manual binding.
Extensible plugin architecture with official plugins for i18n, conversations, and more. Build your own with the plugin template.
Upload and download files of any size with streaming support, progress tracking, and CDN fallback.
TCP, WebSocket, and NetPoll transports. Connect from any network environment including restrictive firewalls.
SQLite, PostgreSQL, MongoDB, Redis, GORM, and in-memory storage backends. Import sessions from Telethon, Pyrogram, GramJS, mtcute, and tdesktop.
Invoker-level middleware for rate limiting, flood wait handling, and retries. Handler-level middleware for auth, logging, and i18n. Build your own with the middleware template.
Install the MTGo skill for your AI coding agent (`npx skills add mtgo-labs/mtgo`) and get in-editor documentation, patterns, and conventions.