# telegramdesktop/tdesktop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/telegramdesktop-tdesktop).**

29,898 stars · 6,286 forks · C++ · other

## Links

- GitHub: https://github.com/telegramdesktop/tdesktop
- Homepage: https://desktop.telegram.org/
- awesome-repositories: https://awesome-repositories.com/repository/telegramdesktop-tdesktop.md

## Topics

`messenger` `multi-platform` `telegram` `telegram-desktop` `telegram-solution`

## Description

This project is a cross-platform messaging client that implements a secure, real-time communication protocol. It provides a comprehensive development toolkit, including a database library and messaging SDK, which allows for the creation of custom messaging applications that maintain synchronized state across multiple devices. The core architecture relies on an asynchronous event-driven model to ensure responsive performance while managing persistent local database synchronization with server-side state.

The client distinguishes itself through a robust end-to-end encryption layer that supports forward secrecy for private messages, voice calls, and video calls. It features an integrated framework for building and managing interactive bots and embedded web applications, which run directly within the native interface. This ecosystem is supported by a formal, versioned schema-driven protocol that enables automated type-safe code generation for network communication.

Beyond core messaging, the platform includes extensive capabilities for group administration, business automation, and content monetization. It supports a wide range of interactive features such as message threading, reactions, scheduled delivery, and rich media handling, alongside tools for geolocation sharing and community discovery. The interface is highly customizable, allowing for personalized themes, chat organization, and expressive visual elements like animated stickers and emojis.

The repository provides the foundational runtime and source code necessary to build and deploy these messaging clients across various operating systems.

## Tags

### Development Tools & Productivity

