Telegram Mini App allows your customers to open the restaurant's digital menu directly inside Telegram — without installing apps or switching to a browser. The menu looks like a native part of Telegram: it adapts to the user's theme, supports the Back button and gestures.
Open @BotFather in Telegram and send:
/newbot
Meni Menu Bot)MeniMenuBot) — must end with Bot123456789:ABCdefGHI...)💡 If the bot is already created, proceed to Step 2.
The Bot Token is a secret key for programmatic bot management via the Telegram Bot API. For basic Mini App setup (steps 2–4) it is not required — everything is done through BotFather. But you will need it if you want to:
🔒 Don't publish the Bot Token — anyone who has the token can control your bot. If the token is compromised, revoke it with the
/revokecommand in BotFather.
Send BotFather the command:
/newapp
Meni)Digital restaurant menu)/emptyhttps://meni.ge
menu)After this you will have a working link like:
https://t.me/YourBot/menu
Send BotFather:
/setmenubutton
https://meni.ge
Open Menu or 📋 Menu)Now when opening a chat with the bot, a button will appear at the bottom of the screen that opens your application.
Send BotFather:
/setdomain
Select the bot and specify the domain:
meni.ge
This will allow Telegram Web App to work on your domain and all its subdomains (e.g., locationid.meni.ge).
Telegram supports the startapp parameter, which is passed to the application when opened. Use it for links to a specific restaurant:
| Link | What opens |
|---|---|
t.me/YourBot/menu |
Home page |
t.me/YourBot/menu?startapp=LOCATION_ID |
Menu of a specific restaurant |
t.me/YourBot/menu?startapp=LOCATION_ID__ru |
Menu in Russian |
t.me/YourBot/menu?startapp=LOCATION_ID__en |
Menu in English |
If your restaurant's LOCATION_ID is lnc2w74z:
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en
📌
LOCATION_IDis the identifier of your location in meni.ge. You can find it in the admin panel or in the URL likehttps://LOCATION_ID.meni.ge.
If your bot sends messages to customers, you can add an inline button that will open the menu:
{
"inline_keyboard": [[{
"text": "📋 Open menu",
"web_app": {
"url": "https://LOCATION_ID.meni.ge/en"
}
}]]
}
{
"inline_keyboard": [[{
"text": "📋 Open menu",
"url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__en"
}]]
}
After connecting, the following features are automatically enabled inside Telegram:
| Feature | Description |
|---|---|
| 🎨 Theme | App colors adapt to the Telegram theme (light/dark) |
| ◀️ Back button | Native Telegram button appears when opening a product card |
| 📏 Viewport | The application stretches to full screen |
| 🔒 Close protection | Vertical swipe won't accidentally close the app |
| 🌍 Auto language | Language is determined from the Telegram profile, unless set explicitly |
| 🍪 Cookies | Cookie banner is not displayed inside Telegram |
Existing QR codes with URLs like https://lnc2w74z.meni.ge will continue to work as usual — through the browser.
For additional Telegram integration, you can place a second QR code on tables with a bot link:
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu on your phonehttps://t.me/YourBot/menu?startapp=LOCATION_ID| Problem | Solution |
|---|---|
| App doesn't open | Check that the domain meni.ge is allowed via /setdomain |
| White screen | Make sure the Web App URL is set to https://meni.ge (HTTPS is required) |
startapp doesn't work |
Check the format: LOCATION_ID (no spaces or special characters). Language separator is double underscore __ |
| Theme not applied | Telegram Mini App SDK must be connected (update the client application) |