Notice
Recent Posts
Recent Comments
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

아직도 텔레그램 안쓰니?

python-telegram-bot - 소개 (ChatGPT 번역) 본문

python-telegram-bot

python-telegram-bot - 소개 (ChatGPT 번역)

텔레그램사랑 2024. 1. 6. 20:17

https://docs.python-telegram-bot.org/en/v20.7/

 

 

우리는 거부할 수 없는 래퍼를 만들었습니다
우리는 활기찬 개발자 커뮤니티가 있는 텔레그램 그룹에서 서로 돕고 있습니다. 함께 참여해 보세요!
텔레그램 채널에서 라이브러리 업데이트 및 새로운 릴리스 소식을 기다려주십시오.

소개

이 라이브러리는 Telegram Bot API를 위한 순수한 Python 비동기 인터페이스를 제공합니다. Python 버전 3.8 이상과 호환됩니다.

순수 API 구현 외에도, 이 라이브러리는 봇 개발을 쉽고 직관적으로 만들기 위한 여러 고수준 클래스를 제공합니다. 이러한 클래스는 telegram.ext 하위 모듈에 포함되어 있습니다.

telegram.ext 없이 순수 API 구현도 python-telegram-bot-raw라는 독립 패키지로 사용할 수 있습니다. 자세한 내용은 여기를 참조하십시오.

참고

python-telegram-bot과 python-telegram-bot-raw를 함께 설치하면 원하지 않는 부작용이 발생할 수 있으므로 둘 중 하나만 설치하십시오.

텔레그램 API 지원

텔레그램 봇 API 6.9의 모든 유형과 메서드를 지원합니다.

설치

python-telegram-bot을 설치 또는 업그레이드하려면 다음 명령을 사용할 수 있습니다.

$ pip install python-telegram-bot --upgrade  

미리 릴리스된 버전을 설치하려면 --pre 플래그를 추가로 사용할 수 있습니다.

소스에서 python-telegram-bot을 설치하는 것도 가능하지만 대부분의 경우 필요하지 않습니다.

