출처 : https://core.telegram.org/bots/webapps

Web Apps for Bots

텔레그램봇은 어떤 웹사이트도 완전히 대체할 수 있다.이들은 15개 결제 제공업체를 통한 원활한 승인, 통합 결제(구글 페이  Apple Pay 포함)를 지원하고 사용자에게 맞춤형 푸시 알림 등을 제공한다.

웹 앱으로 봇은 완전히 새로운 차원을 얻는다.봇 개발자들은 세계에서 가장 널리 사용되는 프로그래밍 언어인 자바스크립트와 무한히 유연한 인터페이스를 만들 수 있다.

 
 
 

웹 앱이 작동하는 것을 보려면 샘플 @DurgerKingBot을 사용해 보십시오.


웹 앱 설계

색 구성표

웹 앱은 항상 사용자의 현재  테마에 대한 데이터를 실시간으로 수신하므로 인터페이스의 모양을 그에 맞게 조정할 수 있다.예를 들어 사용자가 주간 모드와 야간 모드 간에 전환하거나 다양한 사용자 지정 테마를 사용하는 경우.

 
 
 
 
 
 

기술 정보로 이동

설계 지침

텔레그램 앱은 딱딱하고 매끄러우며 일관된 교차 플랫폼 설계를 따르는 것으로 알려져 있다.당신의 웹 앱은 이러한 원칙을 이상적으로 반영해야 한다.

  • 모든 요소는 모바일 우선 접근방식으로 대응하고 설계되어야 한다.
  • 상호작용 요소는 이미 존재하는 UI 구성요소의 스타일, 동작 및 의도를 모방해야 한다.
  • 포함된 모든 애니메이션은 매끄러워야 하며 이상적으로는 60fps가 되어야 한다.
  • 모든 입력과 이미지는 접근성을 위한 라벨을 포함해야 한다.
  • 앱은 API가 제공하는 역동적인 테마 기반 색상을 모니터링하고 그에 맞게 활용함으로써 원활한 경험을 제공해야 한다.

웹 애플리케이션 구현

텔레그램은 현재 키보드 버튼, 인라인 버튼, 봇 메뉴 버튼, 첨부 파일 메뉴의 네 가지 웹 앱 실행 방법을 지원하고 있다.

 

키보드 버튼 웹 앱

웹_app 타입 키보드 버튼에서 시작된 TL;DR: 웹 앱은 텔레그램으로 서비스 메시지에서 bot에 데이터를 다시 보낼 수 있다.WebApp.sendData.이를 통해 봇이 외부 서버와 통신하지 않고도 응답을 만들 수 있다.

사용자들은 사용자 지정 키보드, 봇 메시지 아래의 버튼을 사용하여 봇과 상호작용할 수 있으며, 텔레그램이 지원하는 자유형 문자 메시지 첨부파일 형식(사진과 비디오, 파일, 위치, 연락처, 여론 조사)을 통해 봇과 상호작용할 수 있다.훨씬 더 많은 유연성을 위해, 봇은 HTML5의 모든 힘을 활용하여 사용자에게 친숙한 입력 인터페이스를 만들 수 있다.

지정된 URL에서 웹 앱을 여는 web_app 유형 키보드버튼을 보낼 수 있다.

사용자로부터 봇으로 데이터를 다시 전송하기 위해, 웹 앱은 텔레그램에 전화를 걸 수 있다.WebApp.sendData 메서드.데이터는 서비스 메시지에서 문자열로 봇에 전송된다.봇은 수신 후 사용자와 계속 통신할 수 있다.

좋은 방법:

  • сustom data input interface(날짜 선택을 위한 개인화된 캘린더, 고급 검색 옵션이 있는 목록에서 데이터 선택, 사용자가 "휠을 돌리고" 사용 가능한 옵션 중 하나를 선택할 수 있는 랜덤라이저 등)
  • 특정 봇에 의존하지 않는 재사용 가능한 구성 요소.

인라인 버튼 웹 앱

TL;DR: @DurgerKingBot과 같은 대화형 웹 앱의 경우 기본 사용자 정보를 얻고 사용자를 대신하여 봇과의 채팅에 메시지를 보내는 데 사용할 수 있는 웹_app 유형 인라인 키보드 버튼을 사용하십시오.

