Telegram Mini App — Przewodnik krok po kroku

Co to jest?

Telegram Mini App pozwala Twoim klientom otwierać cyfrowe menu restauracji bezpośrednio w Telegramie — bez instalacji aplikacji i bez przechodzenia do przeglądarki. Menu wygląda jak natywna część Telegrama: dostosowuje się do motywu użytkownika, obsługuje przycisk „Wstecz” i gesty.

Korzyści

  • 📱 Wewnątrz Telegrama — klient nie musi przełączać się na przeglądarkę
  • 🎨 Natywny wygląd — kolory, czcionki i motyw dostosowują się do Telegrama
  • 🔗 Deep Links — bezpośredni link do menu konkretnej restauracji
  • 🌍 Automatyczny język — język pobierany jest z ustawień Telegrama użytkownika
  • 🍪 Bez cookies — baner cookie nie jest wyświetlany wewnątrz Telegrama

Szybki start

Krok 1 — Utwórz bota

Otwórz @BotFather w Telegramie i wyślij:

/newbot
  1. Wprowadź nazwę bota (np. Meni Menu Bot)
  2. Wprowadź username (np. MeniMenuBot) — musi kończyć się na Bot
  3. Zapisz otrzymany Bot Token (format: 123456789:ABCdefGHI...)

💡 Jeśli bot jest już utworzony, przejdź do Kroku 2.

Dlaczego potrzebny jest Bot Token?

Bot Token to tajny klucz do programowego zarządzania botem przez Telegram Bot API. Do podstawowej konfiguracji Mini App (kroki 2–4) nie jest on wymagany — wszystko odbywa się przez BotFather. Ale będzie potrzebny, jeśli chcesz:

  • Wysyłać wiadomości do klientów — powiadomienia o statusie zamówienia, promocje, wiadomości powitalne
  • Dodawać przyciski inline do wiadomości bota (np. przycisk „📋 Otwórz menu” — patrz sekcja poniżej)
  • Utworzyć bota Telegrama do przyjmowania zamówień — bot może odbierać i przetwarzać zamówienia
  • Skonfigurować Webhook — odbierać zdarzenia z Telegrama (naciśnięcia przycisków, komendy użytkowników)
  • Zintegrować z CRM lub systemem POS — automatyczne przetwarzanie zamówień przez bota

🔒 Nie publikuj Bot Token — każdy, kto ma token, może zarządzać Twoim botem. Jeśli token zostanie skompromitowany, odwołaj go komendą /revoke w BotFather.


Krok 2 — Utwórz Mini App

Wyślij do BotFather komendę:

/newapp
  1. Wybierz bota z listy
  2. Title — nazwa aplikacji (np. Meni)
  3. Description — opis (np. Digital restaurant menu)
  4. Photo — załaduj obrazek 640×640 px (ikona aplikacji)
  5. GIF — animacja (opcjonalnie). Aby pominąć, wyślij /empty
  6. Web App URL — podaj adres swojej aplikacji klienckiej:
https://meni.ge
  1. Short Name — krótka nazwa dla linku (np. menu)

Po tym otrzymasz działający link w formacie:

https://t.me/YourBot/menu

Krok 3 — Dodaj przycisk „Menu” do czatu bota

Wyślij do BotFather:

/setmenubutton
  1. Wybierz bota
  2. Wyślij URL:
https://meni.ge
  1. Wprowadź tekst przycisku (np. Open Menu lub 📋 Menu)

Teraz po otwarciu czatu z botem na dole ekranu pojawi się przycisk, który otwiera Twoją aplikację.


Krok 4 — Zezwól na domenę

Wyślij do BotFather:

/setdomain

Wybierz bota i podaj domenę:

meni.ge

To pozwoli Telegram Web App działać na Twojej domenie i wszystkich jej subdomenach (np. locationid.meni.ge).


Deep Links — linki do konkretnej restauracji

Telegram obsługuje parametr startapp, który jest przekazywany do aplikacji przy otwarciu. Użyj go do linków do konkretnej restauracji:

Link Co się otworzy
t.me/YourBot/menu Strona główna
t.me/YourBot/menu?startapp=LOCATION_ID Menu konkretnej restauracji
t.me/YourBot/menu?startapp=LOCATION_ID__ru Menu w języku rosyjskim
t.me/YourBot/menu?startapp=LOCATION_ID__en Menu w języku angielskim

Przykłady

Jeśli LOCATION_ID Twojej restauracji to 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_ID to identyfikator Twojej lokalizacji w meni.ge. Możesz go znaleźć w panelu administracyjnym lub w URL w formacie https://LOCATION_ID.meni.ge.


Przycisk inline z bota

Jeśli Twój bot wysyła wiadomości do klientów, możesz dodać przycisk inline, który otworzy menu:

Wariant 1 — Przycisk Web App (otwiera się od razu)

{
  "inline_keyboard": [[{
    "text": "📋 Otwórz menu",
    "web_app": {
      "url": "https://LOCATION_ID.meni.ge/ru"
    }
  }]]
}

Wariant 2 — Przycisk Deep Link

{
  "inline_keyboard": [[{
    "text": "📋 Otwórz menu",
    "url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
  }]]
}

Co działa automatycznie

Po podłączeniu wewnątrz Telegrama automatycznie włączają się:

Funkcja Opis
🎨 Motyw Kolory aplikacji dostosowują się do motywu Telegrama (jasny/ciemny)
◀️ Przycisk „Wstecz” Natywny przycisk Telegrama pojawia się przy otwarciu karty produktu
📏 Viewport Aplikacja rozciąga się na cały ekran
🔒 Ochrona przed zamknięciem Pionowy swipe nie zamknie aplikacji przypadkowo
🌍 Automatyczny język Język określany jest z profilu Telegrama, jeśli nie jest zadany jawnie
🍪 Cookies Baner cookie nie jest wyświetlany wewnątrz Telegrama

Kody QR dla restauracji

Już istniejące kody QR z URL w formacie https://lnc2w74z.meni.ge będą działać jak zwykle — przez przeglądarkę.

Dla dodatkowej integracji z Telegramem można umieścić na stołach drugi kod QR z linkiem do bota:

https://t.me/YourBot/menu?startapp=lnc2w74z

Sprawdzanie działania

  1. Otwórz link https://t.me/YourBot/menu na telefonie
  2. Naciśnij Start (jeśli otwierasz bota po raz pierwszy)
  3. Naciśnij przycisk 📋 Menu na dolnym pasku czatu
  4. Upewnij się, że aplikacja się otworzyła i załadowała menu
  5. Spróbuj otworzyć deep link: https://t.me/YourBot/menu?startapp=LOCATION_ID

Częste problemy

Problem Rozwiązanie
Aplikacja się nie otwiera Sprawdź, czy domena meni.ge jest dozwolona przez /setdomain
Biały ekran Upewnij się, że Web App URL jest podany jako https://meni.ge (HTTPS jest wymagane)
startapp nie działa Sprawdź format: LOCATION_ID (bez spacji, znaków specjalnych). Separator dla języka — podwójne podkreślenie __
Motyw się nie stosuje Telegram Mini App SDK musi być podłączony (zaktualizuj aplikację kliencką)

Przydatne linki