Te hemos hecho un envoltorio que no puedes rechazar
Tenemos una comunidad vibrante de desarrolladores que se ayudan mutuamente en nuestro grupo Telegram. ¡Únete a nosotros!
Estén atentos para las actualizaciones de la biblioteca y los nuevos lanzamientos en nuestro canal Telegram.
Esta biblioteca proporciona una interfaz Python, asincrónica pura para la API BOT Telegram. Es compatible con las versiones de Python 3.9+ .
Además de la implementación de API pura, esta biblioteca presenta varios métodos y atajos de conveniencia, así como una serie de clases de alto nivel para hacer que el desarrollo de bots sea fácil y directo. Estas clases están contenidas en el submódulo telegram.ext
.
Después de instalar la biblioteca, asegúrese de consultar la sección sobre cómo trabajar con PTB.
Todos los tipos y métodos de la API de Telegram Bot 7.11 son compatibles de forma nativa por esta biblioteca. Además, la funcionalidad de la API de BOT aún no incluida de forma nativa se puede usar como se describe en nuestro wiki.
Puede instalar o actualizar python-telegram-bot
a través de
$ pip install python-telegram-bot --upgrade
Para instalar una liberación previa, use el indicador --pre
Además.
También puede instalar python-telegram-bot
desde la fuente, aunque esto generalmente no es necesario.
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
Para permitirle verificar que un archivo de lanzamiento que descargó fue proporcionado por el equipo python-telegram-bot
, hemos tomado las siguientes medidas.
Comenzando con V21.4, todas las versiones se firman a través de SigStore. Los archivos de firma correspondientes se cargan en la página de lanzamientos de GitHub. Para verificar la firma, instale el cliente SigStore Python y siga las instrucciones para verificar las firmas de las acciones de GitHub. Como entrada para el parámetro --repository
, utilice el valor python-telegram-bot/python-telegram-bot
.
Las versiones anteriores se firman con una clave GPG. Las firmas se cargan tanto en la página de lanzamientos de GitHub como en el proyecto PYPI y terminan con un sufijo .asc
. Encuentre las claves públicas aquí. Las claves se nombran en el formato <first_version>-<last_version>.gpg
.
Además, la página de lanzamiento de GitHub también contiene los hashes SHA1 de los archivos de liberación en los archivos con el sufijo .sha1
.
python-telegram-bot
intenta usar la menor cantidad de dependencias de terceros como sea posible. Sin embargo, para algunas características, usar una biblioteca de terceros es más sano que implementar la funcionalidad nuevamente. Como estas características son opcionales , las dependencias de terceros correspondientes no se instalan de forma predeterminada. En cambio, se enumeran como dependencias opcionales. Esto permite evitar conflictos de dependencia innecesarios para los usuarios que no necesitan las características opcionales.
La única dependencia requerida es httpx ~ = 0.27 para telegram.request.HTTPXRequest
, el backend de red predeterminado.
python-telegram-bot
es más útil cuando se usa junto con bibliotecas adicionales. Para minimizar los conflictos de dependencia, tratamos de ser liberales en términos de requisitos de versión en las dependencias (opcionales). Por otro lado, tenemos que garantizar la estabilidad de python-telegram-bot
, por lo que aplicamos límites de versión. Si encuentra conflictos de dependencia debido a estos límites, no dude en comunicarse.
PTB se puede instalar con dependencias opcionales:
pip install "python-telegram-bot[passport]"
instala la criptografía> = 39.0.1 Biblioteca. Use esto, si desea usar la funcionalidad relacionada con el pasaporte de Telegram.pip install "python-telegram-bot[socks]"
instala HTTPX [SOCKS]. Use esto, si desea trabajar detrás de un servidor Socks5.pip install "python-telegram-bot[http2]"
instala httpx [http2]. Use esto, si desea usar HTTP/2.pip install "python-telegram-bot[rate-limiter]"
Instala aliolimiter ~ = 1.1.0. Use esto, si desea usar telegram.ext.AIORateLimiter
.pip install "python-telegram-bot[webhooks]"
instala la biblioteca Tornado ~ = 6.4. Use esto, si desea usar telegram.ext.Updater.start_webhook
/ telegram.ext.Application.run_webhook
.pip install "python-telegram-bot[callback-data]"
Instala el Cachetools> = 5.3.3, <5.6.0 Biblioteca. Use esto, si desea usar Callback_Data arbitrary.pip install "python-telegram-bot[job-queue]"
Instala el APSCHEDULER ~ = 3.10.4 Biblioteca y hace cumplir PYTZ> = 2018.6, donde pytz
es una dependencia de APScheduler
. Use esto, si desea usar el telegram.ext.JobQueue
. Para instalar múltiples dependencias opcionales, separarlas por comas, por ejemplo pip install "python-telegram-bot[socks,webhooks]"
.
Además, se proporcionan dos atajos:
pip install "python-telegram-bot[all]"
instala todas las dependencias opcionales.pip install "python-telegram-bot[ext]"
instala todas las dependencias opcionales que están relacionadas con telegram.ext
, es decir, [rate-limiter, webhooks, callback-data, job-queue]
. Una vez que haya instalado la biblioteca, puede comenzar a trabajar con ella, ¡así que comencemos!
Nuestra wiki contiene una introducción a la API que explica cómo se puede acceder a la API de BOT puro a través de python-telegram-bot
. Además, el tutorial: su primer bot ofrece una introducción sobre cómo los chatbots se pueden programar fácilmente con la ayuda del módulo telegram.ext
.
python-telegram-bot
. Contiene descripciones de todas las clases, módulos, métodos y argumentos disponibles, así como el ChangeLog.python-telegram-bot
y otros recursos útiles que van más allá de la documentación técnica.python-telegram-bot
. Incluso si no es su enfoque para el aprendizaje, eche un vistazo a echobot.py
. Es la base de facto para la mayoría de los bots que existen. El código para estos ejemplos se publica al dominio público, por lo que puede comenzar tomando el código y construyendo encima.Si los recursos mencionados anteriormente no responden a sus preguntas o simplemente lo abruman, hay varias formas de obtener ayuda.
Desde V20.0, python-telegram-bot
se basa en la parte superior del módulo Pythons asyncio
. Debido a que asyncio
es en general un solo hilo, python-telegram-bot
actualmente no apunta a ser seguro de hilo. Las partes notables de las API python-telegram-bots
que probablemente causen problemas (por ejemplo, condiciones de carrera) cuando se usan en un entorno múltiple incluyen:
telegram.ext.Application/Updater.update_queue
telegram.ext.ConversationHandler.check/handle_update
telegram.ext.CallbackDataCache
telegram.ext.BasePersistence
telegram.ext.filters
que permiten agregar/eliminar usuarios/chats permitidos en tiempo de ejecución Las contribuciones de todos los tamaños son bienvenidas. Revise nuestras pautas de contribución para comenzar. También puede ayudar informando errores o solicitudes de funciones.
De vez en cuando se nos pregunta si aceptamos donaciones para apoyar el desarrollo. Si bien apreciamos el pensamiento, mantener PTB es nuestro pasatiempo, y casi no tenemos costos de funcionamiento. Por lo tanto, no tenemos nada configurado para aceptar donaciones. Si aún desea donar, le pedimos que done a otro proyecto/iniciativa de código abierto de su elección.
Puede copiar, distribuir y modificar el software siempre que las modificaciones se describan y se licen de forma gratuita bajo LGPL-3. Los trabajos derivados (incluidas las modificaciones o cualquier cosa estática vinculada a la biblioteca) solo se pueden redistribuir en LGPL-3, pero las aplicaciones que usan la biblioteca no tienen que ser.