Nous avons fait de vous un emballage que vous ne pouvez pas refuser
Nous avons une communauté dynamique de développeurs qui s'entraide dans notre groupe télégramme. Rejoignez-nous!
Restez à l'écoute pour les mises à jour de la bibliothèque et les nouvelles versions sur notre canal télégramme.
Cette bibliothèque fournit une interface asynchrone pure python pour l'API de Bot Telegram. Il est compatible avec les versions Python 3.9+ .
En plus de la mise en œuvre de l'API pure, cette bibliothèque dispose de plusieurs méthodes de commodité et raccourcis ainsi qu'un certain nombre de classes de haut niveau pour rendre le développement de bots faciles et simples. Ces classes sont contenues dans le sous-module telegram.ext
.
Après avoir installé la bibliothèque, assurez-vous de consulter la section sur le travail avec PTB.
Tous les types et méthodes de l'API Bot Telegram 7.11 sont soutenus nativement par cette bibliothèque. De plus, la fonctionnalité de l'API BOT non encore nativement incluse peut encore être utilisée comme décrit dans notre wiki.
Vous pouvez installer ou mettre à niveau python-telegram-bot
via
$ pip install python-telegram-bot --upgrade
Pour installer une pré-libération, utilisez le drapeau --pre
plus.
Vous pouvez également installer python-telegram-bot
à partir de la source, bien que cela ne soit généralement pas nécessaire.
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
Pour vous permettre de vérifier qu'un fichier de publication que vous avez téléchargé a en effet été fourni par l'équipe python-telegram-bot
, nous avons pris les mesures suivantes.
À partir de v21.4, toutes les versions sont signées via Sigstore. Les fichiers de signature correspondants sont téléchargés sur la page GitHub Release. Pour vérifier la signature, veuillez installer le client Sigstore Python et suivre les instructions pour vérifier les signatures des actions GitHub. Comme entrée pour le paramètre --repository
, veuillez utiliser la valeur python-telegram-bot/python-telegram-bot
.
Les versions antérieures sont signées avec une clé GPG. Les signatures sont téléchargées à la fois sur la page GitHub Release et le projet PYPI et se terminent par un suffixe .asc
. Veuillez trouver les clés publiques ici. Les touches sont nommées dans le format <first_version>-<last_version>.gpg
.
De plus, la page de version GitHub contient également les hachages SHA1 des fichiers de version dans les fichiers avec le suffixe .sha1
.
python-telegram-bot
essaie d'utiliser le moins de dépendances tiers que possible. Cependant, pour certaines fonctionnalités de l'utilisation d'une bibliothèque tiers est plus saine que d'implémenter à nouveau les fonctionnalités. Comme ces fonctionnalités sont facultatives , les dépendances correspondantes de tiers ne sont pas installées par défaut. Au lieu de cela, ils sont répertoriés comme des dépendances facultatives. Cela permet d'éviter les conflits de dépendance inutiles pour les utilisateurs qui n'ont pas besoin des fonctionnalités facultatives.
La seule dépendance requise est httpx ~ = 0,27 pour telegram.request.HTTPXRequest
, le backend de mise en réseau par défaut.
python-telegram-bot
est le plus utile lorsqu'il est utilisé avec des bibliothèques supplémentaires. Pour minimiser les conflits de dépendance, nous essayons d'être libéraux en termes d'exigences de version sur les dépendances (facultatives). D'un autre côté, nous devons assurer la stabilité de python-telegram-bot
, c'est pourquoi nous appliquons des limites de version. Si vous rencontrez des conflits de dépendance en raison de ces limites, n'hésitez pas à tendre la main.
PTB peut être installé avec des dépendances en option:
pip install "python-telegram-bot[passport]"
installe la bibliothèque Cryptography> = 39.0.1. Utilisez-le, si vous souhaitez utiliser des fonctionnalités liées aux passeports Telegram.pip install "python-telegram-bot[socks]"
installe httpx [socks]. Utilisez-le, si vous souhaitez travailler derrière un serveur SOCKS5.pip install "python-telegram-bot[http2]"
installe httpx [http2]. Utilisez-le, si vous souhaitez utiliser HTTP / 2.pip install "python-telegram-bot[rate-limiter]"
installe Aiolimiter ~ = 1,1,0. Utilisez-le, si vous souhaitez utiliser telegram.ext.AIORateLimiter
.pip install "python-telegram-bot[webhooks]"
Installe la bibliothèque Tornado ~ = 6.4. Utilisez ceci, si vous souhaitez utiliser telegram.ext.Updater.start_webhook
/ telegram.ext.Application.run_webhook
.pip install "python-telegram-bot[callback-data]"
Installe le Cachetools> = 5.3.3, <5.6.0 Library. Utilisez-le, si vous souhaitez utiliser un callback_data arbitraire.pip install "python-telegram-bot[job-queue]"
Installe la bibliothèque APScheduler ~ = 3.10.4 et applique Pytz> = 2018.6, où pytz
est une dépendance d' APScheduler
. Utilisez-le, si vous souhaitez utiliser le telegram.ext.JobQueue
. Pour installer plusieurs dépendances facultatives, séparez-les par des virgules, par exemple pip install "python-telegram-bot[socks,webhooks]"
.
De plus, deux raccourcis sont fournis:
pip install "python-telegram-bot[all]"
installe toutes les dépendances facultatives.pip install "python-telegram-bot[ext]"
installe toutes les dépendances facultatives liées à telegram.ext
, c'est-à-dire [rate-limiter, webhooks, callback-data, job-queue]
. Une fois que vous avez installé la bibliothèque, vous pouvez commencer à travailler avec elle - alors commençons!
Notre wiki contient une introduction à l'API expliquant comment l'API Pure Bot peut être accessible via python-telegram-bot
. De plus, le tutoriel: Votre premier bot donne une introduction sur la façon dont les chatbots peuvent être facilement programmés à l'aide du module telegram.ext
.
python-telegram-bot
. Il contient des descriptions de toutes les classes, modules, méthodes et arguments disponibles ainsi que dans le changelog.python-telegram-bot
et d'autres ressources utiles qui dépassent la documentation technique.python-telegram-bot
. Même si ce n'est pas votre approche d'apprentissage, veuillez jeter un œil à echobot.py
. C'est la base de facto pour la plupart des robots. Le code de ces exemples est publié dans le domaine public, vous pouvez donc commencer par saisir le code et construire en plus.Si les ressources mentionnées ci-dessus ne répondent pas à vos questions ou ne vous submergent pas, il existe plusieurs façons d'obtenir de l'aide.
Depuis V20.0, python-telegram-bot
est construit sur le module Pythons asyncio
Pythons. Parce asyncio
est en général unique, python-telegram-bot
ne vise actuellement pas à être filial. Des parties remarquables de l'API python-telegram-bots
qui sont susceptibles de causer des problèmes (par exemple, les conditions de course) lorsqu'elles sont utilisées dans un cadre multi-thread incluent:
telegram.ext.Application/Updater.update_queue
telegram.ext.ConversationHandler.check/handle_update
telegram.ext.CallbackDataCache
telegram.ext.BasePersistence
telegram.ext.filters
qui permettent d'ajouter / supprimer les utilisateurs / chats autorisés lors de l'exécution Les contributions de toutes tailles sont les bienvenues. Veuillez consulter nos directives de contribution pour commencer. Vous pouvez également aider en signalant des bogues ou des demandes de fonctionnalités.
Parfois, on nous demande si nous acceptons les dons pour soutenir le développement. Bien que nous apprécions la pensée, le maintien du PTB est notre passe-temps, et nous n'avons presque aucun coût de fonctionnement pour cela. Nous n'avons donc rien mis en place pour accepter les dons. Si vous souhaitez toujours faire un don, nous vous demandons de faire un don à un autre projet / initiative open source de votre choix à la place.
Vous pouvez copier, distribuer et modifier le logiciel à condition que les modifications soient décrites et sous licence gratuitement sous LGPL-3. Les travaux dérivés (y compris les modifications ou quoi que ce soit statiquement liés à la bibliothèque) ne peuvent être redistribués que dans LGPL-3, mais les applications qui utilisent la bibliothèque n'ont pas à l'être.