Wir haben Sie zu einem Wrapper gemacht, den Sie nicht ablehnen können
Wir haben eine lebendige Gemeinschaft von Entwicklern, die sich in unserer Telegrammgruppe gegenseitig helfen. Begleiten Sie uns!
Seien Sie gespannt auf Bibliotheksaktualisierungen und Neuveröffentlichungen auf unserem Telegrammkanal.
Diese Bibliothek bietet eine reine asynchrone Schnittstelle für die Telegramm -Bot -API. Es ist kompatibel mit Python -Versionen 3.9+ .
Zusätzlich zur reinen API-Implementierung verfügt diese Bibliothek über mehrere Komfortmethoden und Verknüpfungen sowie eine Reihe von Klassen auf hoher Ebene, um die Entwicklung von Bots einfach und unkompliziert zu machen. Diese Klassen sind im telegram.ext
-Submodul enthalten.
Schauen Sie sich nach der Installation der Bibliothek den Abschnitt zur Arbeit mit PTB an.
All types and methods of the Telegram Bot API 7.11 are natively supported by this library. Darüber hinaus kann die BOT -API -Funktionalität, die noch nicht nativ eingeschlossen ist, noch wie in unserem Wiki beschrieben verwendet werden.
Sie können python-telegram-bot
über installieren oder aktualisieren
$ pip install python-telegram-bot --upgrade
Verwenden Sie zum Installieren eines Vorabsatzes zusätzlich das Flag --pre
Flag.
Sie können auch python-telegram-bot
aus der Quelle installieren, obwohl dies normalerweise nicht erforderlich ist.
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
Damit Sie überprüfen können, ob eine von Ihnen heruntergeladene Release-Datei tatsächlich vom python-telegram-bot
Team bereitgestellt wurde, haben wir die folgenden Maßnahmen ergriffen.
Ab V21.4 werden alle Veröffentlichungen über Sigstore signiert. Die entsprechenden Signaturdateien werden auf die Seite GitHub Releases hochgeladen. Um die Signatur zu überprüfen, installieren Sie bitte den Sigstore Python -Client und befolgen Sie die Anweisungen zur Überprüfung von Signaturen aus Github -Aktionen. Als Eingabe für den Parameter --repository
verwenden Sie bitte den Wert python-telegram-bot/python-telegram-bot
.
Frühere Veröffentlichungen sind mit einem GPG -Schlüssel unterzeichnet. Die Signaturen werden sowohl auf die Seite GitHub Releases als auch auf das PYPI -Projekt hochgeladen und enden mit einem Suffix .asc
. Hier finden Sie die öffentlichen Schlüssel hier. Die Schlüssel sind im Format <first_version>-<last_version>.gpg
benannt.
Darüber hinaus enthält die GitHub -Release -Seite auch die SHA1 -Hashes der Release -Dateien in den Dateien mit dem Suffix .sha1
.
python-telegram-bot
versucht, so wenige Abhängigkeiten der Drittanbieter wie möglich zu verwenden. Für einige Funktionen, die eine Bibliothek mit Drittanbietern verwenden, ist dies jedoch vernünftiger als die Umsetzung der Funktionalität. Da diese Funktionen optional sind, werden die entsprechenden Abhängigkeiten der Drittanbieter standardmäßig nicht installiert. Stattdessen werden sie als optionale Abhängigkeiten aufgeführt. Dies ermöglicht es, unnötige Abhängigkeitskonflikte für Benutzer zu vermeiden, die die optionalen Funktionen nicht benötigen.
Die einzige erforderliche Abhängigkeit ist httpx ~ = 0,27 für telegram.request.HTTPXRequest
, das Standard -Networking -Backend.
python-telegram-bot
ist bei Verwendung zusammen mit zusätzlichen Bibliotheken am nützlichsten. Um Abhängigkeitskonflikte zu minimieren, versuchen wir, in Bezug auf die (optionalen) Abhängigkeiten liberal zu sein. Auf der anderen Seite müssen wir die Stabilität von python-telegram-bot
sicherstellen, weshalb wir Versionsgrenzen anwenden. Wenn Sie aufgrund dieser Grenzen auf Abhängigkeitskonflikte stoßen, können Sie es gerne erreichen.
PTB kann mit optionalen Abhängigkeiten installiert werden:
pip install "python-telegram-bot[passport]"
installiert die Kryptographie> = 39.0.1 Bibliothek. Verwenden Sie dies, wenn Sie Telegrammpassfunktionen verwenden möchten.pip install "python-telegram-bot[socks]"
installiert HTTPX [Socken]. Verwenden Sie dies, wenn Sie hinter einem Socken -5 -Server arbeiten möchten.pip install "python-telegram-bot[http2]"
installiert httpx [http2]. Verwenden Sie dies, wenn Sie HTTP/2 verwenden möchten.pip install "python-telegram-bot[rate-limiter]"
installiert Aiolimiter ~ = 1.1.0. Verwenden Sie dies, wenn Sie telegram.ext.AIORateLimiter
verwenden möchten.pip install "python-telegram-bot[webhooks]"
installiert die Tornado ~ = 6.4 Bibliothek. Verwenden Sie dies, wenn Sie telegram.ext.Updater.start_webhook
/ telegram.ext.Application.run_webhook
verwenden möchten.pip install "python-telegram-bot[callback-data]"
installiert die Cachetools> = 5.3.3, <5.6.0 Bibliothek. Verwenden Sie dies, wenn Sie beliebige callback_data verwenden möchten.pip install "python-telegram-bot[job-queue]"
installiert die ApScheduler ~ = 3.10.4 Bibliothek und erzwingt Pytz> = 2018.6, wobei pytz
eine Abhängigkeit von APScheduler
ist. Verwenden Sie dies, wenn Sie das telegram.ext.JobQueue
verwenden möchten. Um mehrere optionale Abhängigkeiten zu installieren, trennen Sie sie nach Commas, z. B. pip install "python-telegram-bot[socks,webhooks]"
.
Zusätzlich werden zwei Abkürzungen bereitgestellt:
pip install "python-telegram-bot[all]"
installiert alle optionalen Abhängigkeiten.pip install "python-telegram-bot[ext]"
installiert alle optionalen Abhängigkeiten [rate-limiter, webhooks, callback-data, job-queue]
die mit telegram.ext
bezogen werden. Sobald Sie die Bibliothek installiert haben, können Sie damit beginnen, damit zu arbeiten - also fangen wir an!
Unser Wiki enthält eine Einführung in die API, in der erklärt wird, wie auf die reine Bot-API über python-telegram-bot
zugegriffen werden kann. Darüber hinaus gibt das Tutorial: Ihr erster Bot eine Einführung, wie Chatbots mit Hilfe des telegram.ext
-Moduls leicht programmiert werden können.
python-telegram-bot
. Es enthält Beschreibungen aller verfügbaren Klassen, Module, Methoden und Argumente sowie des Changelogs.python-telegram-bot
und anderen nützlichen Ressourcen, die über die technische Dokumentation hinausgehen.python-telegram-bot
zeigen. Auch wenn es nicht Ihr Ansatz zum Lernen ist, sehen Sie sich echobot.py
an. Es ist die De -facto -Basis für die meisten Bots da draußen. Der Code für diese Beispiele wird öffentlich zugänglich gemacht, sodass Sie zunächst den Code ergreifen und darüber aufbauen können.Wenn die oben genannten Ressourcen Ihre Fragen nicht beantworten oder Sie einfach überwältigen, gibt es verschiedene Möglichkeiten, Hilfe zu erhalten.
Seit V20.0 ist python-telegram-bot
auf dem Pythons asyncio
Modul gebaut. Da asyncio
im Allgemeinen Single-Threaded ist, zielt python-telegram-bot
derzeit nicht darauf ab, threadssicher zu sein. Zu den bemerkenswerten Teilen der python-telegram-bots
-API, die wahrscheinlich Probleme (z. B. Rassenbedingungen) verursachen, gehören:
telegram.ext.Application/Updater.update_queue
telegram.ext.ConversationHandler.check/handle_update
telegram.ext.CallbackDataCache
telegram.ext.BasePersistence
telegram.ext.filters
, mit dem erlaubte Benutzer/Chats zur Laufzeit hinzufügen/entfernen können Beiträge aller Größen sind willkommen. Bitte überprüfen Sie unsere Beitragsrichtlinien, um loszulegen. Sie können auch helfen, indem Sie Fehler oder Funktionsanfragen melden.
Gelegentlich werden wir gefragt, ob wir Spenden annehmen, um die Entwicklung zu unterstützen. Obwohl wir den Gedanken schätzen, ist es unser Hobby, PTB zu pflegen, und wir haben fast keine laufenden Kosten dafür. Wir haben daher nichts eingerichtet, um Spenden zu akzeptieren. Wenn Sie immer noch spenden möchten, bitten wir Sie freundlich, stattdessen an ein anderes Open -Source -Projekt/eine Initiative Ihrer Wahl zu spenden.
Sie können die Software kopieren, verteilen und ändern, sofern Änderungen unter LGPL-3 kostenlos beschrieben und lizenziert werden. Derivative Werke (einschließlich Modifikationen oder irgendetwas, das statisch mit der Bibliothek verbunden) ist, können nur unter LGPL-3 umverteilt werden, die Anwendungen, die die Bibliothek verwenden, müssen jedoch nicht sein.