텍스트 데이터만 수신하는 것이 부족하거나 좀 더 고급스럽고 개인화된 인터페이스가 필요한 경우 web_app 타입의 인라인 키보드버튼을 사용하여 웹 앱을 열 수 있다.

버튼에서, 웹 앱은 버튼에 지정된 URL로 열릴 것이다.사용자의 테마 설정 외에도 기본 사용자 정보(User Information)를 수신한다.ID,name,username,language_code) 및 세션의 고유 식별자인 query_id. 이 식별자는 사용자를 대신하여 bot로 메시지를 다시 보낼 수 있다.

봇은 봇 API 메서드에 응답WebAppQuery를 호출하여 사용자가 보낸 인라인 메시지를 bot로 다시 전송하고 웹 앱을 닫을 수 있다.메시지를 받은 후, 봇은 사용자와 계속 통신할 수 있다.

좋은 방법:

  • 완전한 웹 서비스와 모든 종류의 통합.
  • 사용 사례는 사실상 무제한이다.

메뉴 단추에서 웹 앱 시작

TL;DR: 웹 앱은 사용자 정의된 메뉴 버튼에서 실행할 수 있다.이것은 단순히 앱에 더 빨리 접속할 수 있는 방법을 제공하며, 그렇지 않으면 인라인 버튼에서  앱을 시작하는 것과 동일하다.

기본적으로 봇과의 채팅은 항상 나열된 모든 명령에 빠르게 액세스할 수 있는 편리한 메뉴 버튼을 보여준다.Bot API 6.0으로 이 버튼을 사용하여 대신 웹 앱을 실행할 수 있다.

 

메뉴 버튼을 구성하려면 메뉴 버튼이 표시할 텍스트와 웹 앱 URL을 지정해야 한다.이러한 파라미터를 설정하는 방법에는 다음 두 가지가 있다.

  • 모든 사용자에 대해 단추를 사용자 정의하려면 @BotFather(다음)를 사용하십시오./setmenubutton명령 또는 Bot Settings > 메뉴 버튼).
  • 모든 사용자 특정 사용자 모두에 대해 단추를 사용자 정의하려면 Bot API에서 setChatMenuButton 방법을 사용하십시오.예를 들어, 사용자의 언어에 따라 단추 텍스트를 변경하거나 봇의 사용자 설정에 따라 다른 웹 앱에 대한 링크를 표시하십시오.

이와 별도로 메뉴 버튼을 통해 오픈한 웹 앱은 인라인 버튼을 사용할 때와 똑같은 방식으로 작동한다.

@DurgerKingBot은 인라인 버튼과 메뉴 버튼 모두에서 웹 앱을 실행할 수 있다.

첨부 파일 메뉴에서 웹 앱 시작

TL;DR: Web App Bots는 사용자의 첨부 메뉴에 직접 추가할 것을 요청할 수 있어, 어떠한 개인 채팅에서도 빠르게 시작할 수 있다.이 모드를 사용하려면 @DurgerKingBot에 대한 이 첨부 파일 메뉴 링크를 연 다음

개인 채팅 메뉴.

웹 앱봇은 사용자의 첨부 메뉴에 직접 추가할 것을 요청할 수 있어, 어떤 사적인 채팅(사용자 또는 다른 봇과 함께)에서도 빠르게 시작할 수 있다.

첨부 메뉴 통합은 현재 텔레그램 광고 플랫폼에서 주요 광고주만 이용할 수 있다.그러나 모든 봇 테스트 서버 환경에서 사용할 수 있다.

봇에 이 기능을 사용하려면 테스트 서버의 계정에서 @BotFather를 열고/setattach명령 – 또는 Bot Settings > Configure Attachment 메뉴로 이동하십시오.그런 다음 첨부파일 메뉴의 아이콘을 통해 봇의 웹 앱을 실행하기 위해 열 URL을 지정하십시오.

