>백엔드 개발 >파이썬 튜토리얼 >Python에서 텔레그램 봇 만들기

Python에서 텔레그램 봇 만들기

Barbara Streisand
Barbara Streisand원래의
2024-09-19 20:16:031116검색

Create a Telegram Bot on Python

목차:

  1. 텔레그램 봇이란 무엇인가요?
  2. 전제조건
  3. 텔레그램에서 봇 만들기
  4. Python 환경 설정
  5. 봇 코드 작성
  6. 봇 배포
  7. 결론

1. 텔레그램 봇이란 무엇입니까?

봇은 전적으로 Telegram 앱 내에서 실행되는 작은 애플리케이션입니다. 사용자는 모든 종류의 작업이나 서비스를 지원할 수 있는 유연한 인터페이스를 통해 봇과 상호 작용합니다.

공식 문서에서 봇에 대해 자세히 알아볼 수 있습니다.

텔레그램 봇 API


2. 전제조건

봇 생성을 시작하기 전에 다음이 필요합니다.

  • 텔레그램 계정: 휴대폰에 텔레그램 앱을 다운로드하여 쉽게 만들 수 있습니다.
  • Python 설치: Python 3를 사용하므로 컴퓨터에 Python 3이 설치되어 있는지 확인하세요. 다운로드 링크
  • 기본 Python 지식: Python 구문과 패키지를 이해하면 코드를 탐색하는 데 도움이 됩니다. 이 책을 추천합니다. Automate the Boring Stuff with Python
  • BotFather Access: BotFather는 새로운 봇을 관리하고 생성하는 데 도움이 되는 내장 Telegram 봇입니다.
  • VS Code(선택 사항): 봇을 작성하는 데 사용합니다. 하지만 다른 편집기를 선택해도 됩니다. 그러나 나는 이것을 사용하는 것이 좋습니다. 여기에서 최신 버전의 VS Code를 다운로드할 수 있으며 Python에 설정하는 방법에 대한 지침이 나와 있습니다.

3. 텔레그램에서 봇 만들기

나만의 봇을 만들려면 텔레그램 봇 등록 및 관리 공식 도구인 BotFather를 사용해야 합니다.

단계:

  1. 텔레그램을 열고 BotFather 봇을 검색하세요. (검색메뉴에 @botfather 입력)
  2. /start를 입력하여 BotFather와 채팅을 시작하세요.
  3. /newbot을 입력하여 새 봇을 생성하세요.
  4. 봇 이름을 입력하라는 메시지가 표시됩니다. 고유한 이름(예: Hello World)을 입력하세요.
  5. BotFather는 봇의 사용자 이름을 묻습니다. 사용자 이름은 "bot"(예: HelloWorldBot)으로 끝나야 합니다.
  6. 이 단계를 완료하면 BotFather가 토큰을 제공합니다. 이 토큰은 봇을 인증하고 Telegram API와 상호 작용할 수 있도록 해주기 때문에 매우 중요합니다.

중요: 토큰을 비공개로 유지하고 공개적으로 공유하지 마세요!


4. Python 환경 설정

다음으로 Telegram API와 상호작용할 수 있도록 Python 환경을 설정해야 합니다. 텔레그램 봇 개발을 위한 간단하고 사용하기 쉬운 인터페이스를 제공하는 python-telegram-bot 라이브러리를 사용하겠습니다.

단계:

python-telegram-bot 라이브러리 설치:
다음 명령을 실행하여 필요한 라이브러리를 설치하십시오.

 pip install python-telegram-bot 

새 Python 파일 만들기: 봇의 코드를 보관하기 위해 my_bot.py와 같은 이름을 지정할 수 있습니다.


5. 봇 코드 작성

이제 환경이 준비되었으니 봇 코드를 작성해 보겠습니다.

샘플 코드

다음은 /start 및 /help 명령에 응답하는 기본 봇입니다.

import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)
logger = logging.getLogger(__name__)

# Define a start function to respond to the /start command
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('Hello! I am your bot. How can I help you today?')

# Define a help function to respond to the /help command
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('You can use the following commands:\n/start - Start the bot\n/help - Get help')

def main():
    # Create the application and pass the bot token
    application = ApplicationBuilder().token('YOUR_BOT_TOKEN_HERE').build()

    # Add command handlers for /start and /help
    application.add_handler(CommandHandler("start", start))
    application.add_handler(CommandHandler("help", help_command))

    # Start the bot and run it until manually stopped
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == '__main__':
    main()

설명:

  • 가져오기: 봇을 구축하기 위해 telegram 및 telegram.ext 모듈을 가져옵니다. 이는 Telegram API와 상호 작용하는 데 필요한 클래스와 기능을 제공합니다.
  • 로깅: 이벤트 및 오류를 추적하기 위해 로깅이 활성화됩니다.
  • 시작 및 도움말 명령: 사용자가 해당 명령을 실행할 때 메시지를 보내는 두 가지 함수(start 및 help_command)를 정의합니다.
  • 토큰: 'YOUR_BOT_TOKEN_HERE'를 BotFather로부터 받은 토큰으로 바꾸세요.
  • 폴링: 봇은 폴링을 사용하여 지속적으로 새 메시지를 확인하고 메시지가 오면 응답합니다.

봇 실행:

  1. 코드의 자리표시자 토큰을 봇의 토큰으로 바꾸세요.
  2. Python 스크립트를 실행합니다.
 python my_bot.py

이제 봇이 실행 중입니다! Telegram을 열고 /start 또는 /help 명령을 봇에 보내면 응답합니다.


6. 봇 배포

로컬 시스템에서 봇을 실행하는 것은 테스트하기에 좋지만 연중무휴 24시간 사용 가능하게 하려면 어떻게 해야 할까요? 이를 달성하기 위해 봇을 서버나 클라우드 서비스에 배포할 수 있습니다.

일반적인 배포 옵션:

  • Heroku: 봇을 호스팅할 수 있는 무료 클라우드 플랫폼입니다.
  • AWS(Amazon Web Services): 확장성이 더 뛰어나지만 초보자를 위한 일부 설정이 필요할 수 있습니다.
  • VPS(가상 사설 서버): 서버에 대한 모든 권한을 제공합니다.
  • PythonAnywhere: 무료 등급이 포함된 초보자 친화적인 옵션입니다. 각 플랫폼은 Python 애플리케이션을 배포하는 고유한 방법을 제공합니다. 선택한 서비스와 관련된 배포 튜토리얼을 따라갈 수 있습니다.

7. 결론

축하합니다! Python을 사용하여 기본 Telegram 봇을 성공적으로 만들었습니다. 다음 방법을 배웠습니다.

  • BotFather를 사용하여 텔레그램 봇을 설정하세요.
  • 명령을 처리하는 Python 코드를 작성하세요.
  • 로컬에서 봇을 실행하고 텔레그램에서 상호작용하세요.

다음으로 python-telegram-bot에서 예제 봇을 배우는 것을 추천합니다


연재물입니다. 다음 글에서는 PythonAnywhere에서 봇을 호스팅하는 방법, Raspberry PI 서버에서 봇을 호스팅하는 방법, 더 복잡한 봇을 만드는 방법

에 대해 설명하겠습니다.

위 내용은 Python에서 텔레그램 봇 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.