우리는 당신을 거절 할 수없는 포장지로 만들었습니다
우리는 Telegram Group에서 서로를 돕고있는 활기찬 개발자 커뮤니티가 있습니다. 우리와 함께!
Telegram 채널 에서 라이브러리 업데이트 및 새로운 릴리스를 계속 지켜봐 주시기 바랍니다 .
이 라이브러리는 Telegram BOT API를위한 순수한 파이썬, 비동기 인터페이스를 제공합니다. Python 버전 3.9+ 와 호환됩니다.
순수한 API 구현 외에도이 라이브러리에는 몇 가지 편의 방법과 바로 가기뿐만 아니라 봇의 개발을 쉽고 간단하게 만들기위한 여러 고급 클래스가 있습니다. 이 클래스는 telegram.ext
서브 모드에 포함되어 있습니다.
라이브러리를 설치 한 후 PTB 작업에 관한 섹션을 확인하십시오.
Telegram Bot API 7.11 의 모든 유형과 방법은이 라이브러리에서 기본적으로 지원됩니다. 또한, 아직 기본적으로 포함되지 않은 BOT API 기능은 위키에 설명 된대로 여전히 사용할 수 있습니다.
python-telegram-bot
통해 설치하거나 업그레이드 할 수 있습니다
$ pip install python-telegram-bot --upgrade
프리 릴리스를 설치하려면 --pre
플래그를 사용하십시오.
소스에서 python-telegram-bot
설치할 수도 있지만 일반적으로 필요하지는 않습니다.
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
python-telegram-bot
팀에서 다운로드 한 릴리스 파일이 실제로 제공되었는지 확인할 수 있도록 다음과 같은 조치를 취했습니다.
V21.4로 시작하여 모든 릴리스는 Sigstore를 통해 서명됩니다. 해당 서명 파일은 GitHub 릴리스 페이지에 업로드됩니다. 서명을 확인하려면 Sigstore Python 클라이언트를 설치하고 GitHub 조치에서 서명을 확인하기위한 지침을 따르십시오. --repository
매개 변수의 입력으로 python-telegram-bot/python-telegram-bot
값을 사용하십시오.
이전 릴리스에는 GPG 키가 서명됩니다. 서명은 Github 릴리스 페이지와 PYPI 프로젝트에 업로드되며 접미사 .asc
로 끝납니다. 여기에서 공개 키를 찾으십시오. 키는 형식 <first_version>-<last_version>.gpg
형식으로 명명되었습니다.
또한 GitHub 릴리스 페이지에는 접미어 .sha1
이있는 파일에 릴리스 파일의 SHA1 해시가 포함되어 있습니다.
python-telegram-bot
가능한 한 적은 제 3 자 종속을 사용하려고합니다. 그러나 제 3 자 라이브러리를 사용하는 일부 기능의 경우 기능을 다시 구현하는 것보다 더 세심한 것입니다. 이러한 기능은 선택 사항 이므로 해당 타사 종속성은 기본적으로 설치되지 않습니다. 대신, 그들은 선택적 종속성으로 나열됩니다. 이를 통해 선택적 기능이 필요하지 않은 사용자의 불필요한 의존성 충돌을 피할 수 있습니다.
필요한 유일한 의존성은 기본 네트워킹 백엔드 인 telegram.request.HTTPXRequest
의 HTTPX ~ = 0.27입니다.
python-telegram-bot
추가 라이브러리와 함께 사용될 때 가장 유용합니다. 의존성 충돌을 최소화하기 위해 (선택적) 종속성에 대한 버전 요구 사항 측면에서 자유 주의적이 되려고 노력합니다. 반면에, 우리는 python-telegram-bot
의 안정성을 보장해야하므로 버전 경계를 적용하는 이유입니다. 이러한 경계로 인해 의존성 충돌이 발생하면 자유롭게 연락하십시오.
PTB는 선택적 종속성으로 설치할 수 있습니다.
pip install "python-telegram-bot[passport]"
암호화> = 39.0.1 라이브러리를 설치합니다. Telegram Passport 관련 기능을 사용하려면이를 사용하십시오.pip install "python-telegram-bot[socks]"
HTTPX [SOODS]를 설치합니다. 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]"
토네이도 ~ = 6.4 라이브러리를 설치합니다. telegram.ext.Updater.start_webhook
/ telegram.ext.Application.run_webhook
를 사용하려면이 사용을 사용하십시오.pip install "python-telegram-bot[callback-data]"
Cachetools를 설치합니다> = 5.3.3, <5.6.0 라이브러리. 임의의 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
, IE [rate-limiter, webhooks, callback-data, job-queue]
와 관련된 모든 선택적 종속성을 설치합니다. 도서관을 설치 한 후에는 도서관 작업을 시작할 수 있습니다. 따라서 시작하겠습니다.
Wiki에는 python-telegram-bot
통해 Pure Bot API에 어떻게 액세스 할 수 있는지 설명하는 API 소개가 포함되어 있습니다. 또한 튜토리얼 : 첫 번째 봇은 telegram.ext
모듈의 도움으로 챗봇을 쉽게 프로그래밍 할 수있는 방법에 대한 소개를 제공합니다.
python-telegram-bot
에 대한 기술 참조입니다. 여기에는 가능한 모든 클래스, 모듈, 메소드 및 인수 및 변경 사항에 대한 설명이 포함되어 있습니다.python-telegram-bot
의 다양한 기능에 대한보다 정교한 소개 및 기술 문서를 넘어서는 기타 유용한 리소스의 수가 있습니다.python-telegram-bot
의 다양한 기능을 보여주는 몇 가지 예가 포함되어 있습니다. 학습에 대한 접근 방식이 아니더라도 echobot.py
를 살펴보십시오. 그것은 대부분의 봇의 사실상 기지입니다. 이 예제의 코드는 공개 도메인에 공개되므로 코드를 잡고 그 위에 빌드하여 시작할 수 있습니다.위에서 언급 한 자료가 귀하의 질문에 답하지 않거나 단순히 귀하를 압도하지 않으면 도움을받는 몇 가지 방법이 있습니다.
V20.0 이후, python-telegram-bot
Pythons asyncio
모듈 위에 구축되었습니다. asyncio
는 일반적으로 단일 스레드이기 때문에 python-telegram-bot
현재 스레드 안전을 목표로하지 않습니다. 다중 스레드 설정에서 사용될 때 문제 (예 : 레이스 조건)를 유발할 가능성이있는 python-telegram-bots
API의 주목할만한 부분은 다음과 같습니다.
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에서만 재분배 될 수 있지만 라이브러리를 사용하는 응용 프로그램은 그럴 필요가 없습니다.