봇은 사용자의 테마 설정 외에 기본 사용자 정보(bot)를 받는다.ID,name,username,language_code,photo), 채팅 파트너에 대한 공개 정보(ID,name,username,photo봇을 연 사용자를 대신하여 모든 유형의 메시지를 채팅으로 보낼 수 있는 웹 보기 세션 query_id의 고유 식별자.

봇은 봇 API 메서드가 응답하는 웹앱쿼리를 호출할 수 있는데, 봇을 통해 사용자가 인라인 메시지를 시작한 개인 채팅으로 보내고 웹앱을 닫는다.

첨부파일에 봇을 추가하는 방법에 대해 자세히 알아보세요.


웹 응용 프로그램 초기화 중

웹 앱을 텔레그램 클라이언트에 연결하려면 다음 위치에 스크립트 tembol-web-app.js를 배치하십시오.<head>다음 코드를 사용하여 다른 스크립트보다 먼저 태그 지정:

스크립트가 연결되면window.Telegram.WebApp다음 필드에서 객체를 사용할 수 있게 된다.

밭유형설명
initData 원시 데이터가 웹 앱으로 전송되어 데이터 검증에 편리한 문자열.
경고:봇 서버에서 사용하기 전에 이 필드의 데이터를 확인하십시오.
initDataUnsafe WebAppInitData 입력 데이터가 웹 앱으로 전송된 개체.
경고: 이 필드의 데이터를 신뢰할 수 없다.봇의 서버에서 initData의 데이터를 유효성을 확인한 후에만 사용해야 한다.
colorScheme 현재 텔레그램 앱에서 사용되는 색상표."밝음" 또는 "어두움" 중 하나.
CSS 변수로도 사용 가능var(--tg-color-scheme).
테마파람 테마파람스 텔레그램 앱에서 사용되는 현재 테마 설정을 포함하는 개체.
확장됨 부울 웹 앱이 사용 가능한 최대 높이로 확장된 경우 True.False, 웹 앱이 화면의 일부를 차지하고 확장() 방법을 사용하여 전체 높이로 확장할 수 있는 경우.
뷰포트높이 플로트 웹 앱에서 볼 수 있는 영역의 현재 높이.CSS에서 변수로도 사용 가능var(--tg-viewport-height).

이 애플리케이션은 웹 앱의 상단 부분만 표시할 수 있으며 하단 부분은 화면 영역 밖에 남아 있다.이 위치에서 사용자는 웹 앱을 최대 높이까지 "끌어 당길 수 있고, 봇은 expansion() 방식을 호출하여 같은 작업을 할 수 있다.웹 앱의 위치가 변경됨에 따라 보이는 영역의 현재 높이 값이 실시간으로 업데이트된다.

이 값의 새로 고침 속도는 창의 아래쪽 테두리를 원활하게 따르기에 충분하지 않다는 점에 유의하십시오.인터페이스 요소를 가시 영역 하단에 고정하는 데 사용해서는 안 된다.그 가치를 이용하는 것이 더 적절하다.viewportStableHeight이 목적으로 야전하다
뷰포트스테이블높이 플로트 웹 앱의 마지막 안정적인 상태에서 보이는 영역의 높이.CSS에서 변수로도 사용 가능var(--tg-viewport-stable-height).

이 애플리케이션은 웹 앱의 상단 부분만 표시할 수 있으며 하단 부분은 화면 영역 밖에 남아 있다.이 위치에서 사용자는 웹 앱을 최대 높이까지 "끌어 당길 수 있고, 봇은 expansion() 방식을 호출하여 같은 작업을 할 수 있다.의 가치와는 달리viewportHeight, 값viewportStableHeight사용자 제스처 또는 애니메이션 중에 웹 앱의 위치가 변경될 때 변경되지 않음.의 가치viewportStableHeight모든 제스처와 애니메이션이 완성되고 웹 앱이 최종 크기에 도달한 후에 업데이트될 것이다.

이벤트 기록 viewportChanged매개 변수를 전달하여isStateStable=true이 기능을 사용하면 가시 영역의 높이에 대한 안정적인 상태가 변경될 때 추적할 수 있다.
메인버튼 메인버튼 텔레그램 인터페이스의 웹 앱 하단에 표시되는 메인 버튼을 제어하기 위한 개체.
onEvent(eventType, eventHandler) 함수 앱 이벤트 핸들러를 설정하는 방법.사용 가능한 이벤트 목록을 확인하십시오.
오프이벤트(이벤트 유형, eventHandler) 함수 이전에 설정된 이벤트 핸들러를 삭제하는 방법.
sendData(데이터) 함수 봇에 데이터를 전송하는 데 사용되는 방법.이 방법을 호출하면 최대 4096바이트 길이의 데이터 데이터가 담긴 서비스 메시지가 봇에 전송되고, 웹앱은 폐쇄된다.메시지 클래스에서 web_app_data 필드를 참조하십시오.

이 방법은 키보드 버튼을 통해 실행된 웹 앱에서만 사용할 수 있다.
레디슈트 함수 텔레그램 앱에 웹 앱이 표시될 준비가 되었음을 알리는 방법.
이 방법은 모든 필수 인터페이스 요소가 로드되는 대로 가능한 한 빨리 호출하는 것이 좋다.이 방법을 호출하면 로딩 자리 표시자가 숨겨지고 웹 앱이 표시된다.
메서드를 호출하지 않으면 페이지가 완전히 로드된 경우에만 자리 표시자가 숨겨진다.
팽창시키다 함수 웹 앱을 사용 가능한 최대 높이로 확장하는 방법.웹 앱이 최대 높이로 확장되었는지 확인하려면 텔레그램 값을 참조하십시오.WebApp.isExpanded 매개 변수
클로즈업된 함수 웹 앱을 닫는 방법.

테마파람스

웹앱은 텔레그램 사용자의 앱에 맞춰 실시간으로 인터페이스의 외관을 조정할 수 있다.이 개체에는 사용자의 현재 테마 설정이 포함되어 있으며,

밭유형설명
bg_color 선택 사항.의 배경색#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-bg-color).
text_color 선택 사항.의 기본 텍스트 색상#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-text-color).
힌트_색깔 선택 사항.힌트 텍스트 색:#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-hint-color).
link_color 선택 사항.링크 색상:#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-link-color).
button_color 선택 사항.단추 색상:#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-button-color).
button_text_color 선택 사항.단추 텍스트 색#RRGGBB형식을 갖추다
CSS 변수로도 사용 가능var(--tg-theme-button-text-color).
 

메인버튼

이 물체는 텔레그램 인터페이스의 웹 앱 하단에 표시되는 메인 버튼을 제어한다.

밭유형설명
문자 메시지를 보내다 현재 단추 텍스트.기본적으로 계속으로 설정하십시오.
색을 칠하다 현재 단추 색상.로 설정themeParams.button_color결석하여
텍스트 색 현재 단추 텍스트 색상.로 설정themeParams.button_text_color결석하여
볼 수 있는 부울 버튼이 표시되는지 여부를 표시한다.기본적으로 false로 설정하십시오.
isActive 부울 버튼이 활성 상태인지 여부를 표시한다.기본적으로 true로 설정하십시오.
isProgressVisible 부울 읽기 전용.버튼이 로드 표시기를 표시하는지 여부를 표시한다.
setText(텍스트) 함수 버튼 텍스트를 설정하는 방법.
On클릭(콜백) 함수 누름 이벤트 핸들러 버튼을 설정하는 방법.에 대한 별칭Telegram.WebApp.onEvent('mainButtonClicked', callback)
쇼윈도 함수 버튼을 볼 수 있게 하는 방법.
첨부파일 메뉴에서 웹 앱을 열면 사용자가 웹 앱 인터페이스와 상호 작용할 때까지 기본 단추가 숨겨진다는 점에 유의하십시오.
숨다 함수 버튼을 숨기는 방법.
활성화하다 함수 버튼을 활성화하는 방법.
불능화하다 함수 버튼을 비활성화하는 방법.
showProgress(활성 상태로 leaveActive) 함수 버튼에 로드 표시기를 표시하는 방법.
버튼에 연결된 동작에 시간이 오래 걸릴 수 있는 경우 로딩 진행률을 표시하는 것이 좋다.기본적으로 이 버튼은 작업이 진행 중일 때 비활성화된다.매개 변수인 경우leaveActive=true버튼이 활성화 상태로 유지됨.
hideProgress() 함수 로드 표시기를 숨기는 방법.
setParams(파람) 함수 버튼 파라미터를 설정하는 방법.매개 변수 매개 변수는 변경해야 하는 하나 이상의 필드를 포함하는 개체:
텍스트 - 버튼 텍스트;
color - 버튼 색상;
text_color - 버튼 텍스트 색상;
is_active - 버튼 활성화;
is_light - 버튼을 표시하십시오.

이 모든 방법은 체인으로 연결될 수 있도록 메인버튼 객체를 반환한다.

WebAppInitData

이 개체에는 웹 앱이 열리면 전송되는 데이터가 들어 있다.키보드 버튼에서 웹 앱이 실행된 경우 비어 있다.

밭유형설명
query_id 선택 사항.응답WebAppQuery 방법을 통해 메시지를 전송하는 데 필요한 웹 앱 세션의 고유 식별자.
사용자 WebAppUser 선택 사항.현재 사용자에 대한 데이터가 들어 있는 개체.
리시버 WebAppUser 선택 사항.첨부 파일 메뉴를 통해 봇이 시작된 채팅에서 현재 사용자의 채팅 파트너에 대한 데이터가 들어 있는 개체.첨부 파일 메뉴를 통해 실행된 웹 앱의 경우에만 반환됨.
start_param 선택 사항.링크를 통해 전달된 startattach 매개 변수의 값.링크를 통해 첨부 파일 메뉴에서 시작할 때만 웹 앱으로 반환됨.

의 값start_param또한 파라미터는 GET-매개변수에서도 전달된다.tgWebAppStartParam웹 앱이 올바른 인터페이스를 바로 로드할 수 있도록 하기 위해서입니다.
auth_date 정수 양식이 열린 유닉스 시간.
해시하다 통과된 모든 매개 변수의 해시, 봇 서버가 유효성을 확인하는 데 사용할 수 있다.

WebAppUser

이 개체에는 웹 앱 사용자의 데이터가 들어 있다.

밭유형설명
id 정수 사용자 또는 봇의 고유 식별자.이 숫자는 32개 이상의 유의 비트를 가질 수 있으며 일부 프로그래밍 언어는 이를 해석하는 데 어려움/침묵적인 결함을 가질 수 있다.최대 52개의 유의 비트를 가지고 있으므로, 64비트 정수나 이중 정밀한 플로트 타입은 이 식별자를 저장하기에 안전하다.
is_bot 부울 선택 사항.맞아, 이 사용자가 봇이라면.수신기 필드에서만 반환됨.
first_name 사용자 또는 봇의 이름.
last_name 선택 사항.사용자 또는 봇의 성.
사용자 이름 선택 사항.사용자 또는 봇의 사용자 이름.
language_code 선택 사항.사용자 언어의 IETF 언어 태그.사용자 필드에서만 반환됨.
photo_properties 선택 사항.사용자 프로필 사진의 URL.사진은 .jpeg 또는 .svg 형식일 수 있다.첨부 파일 메뉴에서 실행된 웹 앱에 대해서만 반환됨.

웹 앱을 통해 수신된 데이터의 유효성을 확인하는 중

웹앱을 통해 수신한 데이터를 검증하려면 텔레그램에서 데이터를 전송해야 한다.WebApp.init데이터 필드의 bot 백엔드.데이터는 일련의 필드 값 쌍으로 구성된 쿼리 문자열이다.

수신된 해시 매개 변수와 데이터 체크 문자열의 HMAC-SHA-256 시그니처 16진수 표현, 비밀 키, 즉  토큰의 HMAC-SHA-256 시그니처와 상수 문자열의 HMAC-SHA-256 시그니처를 비교하여 수신된 데이터의 무결성을 확인할 수 있다.WebAppData열쇠로 쓰였다.

데이터 확인 문자열(Data-check-string)은 수신된 모든 필드의 체인으로, 알파벳순으로 정렬되어 있다.key=<value>구분 기호로 사용되는 라인 피드 문자('\n', 0x0A) 포함 - 예:'auth_date=<auth_date>\nuser=<user>\nquery_id=<query_id>'.

전체 점검은 다음과 같이 보일 수 있다.

data_check_string = ...
secret_key = HMAC_SHA256(<bot_token>, "WebAppData")
if (hex(HMAC_SHA256(data_check_string, secret_key)) == hash) {
  // data is from Telegram
}

오래된 데이터의 사용을 방지하려면 웹 앱에서 데이터를 받은 시간의 Unix 타임스탬프가 포함된 auth_date 필드를 추가로 확인하십시오.

검증되면 서버에서 데이터를 사용할 수 있다.복잡한 데이터 유형은 JSON 직렬화된 개체로 표현된다.

웹 앱에 사용 가능한 이벤트

웹 앱은 텔레그램 앱에서 이벤트를 수신할 수 있으며, 이 앱에 핸들러를 첨부할 수 있다.Telegram.WebApp.onEvent(eventType, eventHandler)방법의내부eventHandler이 물체는 텔레그램에 관한 것이다.WebApp, 처리기로 전송되는 매개 변수 집합은 이벤트 유형에 따라 달라진다.다음은 가능한 이벤트 목록이다.

eventType설명
themeChanged 사용자의 텔레그램 앱(야간 모드로 전환 포함)에서 테마 설정이 변경될 때마다 발생한다.
eventHandler는 매개변수를 수신하지 않으며, 이를 통해 새로운 테마 설정 및 색상표를 수신할 수 있다.테마파람과 이것.colorScheme.
viewportChanged 웹 앱의 볼 수 있는 섹션이 변경될 때 발생한다.
eventHandler는 단일 필드가 stateStable인 객체를 수신한다.만약isStateStable= true, 웹 앱의 크기 조정이 완료됨.거짓일 경우 크기 조정은 계속된다(사용자가 웹 앱을 확장하거나 축소하거나 애니메이션 오브젝트가 재생 중).이 뷰포트에서 볼 수 있는 섹션 높이의 현재 값을 사용할 수 있음키.
mainButtonClicked 메인 버튼을 누를 때 발생한다.
eventHandler는 매개 변수를 수신하지 않는다.

첨부 파일에 봇 추가

첨부 메뉴 통합은 현재 텔레그램 광고 플랫폼에서 주요 광고주만 이용할 수 있다.그러나 모든 봇 테스트 서버 환경에서 사용할 수 있다.테스트 서버의 Botfather와 대화하여 통합을 설정하십시오.

특수 링크는 첨부 파일 메뉴에 봇을 추가하는 데 사용된다.

https://t.me/botusername?startattach
또는
https://t.me/botusername?startattach=command

예를 들어 @DurgerKingBot에 대해 이 첨부 파일 메뉴 링크를 연 다음

개인 채팅 메뉴.

링크를 열면 사용자에게 봇을 첨부 메뉴에 추가하라는 메시지가 표시된다.봇이 이미 추가된 경우 첨부파일 메뉴는 현재 채팅에서 열리며 그곳의 봇으로 리디렉션된다(1대1 채팅에서 링크를 연 경우).링크에 비어 있지 않은 startattach 매개변수가 포함된 경우, start_param 필드와 GET 매개변수 tgWebAppStartParam에서 웹 앱으로 전달된다.

다음과 같은 링크 형식도 지원된다.

https://t.me/username?attach=botusername
https://t.me/username?attach=botusername&startattach=command
https://t.me/+1234567890?attach=botusername
https://t.me/+1234567890?attach=botusername&startattach=command

이러한 링크는 특정 사용자와의 채팅의 첨부파일 메뉴에서 웹 앱을 연다.봇이 첨부파일에 아직 추가되지 않은 경우, 사용자에게 첨부파일에 추가하라는 메시지가 나타날 것이다.링크에 비어 있지 않은 startattach 매개변수가 포함된 경우, start_param 필드와 GET 매개변수 tgWebAppStartParam에서 웹 앱으로 전달된다.

테스트 환경에서 봇 사용

테스트 환경에 로그인하려면 다음 중 하나를 사용하십시오.

  • iOS: Settings 아이콘 > Accounts > 다른 계정에 로그인 > Test를 10회 탭한다.
  • 텔레그램 데스크톱: ☰ Settings > Shift + Alt + 'Add Account'를 열고 'Test Server'를 선택한다.
  • macOS: 설정 아이콘을 10번 클릭하여 디버그 메뉴를 열고 ⌘ + '계정 추가'를 클릭한 후 전화 번호를 통해 로그인하십시오.

테스트 환경은 주 환경과 완전히 분리되어 있으므로 @BotFather로 새로운 사용자 계정 새로운 봇을 만들어야 할 것이다.

봇 토큰을 받은 후 다음과 같은 형식으로 Bot API에 요청을 보낼 수 있다.

https://api.telegram.org/bot/test/METHOD_NAME

 

https://core.telegram.org/bots/webapps

 

Web Apps for Bots

Telegram bots can completely replace any website. They support seamless authorization, integrated payments via 15 payment…

core.telegram.org

 

+ Recent posts