โครงการนี้ได้รับรางวัลชนะเลิศ ? ที่ Telegram Lightweight Client Contest และตอนนี้เป็นไคลเอนต์ Telegram อย่างเป็นทางการสำหรับทุกคนที่ web.telegram.org/a
ตามกฎการแข่งขันดั้งเดิม มีการพึ่งพาเกือบเป็นศูนย์และอิงตามเฟรมเวิร์ก Teact ของตัวเองอย่างสมบูรณ์ (ซึ่งนำกระบวนทัศน์ React ไปใช้ใหม่) นอกจากนี้ยังใช้ GramJS เวอร์ชันที่กำหนดเองเป็นการใช้งาน MTProto
โครงการนี้รวมเอาคุณสมบัติขั้นสูงทางเทคโนโลยีมากมาย, Web API และเทคนิคที่ทันสมัย: WebSockets, Web Workers และ WebAssembly, การแคชและ PWA หลายระดับ, การบันทึกเสียงและการสตรีมสื่อ, การเข้ารหัสและการดำเนินการข้อมูลไบนารีดิบ, อินเทอร์เฟซในแง่ดีและก้าวหน้า, CSS/ ที่ซับซ้อน แอนิเมชั่น Canvas/SVG, สตรีมข้อมูลเชิงโต้ตอบ และอื่นๆ อีกมากมาย
รู้สึกอิสระที่จะสำรวจให้ข้อเสนอแนะและมีส่วนร่วม
mv .env.example .env
npm i
รับ API ID และแฮช API บน my.telegram.org และเติมไฟล์ . .env
npm run dev
เริ่มต้นเซิร์ฟเวอร์ 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 กระบวนการพร้อมๆ กันพร้อมเฝ้าดูการเปลี่ยนแปลง: main (กระบวนการ Electron หลัก), renderer (รหัส FE) และ Webpack สำหรับ Electron (รวบรวมกระบวนการ Electron หลักจาก TypeScript)
npm run electron:webpack
รหัสกระบวนการหลักสำหรับ Electron ซึ่งรวมถึงฟังก์ชันโหลดล่วงหน้า เขียนด้วย TypeScript และคอมไพล์โดยใช้การกำหนดค่า webpack-electron.config.js
เพื่อสร้างโค้ด JavaScript
npm run electron:build
เตรียมการสร้างตัวเรนเดอร์ (โค้ด FE) คอมไพล์โค้ดกระบวนการหลักของ Electron ติดตั้งและสร้างการขึ้นต่อกันแบบเนทีฟ ถูกใช้ก่อนบรรจุภัณฑ์หรือการเผยแพร่
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
ของพวงกุญแจของคุณDeveloper ID - G2
จากหน้า Apple PKIkey > 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 โทเค็นการเข้าถึงควรมีขอบเขต/สิทธิ์ของ repo เมื่อคุณมีโทเค็นแล้ว ให้กำหนดให้กับตัวแปรสภาพแวดล้อม:
# .env
GH_TOKEN="{YOUR_TOKEN_HERE}"
เผยแพร่การกำหนดค่าในไฟล์กำหนดค่า src/electron/config.yml
อนุญาตให้ตั้งค่าเจ้าของ/ชื่อที่เก็บ GitHub
npm run electron:publish
ซึ่งจะสร้างเวอร์ชันร่างใหม่และอัปโหลดส่วนที่สร้างขึ้นไปยังรีลีสที่ได้รับการปรับปรุงใหม่ เวอร์ชันของรีลีสที่สร้างขึ้นจะเหมือนกับใน package.json
หากคุณพบปัญหากับแอพนี้ โปรดแจ้งให้ Telegram ทราบโดยใช้แพลตฟอร์มข้อเสนอแนะ