Example HTML-file that contains a plain-JS interaction with Telegram Web Apps API. See live demo (with jQuery): Attach Bot.
- Official docs: https://core.telegram.org/bots/webapps
- Live Demo Bot: Attach Bot
- Telegram Promo Bot: Durger King
The Web App must be hosted somewhere. Hosting it on a GitHub repository is a quick, free way to do it:
- Create a repository (or fork this one)
- On the repository: Settings –> Pages:
- Source: Deploy from a branch
- Branch: master, / (root), Save
- Wait a few minutes for the web to be deployed. It will be available at:
https://{github-username}.github.io/{repository-name}/{location-inside-repository}
. In this case:https://revenkroz.github.io/telegram-web-app-bot-example/index.html
-
Show the user a special menu button (near the message input field):
- Go to Bot Father
- Select your bot
- To set button in Bio:
Bot Settings
—Configure Mini App
- Send a URL to your Web App (in this case,
https://revenkroz.github.io/telegram-web-app-bot-example/index.html
) - To set corner button in Bot:
Bot Settings
—Menu Button
—Specify..
/Edit menu button URL
- Send a URL to your Web App (in this case,
https://revenkroz.github.io/telegram-web-app-bot-example/index.html
)
-
The second way is to send a button with the data that contains field
web_app
with a URL to a Web App:{ "text": "Test web_app", "web_app": { "url": "https://revenkroz.github.io/telegram-web-app-bot-example/index.html" } }
To connect a Web App to the Telegram client, place the script telegram-web-app.js
in the <head>
tag before any other scripts, using this code (more info):
<script src="https://telegram.org/js/telegram-web-app.js"></script>
Once the script is connected, a window.Telegram.WebApp
object will become available.