주요 콘텐츠로 건너뛰기

봇: 개발자로 시작하기

봇은 Potato 내부에서 실행되는 타사 애플리케이션입니다. 사용자는 메시지, 명령, 인라인 요청을 보내 봇과 상호 작용할 수 있습니다. HTTPS 요청을 통해 봇을 제어하여 우리에게 보냅니다.로봇 API

1. 로봇으로 무엇을 할 수 있나요?

몇 가지 예를 들자면 봇을 사용하여 다음을 수행할 수 있습니다.

  • 맞춤형 알림과 뉴스를 받아보세요. 봇은 스마트 신문 역할을 하여 관련 콘텐츠가 게시되는 즉시 귀하에게 보낼 수 있습니다.

  • 다른 서비스와 통합합니다. 봇은 외부 서비스의 콘텐츠로 Potato Chat을 풍부하게 할 수 있습니다.
    GIFBotMusic,BotVote

  • Potato 사용자로부터 결제를 수락합니다. 봇은 유료 서비스를 제공하거나 가상 매장 기능을 수행할 수 있습니다.

  • 사용자 정의 도구를 만듭니다. 봇은 알림, 일기 예보, 번역, 서식 지정 또는 기타 서비스를 제공할 수 있습니다.
    스티커 로봇

  • 거의 다른 일을 하세요. 설거지를 제외하고 로봇은 설거지를 잘 못합니다.

2. 로봇은 어떻게 작동하나요?

기본적으로 감자 봇은 추가 전화번호를 설정할 필요가 없는 특수 계정입니다. 사용자는 두 가지 방법으로 봇과 상호 작용할 수 있습니다.

  • 채팅을 시작하거나 그룹에 참여하여 봇에 메시지와 지침을 보내세요. 이는 공식 @BotMusic 봇과 같은 챗봇이나 뉴스 봇에 유용합니다.
  • 입력란에 로봇의 @username와 쿼리를 입력하여 직접 요청을 보냅니다. 이를 통해 인라인 봇이 모든 채팅, 그룹 또는 채널에 직접 콘텐츠를 보낼 수 있습니다.
    사용자가 보낸 메시지, 명령 및 요청은 서버에서 실행되는 소프트웨어로 전달됩니다. 우리의 중개 서버는 귀하를 위해 PotatoAPI와의 모든 암호화 및 통신을 처리합니다. 단순화된 버전의 PotatoAPI를 제공하는 간단한 HTTPS 인터페이스를 통해 서버와 통신합니다. 우리는 이것을 인터페이스라고 부릅니다.우리의 봇 API
    페이지소개로봇 API자세한 설명
    »

3. 봇은 어떻게 생성하나요?

저기...저 사람은 로봇을 사용하는데요. 그냥 사용BotFather(아래 설명) 몇 가지 간단한 단계를 따르세요. 봇을 생성하고 인증 토큰을 받은 후 봇으로 이동하세요.API로봇에게 무엇을 가르칠 수 있는지 알아보기 위한 매뉴얼입니다.
여기에서 몇 가지 코드 예제를 확인할 수도 있습니다. »

4. 로봇은 인간과 어떻게 다릅니까?

  • 로봇에는 온라인 상태가 없으며 마지막으로 나타난 타임스탬프도 없습니다. 인터페이스에 "bot"이라는 레이블이 표시됩니다.
  • 봇의 클라우드 저장 공간은 제한되어 있습니다. 오래된 메시지는 처리된 직후 서버에 의해 삭제될 수 있습니다.
  • 봇은 사용자와의 대화에 적극적으로 참여할 수 없습니다. 사용자는 먼저 그룹에 추가하거나 메시지를 보내야 합니다. 사람들은 링크나 사용자 이름 검색을 통해 봇을 찾을 수 있습니다.potato.im/<bot_username>
  • 봇 사용자 이름은 항상 "bot"으로 끝납니다(예:@GIFBot@Stickerbot)。
  • 그룹에 참여할 때 봇은 기본적으로 모든 메시지를 수신하지 않습니다(개인정보 보호 모드 참조).
  • 로봇은 절대로 먹거나 자거나 불평하지 않습니다(특별히 프로그래밍되지 않는 한).

5. 로봇은 어디서 찾을 수 있나요?

