فاز هذا المشروع بالجائزة الأولى؟ في Telegram Lightweight Client Contest وهو الآن عميل Telegram رسمي متاح لأي شخص على web.telegram.org/a.
وفقًا لقواعد المسابقة الأصلية، فهي تحتوي على ما يقرب من صفر من التبعيات وتعتمد بالكامل على إطار عمل Teact الخاص بها (الذي يعيد تنفيذ نموذج React). ويستخدم أيضًا إصدارًا مخصصًا من GramJS كتطبيق MTProto.
يشتمل المشروع على الكثير من الميزات المتقدمة تقنيًا وواجهات برمجة تطبيقات الويب الحديثة والتقنيات: WebSockets وWeb Workers وWebAssembly والتخزين المؤقت متعدد المستويات وPWA والتسجيل الصوتي وتدفق الوسائط والتشفير وعمليات البيانات الثنائية الخام والواجهات المتفائلة والتقدمية وCSS/ المعقدة. الرسوم المتحركة لـ Canvas/SVG، وتدفقات البيانات التفاعلية، وغير ذلك الكثير.
لا تتردد في الاستكشاف وتقديم التعليقات والمساهمة.
mv .env.example .env
npm i
احصل على معرف واجهة برمجة التطبيقات (API) وتجزئة واجهة برمجة التطبيقات (API) على my.telegram.org وقم بتعبئة ملف .env
.
npm run dev
ابدأ تشغيل خادم التطوير الخاص بك وحدد موقع عامل GramJS في سياق وحدة التحكم.
جميع المنشئات والوظائف متوفرة في متغير GramJs
العالمي.
قم بتشغيل npm run gramjs:tl full
للوصول إلى جميع طلبات Telegram المتاحة.
مثال على الاستخدام:
await invoke ( new GramJs . help . GetAppConfig ( ) )
يتيح Electron إنشاء تطبيق أصلي يمكن تثبيته على أنظمة التشغيل Windows وmacOS وLinux.
npm run dev:electron
قم بتشغيل Electron في وضع التطوير، ويبدأ 3 عمليات بشكل متزامن مع مراقبة التغييرات: الرئيسية (عملية الإلكترون الرئيسية)، والعارض (رمز FE)، وWebpack for Electron (يجمع عملية الإلكترون الرئيسية من TypeScript).
npm run electron:webpack
تتم كتابة كود العملية الرئيسي لـ Electron، والذي يتضمن وظيفة التحميل المسبق، في TypeScript ويتم تجميعه باستخدام تكوين webpack-electron.config.js
لإنشاء كود JavaScript.
npm run electron:build
يتم استخدام إعداد بناء العارض (رمز FE)، وتجميع كود العملية الرئيسية للإلكترون، وتثبيت وبناء التبعيات الأصلية، قبل التعبئة أو النشر.
npm run electron:staging
يمكنك إنشاء حزم لأنظمة التشغيل macOS وWindows وLinux في مجلدات dist-electron
باستخدام APP_ENV
كمرحلة staging
(يسمح بفتح DevTools، ويتضمن خرائط المصدر ولا يقلل من كود JavaScript المدمج)، ويمكن استخدامه للتوزيع اليدوي واختبار التطبيقات المجمعة.
npm run electron:production
يمكنك إنشاء حزم لأنظمة التشغيل macOS وWindows وLinux في مجلدات dist-electron
باستخدام APP_ENV
production
(تعطيل DevTools، كود JavaScript المدمج المصغر)، ويمكن استخدامها للتوزيع اليدوي واختبار التطبيقات المجمعة.
npm run deploy:electron
أنشئ حزمًا لأنظمة التشغيل macOS وWindows وLinux في مجلد dist-electron
وانشر الإصدار على GitHub، والذي يسمح بدعم التحديثات التلقائية. راجع سير عمل إصدار GitHub لمزيد من المعلومات.
للتوقيع على رمز التطبيق الخاص بك، اتبع الخطوات التالية:
/certs
login
إلى مجلد Keychain الخاص بك.Developer ID - G2
من صفحة Apple PKI.key > Get Info > Access Control
. هناك، تأكد من وجود التطبيق الخاص بك (Xcode) في القائمة Always allow access by these applications
وتأكد من تشغيل Confirm before allowing access
.مزيد من المعلومات في الوثائق الرسمية.
يتم توثيق التطبيق تلقائيًا في وحدة منشئ الإلكترون، الأمر الذي يتطلب تمرير متغيرات البيئة APPLE_ID
و APPLE_APP_SPECIFIC_PASSWORD
.
كيفية الحصول على كلمة المرور الخاصة بالتطبيق:
لنشر إصدار جديد، تحتاج إلى إضافة رمز وصول GitHub إلى .env
. أنشئ رمز وصول GitHub بالانتقال إلى https://github.com/settings/tokens/new. يجب أن يكون لرمز الوصول نطاق/إذن الريبو. بمجرد حصولك على الرمز المميز، قم بتعيينه لمتغير البيئة:
# .env
GH_TOKEN="{YOUR_TOKEN_HERE}"
يسمح نشر التكوين في ملف التكوين src/electron/config.yml
بتعيين مالك/اسم مستودع GitHub.
npm run electron:publish
، والذي سيعمل على إنشاء مسودة إصدار جديدة وتحميل عناصر البناء إلى الإصدار المُعاد إنشاؤه حديثًا. سيكون إصدار الإصدار الذي تم إنشاؤه هو نفسه الموجود في package.json
.إذا وجدت مشكلة في هذا التطبيق، فأخبر Telegram باستخدام منصة الاقتراحات.