Based on Telegram Web A, packaged for Desktop, Android and IOS with Tauri
mv .env.example .env
bun i
Obtain API ID and API hash on my.telegram.org and populate the .env
file.
bun run dev
Start your dev server and locate GramJS worker in console context.
All constructors and functions available in global GramJs
variable.
Run bun run gramjs:tl full
to get access to all available Telegram requests.
Example usage:
await invoke(new GramJs.help.GetAppConfig())
In order to publish new release, you need to add GitHub access token to .env
. Generate a GitHub access token by going to https://github.com/settings/tokens/new. The access token should have the repo scope/permission. Once you have the token, assign it to an environment variable:
# .env
GH_TOKEN="{YOUR_TOKEN_HERE}"
Publish configuration in src/electron/config.yml
config file allows to set GitHub repository owner/name.
- Run
npm run electron:publish
, which will create new draft release and upload build artefacts to newly reated release. Version of created release will be the same as inpackage.json
. - Once you are done, publish the release. GitHub will tag the latest commit.
- GramJS (MIT License)
- pako (MIT License)
- cryptography (Apache License 2.0)
- emoji-data (MIT License)
- twemoji-parser (MIT License)
- rlottie (MIT License)
- opus-recorder (Various Licenses)
- qr-code-styling (MIT License)
- croppie (MIT License)
- mp4box (BSD-3-Clause license)
- music-metadata-browser (MIT License)
- lowlight (MIT License)
- idb-keyval (Apache License 2.0)
- fasttextweb
- webp-wasm
- fastblur
If you find an issue with this app, let Telegram know using the Suggestions Platform.