Potato에는 많은 로봇이 있습니다(공식 Potato 로봇 및 타사 로봇 포함). Potato는 사용자가 각 로봇을 쉽게 찾을 수 있도록 편리한 검색 방법을 제공합니다. 사용자는 다음과 같은 방법으로 봇을 찾을 수 있습니다.
Potato를 열면 하단에 네비게이션 바가 있습니다. "검색"을 클릭하면 Bots Mall이 표시됩니다.
그런 다음 공식 감자 로봇이 표시되는 로봇 쇼핑몰을 클릭하십시오.@GIFBot, BotMusic 및 BotGif 등 승인 후 타사 로봇도 로봇 몰에 전시될 수 있습니다.
감사나 질문이 있는 경우@BotSupport

6. 로봇 특성

Potato 봇은 여러 면에서 독특합니다. 두 개의 키보드, 추가 기본 명령 인터페이스와 딥 링크, 텍스트 서식 등을 제공합니다.

직접 연결 모드

사용자는 모든 채팅의 텍스트 입력 필드에서 직접 인라인 쿼리를 통해 봇과 상호 작용할 수 있습니다. 그들이 해야 할 일은 봇의 사용자 이름이 포함된 메시지를 보내고 쿼리를 입력하는 것뿐입니다.
쿼리를 받은 후 봇은 일부 결과를 반환할 수 있습니다. 사용자가 그 중 하나를 클릭하자마자 현재 열려 있는 채팅방으로 메시지가 전송됩니다. 이렇게 하면 사람들이 채팅, 그룹 또는 채널에서 봇의 콘텐츠를 요청할 수 있습니다.

또한 봇이 온라인 모드와 PM 모드 사이를 전환할 수 있는 쉬운 기능을 제공합니다.
직접 모드에 대해 자세히 알아보기 »

키보드

전통적인 챗봇은 확실히 인간의 언어를 이해하도록 가르칠 수 있습니다. 하지만 때로는 사용자로부터 좀 더 공식적인 피드백이 필요할 때가 있습니다. 바로 이럴 때 맞춤형 키보드가 매우 도움이 될 수 있습니다.
봇이 메시지를 보낼 때마다 미리 설정된 응답 옵션이 있는 특수 키보드를 전달할 수 있습니다(ReplyKeyboardMarkup 참조). 메시지를 받은 Potato 앱은 사용자에게 키보드를 표시합니다. 아무 버튼이나 탭하면 즉시 해당 명령이 전송됩니다. 이렇게 하면 봇과 사용자 상호 작용을 대폭 단순화할 수 있습니다.
현재 버튼에 텍스트와 이모티콘을 지원합니다. 다음은 몇 가지 사용자 정의 키보드 예입니다.

사용자 정의 키보드에 대한 자세한 기술 정보는 다음을 참조하세요.로봇 API수동(sendMessage 참조).

실시간 업데이트가 가능한 온라인 키보드

때로는 채팅에 메시지를 보내지 않고 작업을 수행하고 싶을 때도 있습니다. 예를 들어 사용자가 설정을 변경하거나 검색결과를 스크롤하는 경우입니다. 이 경우 해당 메시지에 직접 통합된 인라인 키보드를 사용할 수 있습니다.
사용자 정의 응답 키보드와 달리 인라인 키보드의 버튼을 눌러도 채팅방에 메시지가 전송되지 않습니다. 이와 대조적으로 인라인 키보드는 콜백 버튼, URL 버튼, 인라인 전환 버튼 등 뒤에서 작동하는 버튼을 지원합니다.

콜백 버튼을 사용하면 봇이 기존 메시지(또는 키보드만)를 업데이트하여 채팅을 깔끔하게 유지할 수 있습니다. 인라인 키보드가 작동하는 모습을 보려면 다음 예시 봇을 확인하세요: @music, @gif, @sticker.
인라인 키보드 및 실시간 편집에 대해 자세히 알아보기 »

명령

명령은 봇과 통신하는 보다 유연한 방법을 제공합니다. 다음 구문을 사용할 수 있습니다.

명령은 항상 "/" 기호로 시작해야 하며 32자를 초과할 수 없습니다. 명령에는 라틴 문자, 숫자 및 밑줄을 사용할 수 있습니다. 몇 가지 예를 들면 다음과 같습니다.