- [Client Development Kits](https://awesome-repositories.com/f/development-tools-productivity/client-development-kits.md) — Telegram provides a database library to create fast and secure messaging applications without building from scratch. ([source](https://core.telegram.org/api))
- [API Client Libraries](https://awesome-repositories.com/f/development-tools-productivity/api-client-libraries.md) — Provides comprehensive API access for platform integration and custom client development. ([source](https://core.telegram.org/api))
- [Messaging SDKs](https://awesome-repositories.com/f/development-tools-productivity/messaging-sdks.md) — Provides low-level access to messaging infrastructure, database management, and real-time event synchronization.
- [Schema Definitions](https://awesome-repositories.com/f/development-tools-productivity/schema-definitions.md) — Telegram allows downloading formal schema definitions in a standard format to facilitate client-side integration and automated type generation. ([source](https://core.telegram.org/api))
- [Cross-Platform Development Libraries](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-development-libraries.md) — "Encapsulates complex networking, encryption, and data storage logic into a reusable library to ensure consistent behavior across different client platforms."

### Networking & Communication

- [Real-Time Messaging Systems](https://awesome-repositories.com/f/networking-communication/real-time-messaging-systems.md) — Builds applications that require low-latency message delivery, live updates, and synchronized state across multiple user devices.
- [Bot Interaction Orchestration](https://awesome-repositories.com/f/networking-communication/bot-interaction-orchestration.md) — Telegram manages bot state and actions through the underlying messaging infrastructure. ([source](https://core.telegram.org/api))
- [Messaging Clients](https://awesome-repositories.com/f/networking-communication/messaging-clients.md) — Implements a secure, real-time messaging protocol for synchronized communication across multiple devices.
- [Real-time Event Streams](https://awesome-repositories.com/f/networking-communication/real-time-event-streams.md) — Telegram subscribes to event streams and processes incoming data to keep the local client state synchronized with the server. ([source](https://core.telegram.org/api))
- [Bot Command Interfaces](https://awesome-repositories.com/f/networking-communication/bot-command-interfaces.md) — Telegram allows defining custom commands to trigger specific bot actions directly from chat interfaces. ([source](https://core.telegram.org/api))
- [Bot Frameworks](https://awesome-repositories.com/f/networking-communication/bot-frameworks.md) — Telegram links specialized accounts that do not require a phone number to the messaging system for automated tasks. ([source](https://core.telegram.org/api))
- [Group Messaging Systems](https://awesome-repositories.com/f/networking-communication/group-messaging-systems.md) — Telegram controls different types of group chats by understanding their unique properties and functional differences. ([source](https://core.telegram.org/api))
- [Inline Query Interfaces](https://awesome-repositories.com/f/networking-communication/inline-query-interfaces.md) — Enables developers to build interactive interfaces that provide structured responses to user queries directly within the chat flow. ([source](https://core.telegram.org/api/bots/inline))
- [Broadcast Messaging Channels](https://awesome-repositories.com/f/networking-communication/broadcast-messaging-channels.md) — Telegram sends messages to unlimited audiences using channels that support public URLs and view counters. ([source](https://core.telegram.org/api/channel))
- [Connection Management](https://awesome-repositories.com/f/networking-communication/connection-management.md) — Telegram connects to the nearest access point to reduce network latency and ensure reliable communication. ([source](https://core.telegram.org/api))
- [Inline Query Processors](https://awesome-repositories.com/f/networking-communication/inline-query-processors.md) — Telegram sends user input to a bot and handles paginated result sets returned for display within the chat. ([source](https://core.telegram.org/api/bots/inline))
- [Message Reactions](https://awesome-repositories.com/f/networking-communication/message-reactions.md) — Allows users to attach emoji reactions to messages to express sentiment. ([source](https://core.telegram.org/api))
- [Message Synchronization](https://awesome-repositories.com/f/networking-communication/message-synchronization.md) — Synchronizes unsent messages across multiple devices for seamless continuity. ([source](https://core.telegram.org/api))
- [Push Notification Handlers](https://awesome-repositories.com/f/networking-communication/push-notification-handlers.md) — Telegram configures alert subscriptions to receive timely notifications for new messages while the application runs in the background. ([source](https://core.telegram.org/api))
- [User Mentions](https://awesome-repositories.com/f/networking-communication/user-mentions.md) — Facilitates direct notification of specific users within group conversations. ([source](https://core.telegram.org/api))
- [Bot Metadata Discovery](https://awesome-repositories.com/f/networking-communication/bot-metadata-discovery.md) — Telegram fetches supported commands and associated metadata for display within the user interface. ([source](https://core.telegram.org/api/bots/commands))
- [Contact Management](https://awesome-repositories.com/f/networking-communication/contact-management.md) — Adds, removes, and retrieves contact information through the platform interface. ([source](https://core.telegram.org/api))
- [Invite Link Management](https://awesome-repositories.com/f/networking-communication/invite-link-management.md) — Manages group and channel access through configurable invite links. ([source](https://core.telegram.org/api))
- [Message Pinning](https://awesome-repositories.com/f/networking-communication/message-pinning.md) — Allows pinning important messages to the top of chats for improved visibility. ([source](https://core.telegram.org/api))
- [Message Threading](https://awesome-repositories.com/f/networking-communication/message-threading.md) — Organizes discussions into threads for better clarity in busy channels. ([source](https://core.telegram.org/api))
- [Network Optimization](https://awesome-repositories.com/f/networking-communication/network-optimization.md) — Telegram implements caching and request batching to reduce latency and improve overall client application performance. ([source](https://core.telegram.org/api))

### Security & Cryptography

- [Encryption Protocols](https://awesome-repositories.com/f/security-cryptography/encryption-protocols.md) — "Establishes secure communication channels using temporary and permanent key exchanges to ensure message privacy and forward secrecy."
- [End-to-End Encryption](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption.md) — Telegram establishes secure communication channels between users to prevent third-party access to message content. ([source](https://core.telegram.org/api))
- [End-to-End Encryption Protocols](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption-protocols.md) — Implements robust encryption and authentication flows to protect user privacy and sensitive data during transmission.
- [Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/authentication-strategies.md) — Telegram initiates active user sessions by registering phone numbers and verifying received authentication codes. ([source](https://core.telegram.org/api))
- [Multi-Factor Authentication](https://awesome-repositories.com/f/security-cryptography/multi-factor-authentication.md) — Telegram secures account access by verifying secondary passwords or updating credentials for protected user accounts. ([source](https://core.telegram.org/api))
- [Call Encryption](https://awesome-repositories.com/f/security-cryptography/call-encryption.md) — Telegram secures audio and video calls to ensure data remains private and inaccessible to unauthorized parties. ([source](https://core.telegram.org/api))
- [Forward Secrecy Mechanisms](https://awesome-repositories.com/f/security-cryptography/forward-secrecy-mechanisms.md) — Telegram binds temporary keys to permanent ones to ensure past session traffic remains secure if keys are compromised. ([source](https://core.telegram.org/api))
- [Secure Communication Runtimes](https://awesome-repositories.com/f/security-cryptography/secure-communication-runtimes.md) — Handles end-to-end encryption for private chats and voice calls to ensure data privacy.
- [Session Management](https://awesome-repositories.com/f/security-cryptography/session-management.md) — Telegram processes authorization tokens to authenticate users securely across different platforms and web services. ([source](https://core.telegram.org/api))
- [Bot Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/bot-authentication-strategies.md) — Telegram authorizes bot sessions using unique identifiers and generated tokens to access restricted communication methods. ([source](https://core.telegram.org/api/bots))
- [Privacy Configuration](https://awesome-repositories.com/f/security-cryptography/privacy-configuration.md) — Adjusts granular settings to control user visibility and interaction permissions. ([source](https://core.telegram.org/api))
- [Multi-Device Authentication](https://awesome-repositories.com/f/security-cryptography/multi-device-authentication.md) — Telegram supports account authorization by scanning codes with existing devices to establish secure sessions without manual entry. ([source](https://core.telegram.org/api))
- [Verification Protocols](https://awesome-repositories.com/f/security-cryptography/verification-protocols.md) — Telegram streamlines login by requesting verification codes for phone numbers and providing tokens for session initiation. ([source](https://core.telegram.org/api/auth))
- [Access Control Lists](https://awesome-repositories.com/f/security-cryptography/access-control-lists.md) — Provides functionality to manage user blocklists and restrict access to profiles and content within the messaging environment. ([source](https://core.telegram.org/api/block))
- [Application Credentials](https://awesome-repositories.com/f/security-cryptography/application-credentials.md) — Telegram enables developers to obtain unique application identifiers required for accessing platform services and external communication interfaces. ([source](https://core.telegram.org/api))
- [Authentication Protocols](https://awesome-repositories.com/f/security-cryptography/authentication-protocols.md) — Telegram delivers authorization codes through messaging instead of traditional SMS to lower costs and increase security. ([source](https://core.telegram.org/api))
- [Automated Moderation](https://awesome-repositories.com/f/security-cryptography/automated-moderation.md) — Telegram enables automated filtering for groups to proactively detect and remove unwanted content. ([source](https://core.telegram.org/api/antispam))
- [Moderation Tools](https://awesome-repositories.com/f/security-cryptography/moderation-tools.md) — Provides mechanisms for managing restricted user lists and enforcing community moderation policies. ([source](https://core.telegram.org/api))

### Artificial Intelligence & ML

- [Chat Bot Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/chat-bot-frameworks.md) — Creates automated agents that handle user queries, manage group interactions, and provide structured interfaces within a chat environment.
- [Bot Platforms](https://awesome-repositories.com/f/artificial-intelligence-ml/bot-platforms.md) — Provides a framework for building and managing automated accounts that interact with users through custom keyboards, commands, and inline queries.
- [Speech-to-Text Services](https://awesome-repositories.com/f/artificial-intelligence-ml/speech-to-text-services.md) — Converts audio messages into text format to allow users to read content without playing audio. ([source](https://core.telegram.org/api))

### Data & Databases

- [Data Synchronization Engines](https://awesome-repositories.com/f/data-databases/data-synchronization-engines.md) — "Maintains a persistent local database that mirrors server-side state, enabling offline access and efficient incremental updates via event streams."
- [Message Search](https://awesome-repositories.com/f/data-databases/message-search.md) — Provides text-based search and filtering to retrieve historical chat content. ([source](https://core.telegram.org/api))
- [Cloud Storage](https://awesome-repositories.com/f/data-databases/cloud-storage.md) — Uses personal cloud storage to bookmark and forward messages or media for later access. ([source](https://core.telegram.org/api))
- [Data Pagination Utilities](https://awesome-repositories.com/f/data-databases/data-pagination-utilities.md) — Telegram fetches large datasets incrementally using pagination logic to retrieve objects without overloading client memory. ([source](https://core.telegram.org/api))

### Mobile Development

- [Cross-Platform Frameworks](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks.md) — Builds custom messaging applications that maintain consistent behavior and data synchronization across different operating systems.

### System Administration & Monitoring

- [Group Access Controls](https://awesome-repositories.com/f/system-administration-monitoring/group-access-controls.md) — Provides granular control over member activity, permissions, and moderation rules. ([source](https://core.telegram.org/api))
- [Community Administration Tools](https://awesome-repositories.com/f/system-administration-monitoring/community-administration-tools.md) — Telegram manages large-scale groups with advanced controls for geolocation, topic organization, and member permissions. ([source](https://core.telegram.org/api/channel))
- [Engagement Analytics](https://awesome-repositories.com/f/system-administration-monitoring/engagement-analytics.md) — Retrieves detailed analytical data to monitor channel engagement and growth. ([source](https://core.telegram.org/api))

### Web Development

- [Mini App Frameworks](https://awesome-repositories.com/f/web-development/mini-app-frameworks.md) — Provides a comprehensive toolkit for building and integrating interactive web-based mini-apps directly within the messaging environment. ([source](https://core.telegram.org/api))
- [Embedded Web Runtimes](https://awesome-repositories.com/f/web-development/embedded-web-runtimes.md) — Builds interactive web-based applications that run directly inside a messaging interface to provide seamless user experiences.
- [Mini App Runtimes](https://awesome-repositories.com/f/web-development/mini-app-runtimes.md) — Hosts interactive web-based applications within a native interface for seamless user experiences.
- [Web-Native Integration Bridges](https://awesome-repositories.com/f/web-development/web-native-integration-bridges.md) — Telegram provides JavaScript interfaces to web content to enable interaction between web applications and the native client. ([source](https://core.telegram.org/api))

### Business & Productivity Software

- [Subscription Management](https://awesome-repositories.com/f/business-productivity-software/subscription-management.md) — Creates recurring billing models for bots and channels to charge for exclusive content or services. ([source](https://core.telegram.org/api))
- [Communication Automation](https://awesome-repositories.com/f/business-productivity-software/communication-automation.md) — Sets up greeting and away messages to manage customer communication when unavailable. ([source](https://core.telegram.org/api/business))
- [Paid Content Access](https://awesome-repositories.com/f/business-productivity-software/paid-content-access.md) — Requires virtual currency payments to unlock and view specific photos or videos posted by creators. ([source](https://core.telegram.org/api))
- [Payment Gateways](https://awesome-repositories.com/f/business-productivity-software/payment-gateways.md) — Interacts with native payment infrastructure to handle financial transactions within applications. ([source](https://core.telegram.org/api))
- [Automated Chatbots](https://awesome-repositories.com/f/business-productivity-software/automated-chatbots.md) — Connects external chatbots to business accounts for automated support and programmatic task handling. ([source](https://core.telegram.org/api/business))
- [Business Communication Suites](https://awesome-repositories.com/f/business-productivity-software/business-communication-suites.md) — Telegram configures professional settings like location, quick replies, and automated messages to enhance business communication. ([source](https://core.telegram.org/api))
- [Paid Messaging](https://awesome-repositories.com/f/business-productivity-software/paid-messaging.md) — Charges a fee in virtual currency before messages are delivered to specific users or groups. ([source](https://core.telegram.org/api))

### Software Engineering & Architecture

- [Event-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures.md) — "Processes incoming server updates and user interactions through an asynchronous event loop to ensure responsive UI performance."
- [Protocol Serialization Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/protocol-serialization-frameworks.md) — "Uses a formal, versioned schema definition to automatically generate type-safe code for serializing and deserializing binary network messages."

### Game Development

- [Embedded Game Interfaces](https://awesome-repositories.com/f/game-development/embedded-game-interfaces.md) — Telegram embeds web-based games into interfaces to allow users to play solo or compete against others. ([source](https://core.telegram.org/api))

### User Interface & Experience

- [Interactive Chat Controls](https://awesome-repositories.com/f/user-interface-experience/interactive-chat-controls.md) — Telegram defines rows of interactive buttons that trigger specific actions like opening links or requesting user data. ([source](https://core.telegram.org/api/bots/buttons))
- [Web Integration Bridges](https://awesome-repositories.com/f/user-interface-experience/web-integration-bridges.md) — "Exposes native functionality to embedded web applications through a secure bridge, allowing seamless interaction between web content and the host."
- [Interactive Message Components](https://awesome-repositories.com/f/user-interface-experience/interactive-message-components.md) — Telegram embeds clickable buttons within messages to provide users with structured options for interaction. ([source](https://core.telegram.org/api))
- [Text Formatting](https://awesome-repositories.com/f/user-interface-experience/text-formatting.md) — Applies rich formatting to messages using entity definitions. ([source](https://core.telegram.org/api))
- [Theming Engines](https://awesome-repositories.com/f/user-interface-experience/theming-engines.md) — Telegram applies specific color palettes and visual patterns to interface elements to ensure the application matches brand identity. ([source](https://core.telegram.org/api))
