Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

tginfo/telegram-react

Repository files navigation

Telegram Web App

Interface

Sample screenshot

Technical details

The app is based on the ReactJS JavaScript framework and TDLib (Telegram Database library) compiled to WebAssembly. Try it here.

Original repo is here: https://github.com/evgeny-nadymov/telegram-react

Running locally

  1. Obtaining Telegram api keys.

Please visit this page for details.

  1. Setup .env file.

Manually copy Telegram api keys from previous step into REACT_TELEGRAM_API_ID and REACT_TELEGRAM_API_HASH at .env file.

  1. Install node.js & npm. Probably, you should use nvm.

  2. Install dependencies.

npm ci

All TDLib files will be installed into node_modules/tdweb/dist/ folder.

  1. Manually copy TDLib files into the public folder.
cp node_modules/tdweb/dist/* public/
  1. Run the app in development mode.
npm run start

Open http://localhost:3000 to view it in the browser.

Deploying to GitHub Pages

  1. Obtaining Telegram api keys.

Please visit this page for details.

  1. Setup .env file.

Manually copy Telegram api keys from previous step into REACT_TELEGRAM_API_ID and REACT_TELEGRAM_API_HASH at .env file.

  1. Update homepage property at the app's package.json file.

Define its value to be the string https://{username}.github.io/{repo-name}, where {username} is your GitHub username, and {repo-name} is the name of the GitHub repository. Since our GitHub username is tginfo and the name of our GitHub repository is telegram-react, we added the following property:

//...
"homepage": "https://tginfo.github.io/telegram-react"
  1. Generate a production build of your app and deploy it to GitHub Pages.
npm run deploy

Running in a Docker container

  1. Obtaining Telegram api keys.

Please visit this page for details.

  1. Provide your Telegram api keys as build arguments.
docker build . --build-arg TELEGRAM_API_ID=0000000 --build-arg TELEGRAM_API_HASH=00000000000000000

The Docker build will perform all the necessary steps to get a working build of Telegram-React.

References

  1. Deploying a React App (created using create-react-app) to GitHub Pages
  2. Facebook's tutorial on deploying a React app to GitHub Pages