슬래시로 시작하는 메시지는 항상 봇으로 전달됩니다(사용자 이름 @mention으로 해당 메시지와 봇의 메시지 모두에 응답함). Potato 앱은 다음을 수행합니다.
/command [optional] [argument]/get_messages_stats/set_timer 10min Alarm!/get_timezone London, UK

  • 사용자가 "/"를 입력할 때 지원되는 명령 목록과 설명을 제안합니다(이를 위해서는 요청해야 함).@GIFBot명령 목록을 제공합니다). 목록에서 명령을 클릭하면 명령이 즉시 전송됩니다.
  • 봇과의 채팅을 위해 모든 입력 필드에 추가(/) 버튼을 표시합니다. 클릭하면 "/"가 입력되고 명령 목록이 표시됩니다.
  • 메시지에서 /commands를 강조 표시합니다. 사용자가 강조 표시된 명령을 클릭하면 해당 명령이 즉시 전송됩니다.

그룹에 여러 봇이 있는 경우 혼란을 피하기 위해 명령에 봇 사용자 이름을 추가할 수 있습니다.


이는 제안 목록을 통해 명령을 선택할 때 자동으로 수행됩니다. 기억하세요. 봇은 사용자 이름 다음에 나오는 명령을 즉시 처리할 수 있어야 합니다.
/start@TriviaBot/start@ApocalypseBot

전역 명령

사용자가 로봇 다중우주를 더 쉽게 탐색할 수 있도록 모든 개발자에게 몇 가지 기본 명령을 지원하도록 요청하고 있습니다. Potato 앱에는 이러한 명령에 대한 인터페이스 바로가기가 있습니다.

  • /start - 인사말 메시지 보내기 등 사용자와 상호 작용을 시작합니다. 이 명령을 사용하여 추가 매개변수를 로봇에 전달할 수도 있습니다.

  • /help - 도움말 메시지를 반환합니다. 봇이 수행할 수 있는 작업을 설명하는 짧은 단락일 수도 있고 명령 목록일 수도 있습니다.
    사용자가 봇과 처음 대화할 때 시작 버튼이 표시됩니다. 도움말 및 설정 링크는 봇 프로필 페이지의 메뉴에서 사용할 수 있습니다.

    서식: 굵게, 기울임꼴, 고정 너비 텍스트 및 인라인 링크

    봇 메시지에 인라인 링크뿐만 아니라 굵게, 기울임꼴 또는 줄이 있는 텍스트를 사용할 수 있습니다. 감자 클라이언트는 이에 따라 이 정보를 렌더링합니다.
    더 읽어보세요 Bot API 매뉴얼 »

개인 정보 보호 모드

뉴스, 외부 서비스에 대한 알림 또는 추가 검색 기능을 제공하는 등 인간 사용자 간의 커뮤니케이션을 향상하기 위해 봇이 그룹에 추가되는 경우가 많습니다. 이는 업무 관련 그룹에서 특히 그렇습니다. 이제 봇과 그룹을 공유할 때 "이 작은 녀석이 내 채팅 기록을 경쟁업체에 팔고 있지 않다고 어떻게 확신할 수 있지?"라고 자문하게 되는 경향이 있습니다. 대답은 – 개인 정보 보호 모드입니다. 개인정보 보호 모드로 실행
님의 봇은 사용자가 그룹에 보낸 모든 메시지를 수신하지 않습니다. 대신 다음과 같은 결과를 얻습니다.

  • 슬래시로 시작하는 메시지(위 명령 참조)
  • 봇의 메시지에 답장하기
  • 서비스 메시지(그룹에 추가되거나 삭제된 사람 등)
  • 회원들로부터
    채널 메시징 이를 통해 우리 중 일부는 밤에 잠을 더 잘 잘 수 있고(은박 모자를 쓴 채), 다른 한편으로는 봇 개발자가 매일 수천 개의 관련 없는 메시지를 처리할 필요가 없기 때문에 많은 리소스를 절약할 수 있습니다.
    개인정보 보호 모드는 관리자로 그룹에 참여하는 봇을 제외한 모든 봇에 대해 기본적으로 활성화되어 있습니다(봇 관리자는 항상 모든 메시지를 받습니다). 비활성화하여 봇이 일반 사용자처럼 모든 메시지를 받도록 할 수 있습니다. 봇이 작동하는 데 꼭 필요한 경우에만 이 작업을 수행하는 것이 좋습니다. 사용자는 항상 그룹 구성원 목록에서 봇의 현재 개인 정보 보호 설정을 볼 수 있습니다. 대부분의 경우 강제 응답 옵션을 사용하여 봇의 메시지를 처리하는 것으로 충분합니다.

