عن المشروع

TDLib (مكتبة قاعدة بيانات Telegram) هي مكتبة متعددة المنصات لبناء عملاء Telegram، ويمكن استخدامها من أي لغة برمجة تقريبًا. الخصائص الرئيسية الموصوفة في ملف README: - متعددة المنصات: Android وiOS وWindows وmacOS وLinux وFreeBSD وOpenBSD وNetBSD وillumos وWindows Phone وWebAssembly وwatchOS وtvOS وvisionOS وTizen وCygwin، مع توقع عمل أنظمة *nix أخرى. - متعددة اللغات: يمكن استخدامها من أي لغة قادرة على استدعاء دوال C؛ وتشمل روابط أصلية لـ Java (JNI) و.NET (C++/CLI وC++/CX). - تتعامل مع تفاصيل تنفيذ الشبكة والتشفير وتخزين البيانات محليًا. - غير متزامنة بالكامل: الطلبات لا تحجب بعضها البعض؛ يتم تسليم الاستجابات عندما تكون متاحة. - ترتيب تحديثات متسق، واستقرار على الاتصالات البطيئة أو غير الموثوقة، وتشفير البيانات المحلية بمفتاح يوفره المستخدم. - واجهات برمجة تطبيقات وواجهات عامة موثقة بالكامل. الواجهات: - واجهة JSON (Td::TdJson / Td::TdJsonStatic) مع واجهة C بسيطة، موصى بها لمعظم حالات الاستخدام؛ تتبع الإصدارات الدلالية لطبقة JSON. - واجهة C++ (Td::TdStatic) عبر ClientManager وClient. - واجهة Java مفعلة باستخدام -DTD_ENABLE_JNI=ON. - واجهة .NET مفعلة باستخدام -DTD_ENABLE_DOTNET=ON أو -DTD_ENABLE_DOTNET=CX. البناء: - التبعيات: مترجم C++17 (Clang 5.0+ أو GCC 7.0+ أو MSVC 19.1+ أو Intel C++ 19+) وOpenSSL وzlib وgperf (للبناء فقط) وCMake 3.10+ (للبناء فقط) وPHP اختياري لتوليد التوثيق. - يتم توفير مولّد لتعليمات البناء؛ ويستخدم بناء CMake النموذجي تكوين Release. يمكن لبرنامج SplitSource.php تقليل استخدام الذاكرة على الأجهزة منخفضة الذاكرة. - تكامل CMake عبر add_subdirectory أو find_package(Td ...). التوثيق والأمثلة: برنامج تعليمي للبدء، ودلائل أمثلة لـ C++ وJava وC# وUWP وPython (tdjson_example.py)، ومخطط td_api.tl، وتوثيق HTML مولّد لواجهة البرمجة. الترخيص: رخصة Boost Software.