TotalHash
KO
텔레그램에서 열기

텔레그램 봇 만들기 따라 하기

6 분 분량

텔레그램 봇 만들기는 생각보다 간단합니다. BotFather에서 토큰을 받고, 파이썬 코드 몇 줄만 작성하면 메시지에 답하는 봇이 완성됩니다. 여기에 알림 기능, 채널 자동 게시, 메뉴 버튼을 더하면 업무 자동화나 커뮤니티 운영에 바로 쓸 수 있습니다. 이 글에서는 토큰 발급부터 파이썬 예제, 알림 봇, 메뉴와 명령어 설정, 토큰 보안, 미니앱 확장까지 따라 하기 형식으로 정리합니다.

봇 토큰은 비밀번호와 같습니다. 코드 저장소나 스크린샷에 노출되지 않도록 주의하세요. 노출되면 BotFather에서 즉시 재발급하세요.

BotFather로 봇 만들고 토큰 받기

  1. 텔레그램에서 공식 계정 @BotFather를 엽니다.
  2. /newbot을 보냅니다.
  3. 봇 이름과 bot으로 끝나는 사용자 이름을 정합니다.
  4. BotFather가 보내 주는 토큰을 안전한 곳에 저장합니다.

텔레그램을 아직 잘 모른다면 텔레그램 사용법부터 읽어 보세요.

파이썬으로 첫 응답 봇 만들기

python-telegram-bot 라이브러리를 설치합니다: pip install python-telegram-bot. 아래 코드는 /start에 인사하고, 다른 메시지는 그대로 따라 답합니다. TOKEN 자리에 발급받은 토큰을 넣으세요.

from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, ContextTypes, filters

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("안녕하세요! 첫 번째 봇입니다.")

async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(update.message.text)

app = ApplicationBuilder().token("TOKEN").build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
app.run_polling()

python bot.py로 실행한 뒤 텔레그램에서 봇에게 /start를 보내면 답장이 옵니다. 컴퓨터를 끄면 봇도 멈추므로, 계속 켜 두려면 뒤에서 설명하는 서버 배포가 필요합니다. 처음 실습할 때는 가상 환경을 만들어 라이브러리 버전을 고정해 두면 나중에 문제가 덜 생깁니다.

알림 봇과 채널 자동 게시

봇을 채널 관리자로 추가하면 봇이 채널에 글을 올릴 수 있습니다. 서버 모니터링 결과, 환율이나 코인 시세, 뉴스 요약을 정해진 시간에 자동으로 게시하는 식입니다. 채널 만드는 방법은 텔레그램 채널 만들기를 참고하세요. 개인 알림만 필요하다면 봇이 내 채팅 ID로 메시지를 보내도록 하면 됩니다.

기능설정 방법
명령어 목록BotFather의 /setcommands
키보드 버튼ReplyKeyboardMarkup
메시지 아래 버튼InlineKeyboardMarkup과 콜백
메뉴 버튼명령어 목록 또는 미니앱 열기

봇 토큰 보안과 운영 수칙

  • 토큰은 코드에 직접 쓰지 말고 환경 변수로 관리합니다.
  • 같은 봇을 두 곳에서 동시에 실행하면 Conflict 오류가 납니다.
  • 사용자 개인정보는 필요한 만큼만 저장합니다.
  • 항상 켜 두려면 서버에 배포하고 프로세스 관리자로 실행합니다.

자주 나는 오류와 해결

  • Unauthorized: 토큰이 틀렸거나 재발급 후 이전 토큰을 쓰고 있습니다.
  • Conflict: 같은 봇이 다른 곳에서 이미 실행 중입니다. 한쪽을 종료하세요.
  • 봇이 그룹 메시지를 못 읽음: BotFather의 프라이버시 모드 설정을 확인합니다.
  • 채널에 글이 안 올라감: 봇이 채널 관리자로 추가되어 있는지, 게시 권한이 있는지 확인합니다.
  • 예전 예제 코드가 작동 안 함: 라이브러리 메이저 버전이 바뀌며 문법이 달라졌을 수 있으니 공식 문서의 최신 예제를 참고하세요.

처음에는 위 예제처럼 폴링 방식으로 시작하고, 사용자가 늘어나면 웹훅 방식으로 바꾸는 것이 일반적입니다. 웹훅은 도메인과 HTTPS 인증서가 필요하지만 서버 자원을 덜 씁니다.

미니앱으로 확장하기

버튼과 텍스트만으로 부족하다면 웹 기술로 만든 미니앱을 봇에 연결할 수 있습니다. 게임, 쇼핑몰, 지갑 같은 서비스가 텔레그램 안에서 앱처럼 열립니다: 텔레그램 미니앱. 블록체인과 연동한 미니앱도 많습니다: 코인 채굴과 블록체인.

미니앱 예시 체험

TotalHash는 텔레그램 무료 채굴 게임이자 미니앱입니다. 봇과 미니앱이 어떻게 동작하는지 직접 볼 수 있으며, 미션으로 소액의 USD₮와 GRAM이 TON 지갑에 들어옵니다. 수익을 약속하지 않습니다.

텔레그램 무료 게임.

TotalHash 열기

자주 묻는 질문

텔레그램 봇 토큰은 어떻게 만드나요?

@BotFather에서 /newbot으로 봇을 만들면 토큰을 받습니다.

파이썬으로 텔레그램 봇을 만들 수 있나요?

네, python-telegram-bot 같은 라이브러리로 몇 줄이면 됩니다.

텔레그램 봇 메뉴는 어떻게 만드나요?

BotFather의 /setcommands와 키보드 버튼으로 설정합니다.

봇 토큰이 노출되면 어떻게 하나요?

BotFather에서 즉시 토큰을 재발급하세요.