7. 로봇의 아버지

감자 로봇에 대한 모든 것을 알아보려면 맨 위로 이동하세요. »
@GIFBot 모든 로봇을 지배하는 유일한 로봇이 되어보세요. 새로운 봇을 생성하고 기존 봇의 설정을 변경하는 데 도움이 됩니다.

새 봇 만들기

/newbot 명령을 사용하여 새 로봇을 만듭니다.@GIFBot이름과 사용자 이름을 입력한 다음 새 봇에 대한 인증 토큰을 생성하라는 메시지가 표시됩니다.
귀하의 봇 이름은 연락처 정보 및 다른 곳에 표시됩니다.
사용자 이름은 멘션 및 링크에 사용되는 짧은 이름입니다. 사용자 이름은 대소문자에 관계없이 5~32자일 수 있지만 라틴 문자, 숫자, 밑줄만 포함할 수 있습니다. 봇 사용자 이름은 "david_bot" 또는 "DavidBot"와 같이 "bot"으로 끝나야 합니다.
토큰은 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw와 같은 문자열이며 봇에 권한을 부여하고 봇 API에 요청을 보내는 데 사용됩니다.
Potato.im

인증 토큰 생성

기존 토큰이 손상되거나 손실된 경우 /token 명령을 사용하여 새 토큰을 생성하세요.

로봇 아버지 지침

나머지 명령은 매우 간단합니다.

  • /mybots — 설정을 쉽게 편집할 수 있는 컨트롤과 함께 봇 목록을 반환합니다.

봇 편집

  • /setname - 봇의 이름을 변경하세요.
  • /setdescription — 봇 설명을 봇을 설명하는 최대 512자의 짧은 텍스트로 변경합니다. 사용자는 봇과의 대화를 시작할 때 "이 봇은 무엇을 할 수 있나요?"라는 제목의 텍스트를 보게 됩니다.
  • /setabouttext - 로봇 정보를 변경합니다. 텍스트는 최대 120자까지 단축됩니다. 사용자는 봇의 프로필 페이지에서 이 텍스트를 볼 수 있습니다. 다른 사람과 봇을 공유하면 이 문자 메시지가 링크와 함께 전송됩니다.
  • /setuserpic — 로봇의 아바타를 변경합니다. 얼굴과 이름을 연관시킬 수 있다는 것은 언제나 좋은 일입니다.
  • /setcommands — 봇이 지원하는 명령 목록을 변경합니다. 사용자는 봇과 입력하거나 채팅할 때 이러한 명령을 제안으로 볼 수 있습니다. 각 명령에는 이름(슬래시 "/"로 시작해야 함, 영숫자 및 밑줄, 32자 이하, 대소문자 구분 없음), 매개변수 및 텍스트 설명이 있습니다. 사용자가 봇과의 대화에서 "/"를 입력하면 명령 목록이 표시됩니다.
  • /deletebot — 봇을 삭제하고 사용자 이름을 해제합니다.

8. 인라인 봇

  • 개인 메시지나 그룹으로 명령을 보내는 것 외에도 사용자는 다음을 수행할 수 있습니다.인라인 쿼리봇과 상호작용하세요. 인라인 쿼리가 활성화된 경우 사용자는텍스트 입력봇을 호출하려면 필드에 사용자 이름과 쿼리를 입력하세요. 쿼리는 업데이트를 통해 봇으로 전송됩니다. 이런 식으로 사람들은그들의 채팅메시지를 보내지 않고 , 그룹 또는 채널의 봇에서 콘텐츠를 요청하세요.

  • 아바타

  • 이 옵션을 활성화하려면 다음을 보내십시오. /setinline 명령@BotFather, 사용자가 로봇 이름을 입력한 후 입력 필드에 표시되는 자리 표시자 텍스트를 제공합니다.

  • 관련 메소드 및 객체에 대해서는 다음을 참조하세요.로봇 API 매뉴얼