$ git clone [https://github.com/python-telegram-bot/python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot)  
$ cd python-telegram-bot  
$ python setup.py install  

릴리스 확인

모든 릴리스는 GPG 키로 서명됩니다. 서명은 GitHub 릴리스 페이지와 PyPI 프로젝트에 업로드되며 .asc 접미사로 끝납니다. 공개 키는 여기에서 찾을 수 있습니다. 키는 -.gpg 또는 키가 현재 새로운 릴리스에 사용 중인 경우 -current.gpg 형식으로 명명됩니다.

또한 GitHub 릴리스 페이지에는 릴리스 파일의 sha1 해시도 .sha1 접미사가 있는 파일에 포함되어 있습니다.

이를 통해 다운로드한 릴리스 파일이 실제로 python-telegram-bot 팀에서 제공한 것임을 확인할 수 있습니다.

의존성 및 버전

python-telegram-bot은 가능한 한 적은 제3자 의존성을 사용하려고 노력합니다. 그러나 일부 기능은 기능을 다시 구현하는 것보다 제3자 라이브러리를 사용하는 것이 더 합리적일 때도 있습니다. 이러한 기능은 선택적이므로 해당하는 제3자 의존성은 기본적으로 설치되지 않습니다. 대신 선택적 종속성으로 나열됩니다. 이렇게 하면 선택적 기능이 필요하지 않은 사용자들에게 불필요한 종속성 충돌을 피할 수 있습니다.

유일하게 필수적인 종속성은 telegram.request.HTTPXRequest의 기본 네트워킹 백엔드인 httpx ~= 0.25.2입니다.

python-telegram-bot은 추가 라이브러리와 함께 사용할 때 가장 유용합니다. 종속성 충돌을 최소화하기 위해 (선택적) 종속성에 대한 버전 요구 사항에 대해 관대하려고 노력하고 있습니다. 그러나 반면에 python-telegram-bot의 안정성을 보장해야 하기 때문에 버전 바운드를 적용합니다. 이러한 바운드로 인한 종속성 충돌을 겪는 경우 문의해 주시기 바랍니다.

선택적 종속성

PTB는 선택적 종속성과 함께 설치할 수 있습니다.

pip install "python-telegram-bot[passport]"

이 명령은 cryptography>=39.0.1 라이브러리를 설치합니다. Telegram Passport 관련 기능을 사용하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[socks]"

이 명령은 httpx[socks]를 설치합니다. Socks5 서버 뒤에서 작업하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[http2]"

이 명령은 httpx[http2]를 설치합니다. HTTP/2를 사용하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[rate-limiter]"

이 명령은 aiolimiter~=1.1.0을 설치합니다. telegram.ext.AIORateLimiter를 사용하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[webhooks]"

이 명령은 tornado~=6.3.3 라이브러리를 설치합니다. telegram.ext.Updater.start_webhook/telegram.ext.Application.run_webhook을 사용하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[callback-data]"

이 명령은 cachetools~=5.3.2 라이브러리를 설치합니다. 임의의 callback_data를 사용하려면 이 명령을 사용하십시오.

pip install "python-telegram-bot[job-queue]"

이 명령은 APScheduler~=3.10.4 라이브러리를 설치하고 pytz>=2018.6를 강제 적용합니다. pytz는 APScheduler의 종속성입니다. telegram.ext.JobQueue를 사용하려면 이 명령을 사용하십시오.

여러 선택적 종속성을 설치하려면 쉼표로 구분하여 나열하십시오. 예를 들어 다음과 같이 사용할 수 있습니다.

pip install "python-telegram-bot[socks,webhooks]"

또한 두 가지 단축 명령이 제공됩니다.

pip install "python-telegram-bot[all]"

이 명령은 모든 선택적 종속성을 설치합니다.

pip install "python-telegram-bot[ext]"

이 명령은 telegram.ext와 관련된 모든 선택적 종속성을 설치합니다. 즉, [rate-limiter, webhooks, callback-data, job-queue]를 포함합니다.

빠른 시작

우리의 위키에는 python-telegram-bot을 통해 순수한 Bot API에 액세스하는 방법을 설명하는 API 소개가 포함되어 있습니다. 또한, '튜토리얼: 첫 번째 봇'에서는 telegram.ext 모듈의 도움을 받아 챗봇을 쉽게 프로그래밍하는 방법에 대한 소개가 제공됩니다.

자료

패키지 문서는 python-telegram-bot의 기술적인 참조 자료입니다. 이 문서에는 사용 가능한 모든 클래스, 모듈, 메서드 및 인수에 대한 설명과 변경 로그가 포함되어 있습니다.

위키에는 python-telegram-bot의 다양한 기능에 대한 보다 상세한 소개 및 기술 문서를 넘어서 유용한 리소스들이 많이 있습니다.

예제 섹션에는 Bot API와 python-telegram-bot의 다양한 기능을 보여주는 여러 예제가 포함되어 있습니다. 학습 방법으로 선택하지 않더라도 echobot.py를 확인해보세요. 이것은 대부분의 봇들을 위한 사실상의 기본입니다. 이러한 예제의 코드는 공개 도메인으로 공개되어 있으므로 코드를 가져와 기반으로 작업을 시작할 수 있습니다.

공식 Telegram Bot API 문서는 물론 항상 읽어볼 가치가 있습니다.

도움말 받기

위에서 언급한 리소스가 귀하의 질문에 답변하지 않거나 단순히 압도당하는 경우 도움을 받을 수 있는 여러 가지 방법이 있습니다.

우리는 서로 도와주는 활기찬 개발자 커뮤니티를 텔레그램 그룹에서 운영하고 있습니다. 함께 참여해 보세요! 여기에서 질문하는 것이 올바른 방향으로 가는 가장 빠른 방법일 때도 있습니다.

토론을 열어 질문을 하실 수도 있습니다.

또한 python-telegram-bot 태그를 사용하여 Stack Overflow에서 도움을 요청할 수도 있습니다.

동시성

v20.0부터 python-telegram-bot은 Python의 asyncio 모듈을 기반으로 구축되었습니다. asyncio는 일반적으로 단일 스레드이기 때문에 현재 python-telegram-bot은 스레드 안전을 목표로 하지 않습니다. 다중 스레드 환경에서 사용될 때 문제(예: 경쟁 조건)를 일으킬 가능성이 높은 python-telegram-bot의 중요한 부분은 다음과 같습니다.

  • telegram.ext.Application/Updater.update_queue
  • telegram.ext.ConversationHandler.check/handle_update
  • telegram.ext.CallbackDataCache
  • telegram.ext.BasePersistence
  • telegram.ext.filters 모듈의 모든 클래스, 런타임에서 허용된 사용자/채팅을 추가/제거할 수 있게 하는 클래스들

기여하기

모든 크기의 기여를 환영합니다. 시작하려면 기여 가이드라인을 검토해주세요. 또한 버그를 신고하거나 기능 요청을 통해 도움을 줄 수도 있습니다.

기부하기

가끔 개발 지원을 위해 기부를 받을 수 있는지 물어보시는 경우가 있습니다. 우리는 이러한 배려에 감사드리지만, PTB를 유지하는 것은 우리의 취미이며 거의 운영 비용이 없습니다. 따라서 기부를 받을 준비가 된 것은 없습니다. 그럼에도 불구하고 기부하려는 경우 다른 오픈 소스 프로젝트/이니셔티브에 기부하는 것을 대신 부탁드립니다.

라이선스

소프트웨어를 복사, 배포 및 수정할 수 있으며 수정 내용은 LGPL-3 하에서 무료로 기술되고 라이선스가 부여되어야 합니다. 파생물 작품(라이브러리에 정적으로 연결되는 수정 사항 또는 모든 것을 포함)은 LGPL-3 하에서만 재배포될 수 있지만 라이브러리를 사용하는 응용 프로그램은 그렇지 않아도 됩니다.

'python-telegram-bot' 카테고리의 다른 글

사용자 정의 필터  (0) 2024.01.09
확장 기능: 첫 번째 봇 (ChatGPT 번역)  (0) 2024.01.06
텔레그램 봇 API 소개 (ChatGPT 번역)  (1) 2024.01.06