30 open-source projects similar to pyrogram/pyrogram, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pyrogram alternative.
MadelineProto is an asynchronous PHP library that provides a programmatic interface for interacting with the Telegram API using the MTProto protocol, the same protocol used by official Telegram clients. It functions as both a Telegram bot SDK and a userbot automation library, enabling PHP applications to connect to Telegram as either a bot account or a regular user account, sending and receiving messages, media, and other data directly without relying on the Bot API intermediary. The library is built on an event-driven architecture with Amp v3 fiber-based concurrency, allowing for non-blockin
This project is a cross-platform messaging SDK and client development library used to build custom Telegram applications. It functions as a comprehensive framework that manages network encryption, local data storage, and API communication, providing a C-compatible JSON interface that allows integration with any programming language. The library distinguishes itself by providing a full database manager for encrypted local caching and synchronized state, alongside a dedicated bot framework for creating interactive bots with business account integration. It enables the implementation of speciali
This project is a Telegram command line interface and MTProto client. It functions as a userbot framework, providing a terminal-based environment to interact with Telegram accounts without a graphical user interface. The system differentiates itself through extensibility, offering Python bindings and a Lua scripting engine to automate account tasks and respond to messages. It also serves as a JSON-based chat exporter, capable of extracting user metadata and conversation histories into structured files. The client covers core messaging capabilities, including text exchange, group chat managem
This is a Go package that wraps the Telegram Bot API, providing a client library for building automated bot applications. It handles the core tasks of authenticating a bot with an API token and then sending messages or receiving updates through either long-polling or webhooks. The library supports sending text and media messages to Telegram chats, with the ability to reply to specific messages in a conversation. For receiving updates, it offers both a configurable long-polling loop that processes updates as they arrive and a webhook receiver that accepts incoming HTTPS requests from Telegram
AyuGramDesktop is a modified Telegram desktop client and MTProto messaging client. It functions as a local message logger and a privacy-focused chat tool, providing a fork of the standard C++ Qt client. The project focuses on unlocking premium features and capabilities locally without a paid subscription. It distinguishes itself through a ghost mode that masks online presence and suppresses read receipts, as well as a system for preserving message history by logging deleted and edited content into a local database. The client includes tools for content management, such as bypassing restricti
JDA is a Java wrapper for the Discord API, providing a framework for building automated agents and integrating applications with the chat platform. It functions as both a REST API client for managing server entities and a gateway client that maintains persistent WebSocket connections for real-time state updates. The library features a comprehensive voice API module for managing audio streaming, voice channel connectivity, and soundboard integration. It also includes a specialized toolkit for interactive UI design, enabling the creation of slash commands, buttons, select menus, and modal input
wechatpy is a Python API SDK designed for interacting with official accounts, mini programs, and corporate communication APIs. It provides a unified interface for managing users, media, and messages, and includes a bot framework for processing incoming events and generating structured responses. The project implements a component-based client factory to perform actions across different account types and orchestrates OAuth2 flows for identity verification. It features an event-driven bot architecture and a pluggable token storage system to persist authentication sessions across environments.
wxauto is a Python library and bot framework designed for the programmatic control of the WeChat Windows desktop client. It functions as a wrapper that enables the automation of messaging and social feed functions by simulating user interface interactions. The library distinguishes itself by providing a bridge between network requests and local UI automation, allowing users to expose automation capabilities via a web interface. It utilizes background execution and simulated system-level inputs to trigger application events without moving the physical mouse cursor. The project covers extensiv
This project is a Node.js framework designed for headless browser automation, enabling the creation of automated messaging clients. It functions by controlling a headless browser instance to programmatically interact with the messaging interface, allowing developers to simulate user sessions and manage complex chat workflows. The library distinguishes itself through its comprehensive session management and event-driven architecture. It supports persistent authentication by serializing session data to local or remote storage, ensuring that automated clients can maintain continuous connectivity
Webogram is an open-source web application that connects to the Telegram messaging platform, enabling users to send and receive messages directly through a web browser without installing native desktop or mobile applications. It implements Telegram's custom cryptographic protocol for secure client-server communication over WebSocket and HTTP long polling. The project can be deployed as a self-hosted instance by building a minimized production version for copying to a personal or organizational web server. It also supports packaging as a Chrome extension for offline use and browser integration
tdl is a command-line tool for Telegram account automation, media management, and data archiving. It provides a programmatic interface for downloading and uploading files, forwarding messages, and exporting chat history, member lists, and media into structured JSON files. The project distinguishes itself through a session management system that isolates multiple account identities using unique namespaces. It features expression-based routing for messages and uploads, allowing users to direct content to specific destination chats using custom logic and dynamic caption generation. The tool cov
Teloxide is a Rust application framework and API wrapper designed for building Telegram bots. It provides a programmatic interface for receiving updates and sending messages via the Telegram Bot API, utilizing a declarative pipeline of filters and handlers. The framework includes a bot dialogue manager that uses a finite-state machine to track user sessions and conversation flows. This state management system supports pluggable persistence backends, including memory, Redis, and Sqlite. The library covers asynchronous message routing and update reception through either long-polling or webhook
Unigram is an open-source Telegram client that provides multimedia messaging and voice-and-video calling. It connects to the Telegram network, enabling users to send text, media, stickers, polls, and scheduled messages, and to initiate private or group calls with screen sharing and hand-raising features. A key differentiator is its support for managing multiple Telegram accounts simultaneously, with custom folder-based organization that synchronizes across devices. The client runs background tasks to poll for new messages and persist updates to a local encrypted SQLite database, ensuring offl
TelegramBots is a bot framework for Java and a client for the Telegram messaging platform. It provides the tools necessary to build automated assistants that communicate with the messaging API to send and receive messages and manage user interactions. The project enables the creation of conversational interfaces through custom keyboards and inline buttons. It supports the delivery of multimedia content, allowing bots to send and receive documents, photos, and other media files. The framework handles bot updates via polling or webhooks and supports the implementation of automated messaging wo
Webmin is a web-based administration interface for Unix systems. It provides a centralized console for managing the full range of server administration tasks — users and groups, software packages, storage, network configuration, system services, and security — all through a browser. Its modular architecture allows separate modules to handle databases (MySQL, MariaDB, PostgreSQL), web servers (Apache), DNS (BIND), email (Sendmail, Dovecot), file sharing (Samba, NFS), and more, with a unified access control system that restricts what each administrator can see and do. What sets Webmin apart is
Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o
JDA is a Java library that serves as a Discord API wrapper, bot framework, and voice API client. It enables applications to interact with the Discord REST API and real-time gateway to build automated assistants, manage servers, and handle user interactions. The project includes a sharding manager to distribute gateway connections across multiple shards for scaling high-volume deployments. It also provides a UI component library for constructing interactive buttons, select menus, and modal forms within messages. Its capabilities cover voice and audio management, including audio streaming and
This project is a PHP library and development kit for building bots that interact with the Telegram Bot API. It provides a framework for handling user messages, managing inline queries, and delivering media content through both webhooks and polling. The framework includes a data management layer for storing user profiles, chat histories, and bot states in a relational database to maintain continuity across sessions. It also features administrative access restrictions to limit the execution of sensitive tasks to verified user identifiers. The system covers a broad set of capabilities includin
TelegramSwift is a native macOS client for the Telegram messaging platform, built entirely in Swift. It provides a complete implementation of the Telegram protocol, enabling users to send text messages, make voice calls, share media files, and participate in group chats and channels directly from their Mac. The application supports core messaging features including end-to-end encryption, emoji reactions, message pinning, and threaded comments, along with content types like stickers, GIFs, polls, and stories. The client extends beyond basic messaging with capabilities for bot interaction, paym
aiogram is an asynchronous framework for building Telegram bots in Python. It provides a complete toolkit for interacting with the Telegram Bot API, handling incoming updates, and managing bot state through a built-in finite state machine. The framework is designed around an event-driven architecture that routes messages and other updates to handler functions using a flexible dispatching system. The framework distinguishes itself through its middleware system, which allows developers to intercept and modify both incoming updates and outgoing API calls. It supports a wide range of Telegram-spe
open62541 is an open-source implementation of the OPC Unified Architecture standard, providing a complete stack for industrial automation and data exchange. It functions as both an OPC UA server and client, enabling the creation of an object-oriented address space to model physical industrial assets and their relationships. The project is designed for versatility across diverse hardware, offering a C99 library that can be deployed to both cloud servers and resource-constrained embedded environments. It distinguishes itself through a pluggable network layer and interface-based security backend
Grant is an OAuth authentication proxy that interfaces applications with third-party identity providers to manage handshakes and token exchanges through a transparent proxy layer. It provides a secure OAuth client implementation that validates OpenID Connect tokens and manages multi-provider identity under a unified configuration. The project differentiates itself through support for serverless authentication flows, allowing the proxy logic to be deployed as cloud functions. It implements advanced security mechanisms including Proof Key for Code Exchange and private key JWT authentication to
Polar is a digital product monetization engine and subscription management system. It serves as a merchant of record platform that handles global sales tax and VAT compliance, providing the infrastructure for selling subscriptions and one-time digital goods via hosted checkouts and embedded payment flows. The project functions as an entitlement and access manager, automating the granting and restriction of digital benefits, license keys, and third-party platform roles. It includes a dedicated usage-based billing infrastructure that tracks customer activity through meters to apply aggregation
WildfireChat’s im-server is an open-source instant messaging backend that handles message routing, user management, and group chat for private deployments. It provides a self-hosted messaging platform that can run on private infrastructure without third-party cloud dependencies, supporting enterprise messaging with group management, user directories, and external system integration. The server synchronizes messages and state across mobile, desktop, web, and mini-program clients simultaneously, and supports real-time audio/video calls with group conferencing and live streaming. It includes enc
Stack Auth is an open-source authentication and authorization platform that provides pre-built UI components, OAuth integration, team management, and session handling for web applications. It offers a complete authentication lifecycle covering sign-in, sign-up, session management, password recovery, and multi-factor security, with support for passkey authentication and OAuth providers including Google, GitHub, and Apple. The platform includes a team-based permission system with role-based access control, allowing users to be organized into teams with granular permissions for membership manage
InsForge is a backend-as-a-service platform that provides an integrated suite of tools for managing relational databases, identity provision, object storage, and serverless compute. It functions as an open-source identity provider and a PostgreSQL database manager featuring integrated vector storage and row-level security. The platform serves as an LLM orchestration gateway, offering a unified endpoint to route requests across various AI providers through an OpenAI-compatible interface. It enables AI-driven application generation and connects AI agents to backend resources using a standardize
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments into structured API calls, enabling administrators to manage users, groups, organizational units, and domain settings across a Google Workspace environment. The tool handles authentication through OAuth2 flows, service accounts, and workload identity federation, and supports multi-tenant configurations for managing multiple domains or cloud projects from a single installation. GAM distinguishes itself through its batch processing and automation capabilities. It can process la
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t