Dialogflow Telegram Integration을 사용하면 Dialogflow 기술을 기반으로 자연어 이해가 가능한 Telegram 봇을 쉽게 만들 수 있습니다.
제한사항
이 통합에서는 기본 에이전트 언어만 지원합니다.
Telegram 설정
에이전트에 Telegram 통합을 설정하려면 다음이 필요합니다.
Telegram에서 봇 만들기
- Telegram에 로그인하고 https://telegram.me/botfather로 이동합니다.
- 웹 인터페이스에서 Start(시작) 버튼을 클릭하거나 /start를 입력합니다.
- /newbot을 클릭하거나 입력하고 이름을 입력합니다.
- 'bot'으로 끝나는 봇의 사용자 이름을 입력합니다(예: garthsweatherbot).
- 생성된 액세스 토큰을 복사합니다.
Dialogflow 설정
- Dialogflow에서 왼쪽 메뉴의 Integrations(통합)로 이동합니다.
- Telegram 타일을 클릭합니다.
- 관련 필드에 액세스 토큰을 붙여넣습니다.
- 시작 버튼을 클릭합니다.
테스트
설정을 완료하면 BotFather가 봇에 대한 링크를 제공합니다. 이 링크로 이동하여 에이전트를 테스트하세요.
Telegram 토큰 다시 생성
Telegram 통합이 사용 설정된 에이전트의 Telegram 토큰을 다시 생성하려면 다음 안내를 따르세요.
- Dialogflow 통합 설정으로 이동하여 STOP를 클릭합니다.
- Telegram에서 토큰을 다시 생성합니다.
- 새 Telegram 토큰을 통합 설정에 입력하고 시작을 클릭합니다.
에이전트를 새로운 Telegram 봇과 통합
Telegram 통합이 사용 설정된 에이전트를 새 Telegram 봇에 연결하려면 다음 안내를 따르세요.
- Dialogflow 통합 설정으로 이동하여 STOP를 클릭합니다.
- 필요한 경우 Telegram에서 이전 봇을 삭제합니다.
- 새 Telegram 토큰을 통합 설정에 입력하고 시작을 클릭합니다.
이벤트
이 통합으로 다음 이벤트가 트리거됩니다.
이벤트 | 설명 |
---|---|
TELEGRAM_WELCOME |
사용자가 Telegram 봇과 대화를 시작하거나 /start 를 입력하면 트리거됩니다. |
TELEGRAM_HELP |
사용자가 Telegram 봇과 대화 중에 /help 를 입력하면 트리거됩니다. |
TELEGRAM_SETTINGS |
사용자가 Telegram 봇과 대화 중에 /settings 를 입력하면 트리거됩니다. |
리치 응답 메시지
다음 리치 응답 메시지가 지원됩니다.
이미지 응답
지원되는 형식 및 크기:
- 최대 크기 5MB
카드 응답
이미지 URL 필드 또는 제목 필드는 필수 필드입니다.
URL 및 텍스트 포스트백이 있는 버튼이 지원됩니다. URL이 있는 버튼을 탭하면 웹페이지가 열리고 텍스트가 있는 버튼을 탭하면 텍스트가 사용자 쿼리로 전송됩니다.
빠른 답장 응답
원클릭 Telegram 통합의 빠른 답장은 Telegram의 키보드 버튼에 해당합니다.
사용자가 버튼 중 하나를 클릭하면 버튼이 닫힙니다. 이렇게 하면 사용자가 대화에서 이전 메시지에 연결된 버튼을 클릭하는 것을 방지할 수 있습니다.
커스텀 페이로드 응답
원클릭 Telegram 통합의 서식 있는 텍스트 및 하이퍼링크
Telegram 봇은 서식 있는 텍스트 및 하이퍼링크를 전송할 수 있습니다.
다음 예시에서는 Markdown 파싱 모드를 사용하여 하이퍼링크가 있는 서식 있는 텍스트를 전송합니다.
{ "telegram": { "text": "You can read about *entities* [here](/docs/concept-entities).", "parse_mode": "Markdown" } }
자세한 내용은 Telegram 문서를 참조하세요.
인라인 키보드 버튼
다음 예시에서는 커스텀 페이로드 요소에서 인라인 키보드 버튼을 정의하는 방법을 보여줍니다.
{ "telegram": { "text": "Pick a color", "reply_markup": { "inline_keyboard": [ [ { "text": "Red", "callback_data": "Red" } ], [ { "text": "Green", "callback_data": "Green" } ], [ { "text": "Yellow", "callback_data": "Yellow" } ], [ { "text": "Blue", "callback_data": "Blue" } ], [ { "text": "Pink", "callback_data": "Pink" } ] ] } } }