¿Este proyecto ganó el primer premio? en el concurso Telegram Lightweight Client y ahora es un cliente oficial de Telegram disponible para todos en web.telegram.org/a.
De acuerdo con las reglas originales del concurso, tiene casi cero dependencias y se basa completamente en su propio marco Teact (que vuelve a implementar el paradigma de React). También utiliza una versión personalizada de GramJS como implementación de MTProto.
El proyecto incorpora muchas características tecnológicamente avanzadas, API y técnicas web modernas: WebSockets, Web Workers y WebAssembly, almacenamiento en caché multinivel y PWA, grabación de voz y transmisión de medios, criptografía y operaciones de datos binarios sin procesar, interfaces optimistas y progresivas, CSS/ Animaciones de lienzo/SVG, flujos de datos reactivos y mucho más.
Siéntase libre de explorar, brindar comentarios y contribuir.
mv .env.example .env
npm i
Obtenga ID de API y hash de API en my.telegram.org y complete el archivo .env
.
npm run dev
Inicie su servidor de desarrollo y ubique el trabajador GramJS en el contexto de la consola.
Todos los constructores y funciones disponibles en la variable global GramJs
.
Ejecute npm run gramjs:tl full
para obtener acceso a todas las solicitudes de Telegram disponibles.
Uso de ejemplo:
await invoke ( new GramJs . help . GetAppConfig ( ) )
Electron permite crear una aplicación nativa que se puede instalar en Windows, macOS y Linux.
npm run dev:electron
Ejecute Electron en modo de desarrollo, inicia simultáneamente 3 procesos con vigilancia de cambios: principal (proceso principal de Electron), renderizador (código FE) y Webpack para Electron (compila el proceso principal de Electron desde TypeScript).
npm run electron:webpack
El código de proceso principal de Electron, que incluye la funcionalidad de precarga, está escrito en TypeScript y se compila utilizando la configuración webpack-electron.config.js
para generar código JavaScript.
npm run electron:build
Preparar la compilación del renderizador (código FE), compilar el código del proceso principal de Electron, instalar y crear dependencias nativas, se utiliza antes de empaquetar o publicar.
npm run electron:staging
Cree paquetes para macOS, Windows y Linux en carpetas dist-electron
con APP_ENV
como staging
(permite abrir DevTools, incluye mapas fuente y no minimiza el código JavaScript integrado), se puede usar para distribución manual y prueba de aplicaciones empaquetadas.
npm run electron:production
Cree paquetes para macOS, Windows y Linux en carpetas dist-electron
con APP_ENV
como production
(DevTools deshabilitado, código JavaScript integrado minificado), que se puede usar para distribución manual y prueba de aplicaciones empaquetadas.
npm run deploy:electron
Cree paquetes para macOS, Windows y Linux en la carpeta dist-electron
y publique la versión en GitHub, lo que permite admitir actualizaciones automáticas. Consulte el flujo de trabajo de lanzamiento de GitHub para obtener más información.
Para firmar el código de tu aplicación, sigue estos pasos:
/certs
en la carpeta login
de su Llavero.Developer ID - G2
desde la página PKI de Apple.key > Get Info > Access Control
. Allí abajo, asegúrese de que su aplicación (Xcode) esté en la lista Always allow access by these applications
y asegúrese de que Confirm before allowing access
esté activado.Más información en la documentación oficial.
La notarización de la aplicación se realiza automáticamente en el módulo electron-builder, que requiere que se pasen las variables de entorno APPLE_ID
y APPLE_APP_SPECIFIC_PASSWORD
.
Cómo obtener una contraseña específica de la aplicación:
Para publicar una nueva versión, debe agregar el token de acceso de GitHub a .env
. Genere un token de acceso a GitHub yendo a https://github.com/settings/tokens/new. El token de acceso debe tener el alcance/permiso del repositorio. Una vez que tengas el token, asígnalo a una variable de entorno:
# .env
GH_TOKEN="{YOUR_TOKEN_HERE}"
Publicar la configuración en el archivo de configuración src/electron/config.yml
permite configurar el propietario/nombre del repositorio de GitHub.
npm run electron:publish
, que creará un nuevo borrador de la versión y cargará los artefactos de compilación en la versión recién revisada. La versión de la versión creada será la misma que en package.json
.Si encuentra un problema con esta aplicación, infórmeselo a Telegram utilizando la Plataforma de sugerencias.