Sobre el proyecto

TDLib (Telegram Database library) es una biblioteca multiplataforma para crear clientes de Telegram, utilizable desde casi cualquier lenguaje de programación. Características clave descritas en el README: - Multiplataforma: Android, iOS, Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, illumos, Windows Phone, WebAssembly, watchOS, tvOS, visionOS, Tizen y Cygwin, con otros sistemas *nix que se espera que funcionen. - Multilenguaje: utilizable desde cualquier lenguaje capaz de llamar funciones C; se incluyen enlaces nativos para Java (JNI) y .NET (C++/CLI y C++/CX). - Gestiona los detalles de implementación de red, cifrado y almacenamiento local de datos. - Totalmente asíncrono: las solicitudes no se bloquean entre sí; las respuestas se entregan cuando están disponibles. - Orden de actualizaciones consistente, estabilidad en conexiones lentas o poco fiables y cifrado de datos locales con una clave proporcionada por el usuario. - Métodos de API y interfaces públicas completamente documentados. Interfaces: - Interfaz JSON (Td::TdJson / Td::TdJsonStatic) con una interfaz C simple, recomendada para la mayoría de los casos de uso; sigue el versionado semántico para la capa JSON. - Interfaz C++ (Td::TdStatic) mediante ClientManager y Client. - Interfaz Java habilitada con -DTD_ENABLE_JNI=ON. - Interfaz .NET habilitada con -DTD_ENABLE_DOTNET=ON o -DTD_ENABLE_DOTNET=CX. Compilación: - Dependencias: compilador C++17 (Clang 5.0+, GCC 7.0+, MSVC 19.1+, Intel C++ 19+), OpenSSL, zlib, gperf (solo compilación), CMake 3.10+ (solo compilación), PHP opcional para generación de documentación. - Se proporciona un generador de instrucciones de compilación; una compilación CMake típica usa la configuración Release. Un script SplitSource.php puede reducir el uso de memoria en dispositivos con poca memoria. - Integración con CMake mediante add_subdirectory o find_package(Td ...). Documentación y ejemplos: tutorial de inicio, directorios de ejemplo para C++, Java, C#, UWP y Python (tdjson_example.py), el esquema td_api.tl y documentación HTML generada de la API. Licencia: Boost Software License.