본문 바로가기
텔레그램 한글 가이드
채널·봇 STEP 69 / 98

텔레그램 봇 명령어 등록 — 범위·언어별 명령

텔레그램 봇 명령어를 등록하는 방법입니다. 이름 1~32자 규칙과 설명·개수 한도, @BotFather 와 setMyCommands 로 등록하기, 개인 대화·그룹·관리자 범위와 언어별 목록이 고르는 순서, 관리자 명령을 따로 확인해야 하는 이유를 정리했습니다.

  • 난이도L4
  • 읽는 시간4분
  • 최종 검증

결론부터

  1. 1명령은 / 로 시작하는 1~32자 — 영문 소문자·숫자·밑줄만.
  2. 2@BotFather 로 바로, setMyCommands 로 범위·언어를 나눠 등록.
  3. 3목록에서 숨겨도 막힌 게 아니다 — 처리할 때 권한을 다시 본다.
이 글의 목차
  1. 명령어란
  2. 등록하는 두 가지 방법
  3. 범위(scope)와 언어로 나누기
  4. 그룹에서의 명령
  5. 자주 묻는 질문
  6. 한눈에 정리

명령어란

명령어는 / 로 시작하는 짧은 낱말입니다. 사용자가 입력창에 / 를 치거나 메뉴 버튼을 누르면 봇이 등록해 둔 명령 목록이 설명과 함께 뜹니다. 목록에 띄우는 일과 명령을 처리하는 일은 따로입니다 — 목록은 등록으로, 처리는 내 프로그램이 받은 메시지 글자를 보고 합니다.

규칙내용
명령 이름1~32자, 영문 소문자·숫자·밑줄(_)만
설명최대 256자 — 목록에서 이름 옆에 보인다
개수한 범위(scope)에 최대 100개
기본으로 둘 것/start · /help · /settings — 공식 문서가 모든 봇에 권한다

이름은 뜻이 분명하게 짓습니다. /new 장소 처럼 뒤에 말을 붙이게 하기보다 /newlocation 처럼 한 낱말로 하나의 일을 하게 하는 편이 누르기 쉽습니다.

등록하는 두 가지 방법

  1. @BotFather 에서 봇을 고르고 명령 편집으로 들어가 명령 - 설명 형식으로 한 줄에 하나씩 보냅니다. 코드 없이 바로 됩니다.
  2. 봇 API 의 setMyCommands 로 프로그램에서 등록합니다. 범위와 언어를 나눌 수 있어 더 세밀합니다.
curl https://api.telegram.org/bot123456:ABC-EXAMPLE/setMyCommands \
  -H "Content-Type: application/json" \
  -d '{"commands":[
        {"command":"start","description":"시작하기"},
        {"command":"help","description":"도움말"}
      ],
      "language_code":"ko"}'

지금 등록된 목록은 getMyCommands, 지우기는 deleteMyCommands 입니다. 둘 다 같은 범위·언어 값을 받습니다.

범위(scope)와 언어로 나누기

범위누구에게 보이나
default따로 정한 목록이 없는 모든 곳
all_private_chats모든 개인 대화
all_group_chats모든 그룹·슈퍼그룹
all_chat_administrators모든 그룹의 관리자
chat · chat_administrators · chat_member특정 대화 하나, 그 대화의 관리자, 그 대화의 특정 사용자

한 사용자에게 여러 범위가 겹치면 더 좁은 범위의 목록이 보이고, 같은 범위 안에서는 사용자 앱 언어(language_code)에 맞춘 목록이 언어 없는 목록보다 먼저입니다. 한국어 목록과 언어 없는(영어) 목록을 함께 등록해 두면 언어에 따라 알아서 갈립니다.

그룹에서의 명령

그룹에 봇이 여럿이면 /help@내봇이름 처럼 봇 이름을 붙여 누구에게 보낸 명령인지 가립니다. 그룹 개인정보 모드가 켜진 봇도 자기에게 온 명령은 받습니다(그룹 개인정보 모드). 메뉴 버튼에 명령 목록 대신 미니 앱을 띄우는 방법은 봇 메뉴 버튼에 있습니다.

자주 묻는 질문

텔레그램 봇 명령어는 어떻게 만드나요?

@BotFather 에서 봇의 명령 편집으로 '명령 - 설명' 을 한 줄씩 보내거나, 봇 API 의 setMyCommands 로 등록합니다.

명령어에 대문자나 한글을 쓸 수 있나요?

안 됩니다. 명령 이름은 영문 소문자·숫자·밑줄로 1~32자입니다. 설명은 한글로 써도 됩니다.

관리자에게만 명령을 보이게 할 수 있나요?

관리자 범위로 등록하면 목록은 관리자에게만 보이지만, 다른 사람이 직접 쳐서 보낼 수는 있으니 처리할 때 권한을 확인합니다.

언어별로 다른 명령 목록을 보여 줄 수 있나요?

setMyCommands 에 language_code 를 주면 그 언어 사용자에게 그 목록이 먼저 보입니다.

참고한 공식 문서

요약

한눈에 정리

  1. 1규칙

    1~32자 · 범위마다 100개.

  2. 2등록

    BotFather · setMyCommands.

  3. 3권한

    처리할 때 다시 확인.

이 글 공유하기

같은 문제를 겪는 친구에게 보내 주세요.

텔레그램
더보기

휴대폰으로 열기휴대폰 카메라로 비추면 이 글이 열려요.

최종 수정 2026-10-06

함께 보면 좋은 글

전체 보기 ›