롤러스케이트 결과

  • 인라인 봇 지원Potato의 모든 유형의 콘텐츠(총 6종). 음악, GIF, 기사, 사진, GIF 등과 같은 다양한 콘텐츠를 보낼 수 있습니다.
  • 아바타
  • 클라이언트는 콘텐츠 유형에 따라 세로 또는 가로 스크롤로 결과를 표시할 수 있습니다.
  • 아바타 아바타
  • 사용자가 항목을 클릭하자마자 항목이 수신자에게 즉시 전송되고 입력 필드가 지워집니다.

탠덤/PM 모드 간 전환

  • 일부 인라인 봇은 YouTube와 같은 외부 서비스의 계정에 연결하는 등 초기 설정 프로세스를 통해 이점을 얻을 수 있습니다. 봇과의 비공개 채팅과 사용자가 공유하려는 온라인 채팅 간에 쉽게 전환할 수 있는 방법을 추가했습니다.
  • 아바타
  • 인라인 결과 위에(또는 그 대신) 특별한 "PM으로 전환" 버튼을 표시할 수 있습니다. 이 버튼은 봇과의 비공개 채팅을 열고 선택한 매개변수를 전달하여 사용자에게 관련 설정을 묻는 메시지를 표시할 수 있습니다. 완료되면 사용할 수 있습니다switch_inline_query버튼의 인라인 키보드는 사용자를 원래 채팅으로 되돌립니다.

바이러스 확산

  • 봇의 도움으로 전송된 메시지에는 사용자 이름과 보낸 사람 이름이 표시됩니다.
    아바타 아바타
  • 사용자가 메시지 헤더에서 봇 사용자 이름을 클릭하면 해당 멘션이 입력 필드에 자동으로 삽입됩니다. 입력란에 입력하세요.@기호는최근에 사용한 인라인 봇에 대한 제안 목록이 나타납니다.

인라인 봇 예시

  • 실제 작동 모습을 보고 싶다면 인라인 봇의 예를 몇 가지 살펴보세요. 다음을 시도해보세요:
    @gif – GIF 검색
    @music – 음악 검색
    @app – 앱 검색
    @vote – 설문조사 검색

9. ADBot

참고:

  • ADBot은 조직의 구성원이어야 합니다.
  • ADBot은 슈퍼그룹만 지원합니다.
  • ADBot을 관리자로 설정해야 합니다.

키워드를 추가하는 방법

  • 명령을 사용하여 자신이 관리자인 그룹을 보고 AD Bot이 관리할 그룹을 선택합니다./manage
  • 세부사항은 다음과 같습니다:
  • 슈퍼그룹을 관리하기 위해 ADBot가 필요한 경우 명령의 "추가" 버튼을 통해 차단 키워드를 추가하거나(권장) /add 명령을 사용해야 합니다./manage
  • 세부사항은 다음과 같습니다:
참고:
  • 키워드의 최대 길이는 64자이며 메시지는 키워드로 처리됩니다.
  • 그룹당 최대 100개의 키워드를 중복 없이 추가할 수 있습니다. 키워드를 반복적으로 추가하면 ADBot은 동일한 키워드를 자동으로 삭제합니다.
  • 명령을 사용하여 현재 작업을 제출하거나 완료합니다./done

키워드를 추가한 후 ADBot은 민감한 단어를 보내는 사용자를 그룹에서 추방하고 제외합니다. 예를 들어, URL을 보내는 모든 사용자를 추방하려면 ".com" 및 "www"와 같은 키워드로 필터링하면 됩니다.

  • 세부사항은 다음과 같습니다:

ADBot에 대한 권한 설정

  • 세부사항은 다음과 같습니다:

키워드 삭제

  • 세부사항은 다음과 같습니다:

킥오프 기능 켜기

  • 광고주 끄기 기능은 기본적으로 꺼져 있습니다. 명령어를 통해 켜져 있는지, 명령어에 있는 "킥" 버튼을 통해 켜져 있는지 확인해주세요(권장)./manage/kick
  • 세부사항은 다음과 같습니다:

새로운 사용자가 그룹에 가입하려면 확인 기능을 켜세요.

  • 인증코드 기능은 기본적으로 꺼져있습니다. /manage 명령에서 "인증코드" 버튼(권장)을 사용하여 인증코드 활성화 여부를 확인하고, 인증코드 언어 유형을 전환할 수 있습니다./captcha
  • 세부사항은 다음과 같습니다: