Nós fizemos de você um invólucro que você não pode recusar
Temos uma comunidade vibrante de desenvolvedores, ajudando -se em nosso grupo de telegramas. Junte-se a nós!
Fique atento às atualizações da biblioteca e novos lançamentos em nosso canal Telegram.
Esta biblioteca fornece uma interface python pura e assíncrona para a API do Telegram Bot. É compatível com as versões Python 3.9+ .
Além da implementação da API pura, esta biblioteca apresenta vários métodos e atalhos de conveniência, além de várias classes de alto nível para facilitar e direto o desenvolvimento de bots. Essas classes estão contidas no submódulo telegram.ext
.
Depois de instalar a biblioteca, verifique a seção sobre o trabalho com PTB.
Todos os tipos e métodos da API do Telegram Bot 7.11 são suportados nativamente por esta biblioteca. Além disso, a funcionalidade da API de bot ainda não incluída ainda pode ser usada como descrito em nosso wiki.
Você pode instalar ou atualizar python-telegram-bot
via
$ pip install python-telegram-bot --upgrade
Para instalar um pré-lançamento, use o sinalizador --pre
além.
Você também pode instalar python-telegram-bot
da fonte, embora isso geralmente não seja necessário.
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
Para permitir que você verifique se um arquivo de liberação que você baixou foi realmente fornecido pela equipe python-telegram-bot
, tomamos as seguintes medidas.
Começando com v21.4, todos os lançamentos são assinados via Sigstore. Os arquivos de assinatura correspondentes são enviados na página Github Lankes. Para verificar a assinatura, instale o cliente Sigstore Python e siga as instruções para verificar as assinaturas das ações do GitHub. Como entrada para o parâmetro --repository
, use o valor python-telegram-bot/python-telegram-bot
.
Os lançamentos anteriores são assinados com uma chave GPG. As assinaturas são carregadas na página do GitHub Lankes e para o projeto Pypi e terminam com um sufixo .asc
. Por favor, encontre as chaves públicas aqui. As chaves são nomeadas no formato <first_version>-<last_version>.gpg
.
Além disso, a página de liberação do Github também contém os hashes sha1 dos arquivos de liberação nos arquivos com o sufixo .sha1
.
python-telegram-bot
tenta usar o menor número possível de dependências de terceiros. No entanto, para alguns recursos usando uma biblioteca de terceiros, é mais sã do que implementar a funcionalidade novamente. Como esses recursos são opcionais , as dependências de terceiros correspondentes não são instaladas por padrão. Em vez disso, eles são listados como dependências opcionais. Isso permite evitar conflitos desnecessários de dependência para usuários que não precisam dos recursos opcionais.
A única dependência necessária é httpx ~ = 0,27 para telegram.request.HTTPXRequest
, o back -end de rede padrão.
python-telegram-bot
é mais útil quando usado junto com bibliotecas adicionais. Para minimizar conflitos de dependência, tentamos ser liberais em termos de requisitos de versão nas dependências (opcionais). Por outro lado, precisamos garantir a estabilidade do python-telegram-bot
, e é por isso que aplicamos limites da versão. Se você encontrar conflitos de dependência devido a esses limites, fique à vontade para alcançar.
O PTB pode ser instalado com dependências opcionais:
pip install "python-telegram-bot[passport]"
instala a criptografia> = 39.0.1 da biblioteca. Use isso, se você deseja usar a funcionalidade relacionada ao passaporte do Telegram.pip install "python-telegram-bot[socks]"
instala Httpx [Socks]. Use isso, se você deseja trabalhar atrás de um servidor Socks5.pip install "python-telegram-bot[http2]"
instala Httpx [http2]. Use isso, se você deseja usar o HTTP/2.pip install "python-telegram-bot[rate-limiter]"
instala aiolimiter ~ = 1.1.0. Use isso, se você deseja usar telegram.ext.AIORateLimiter
.pip install "python-telegram-bot[webhooks]"
instala a biblioteca Tornado ~ = 6.4. Use isso, se você deseja usar telegram.ext.Updater.start_webhook
/ telegram.ext.Application.run_webhook
.pip install "python-telegram-bot[callback-data]"
instala o CacheTools> = 5.3.3, <5.6.0 Library. Use isso, se você deseja usar o retorno de chamada arbitrário.pip install "python-telegram-bot[job-queue]"
instala o apscheduler ~ = 3.10.4 biblioteca e aplica pytz> = 2018.6, onde pytz
é uma dependência do APScheduler
. Use isso, se você deseja usar o telegram.ext.JobQueue
. Para instalar várias dependências opcionais, separe-as por vírgulas, por exemplo pip install "python-telegram-bot[socks,webhooks]"
.
Além disso, são fornecidos dois atalhos:
pip install "python-telegram-bot[all]"
instala todas as dependências opcionais.pip install "python-telegram-bot[ext]"
instala todas as dependências opcionais relacionadas ao telegram.ext
, ou seja, [rate-limiter, webhooks, callback-data, job-queue]
. Depois de instalar a biblioteca, você pode começar a trabalhar com ela - então vamos começar!
Nosso wiki contém uma introdução à API explicando como a API de bot pura pode ser acessada via python-telegram-bot
. Além disso, o tutorial: seu primeiro bot fornece uma introdução sobre como os chatbots podem ser facilmente programados com a ajuda do módulo telegram.ext
.
python-telegram-bot
. Ele contém descrições de todas as classes, módulos, métodos e argumentos disponíveis, bem como o Changelog.python-telegram-bot
e outros recursos úteis que vão além da documentação técnica.python-telegram-bot
. Mesmo que não seja sua abordagem para aprender, dê uma olhada no echobot.py
. É a base de fato da maioria dos bots por aí. O código para esses exemplos é divulgado ao domínio público, para que você possa começar pegando o código e construindo sobre ele.Se os recursos mencionados acima não responderem às suas perguntas ou simplesmente o sobrecarregam, existem várias maneiras de obter ajuda.
Desde v20.0, python-telegram-bot
é construído sobre o módulo Pythons asyncio
. Como asyncio
é em geral, python-telegram-bot
atualmente não pretende ser seguro para threads. Partes notáveis da API python-telegram-bots
que provavelmente causarão problemas (por exemplo, condições de corrida) quando usadas em um ambiente multithread incluem:
telegram.ext.Application/Updater.update_queue
telegram.ext.ConversationHandler.check/handle_update
telegram.ext.CallbackDataCache
telegram.ext.BasePersistence
telegram.ext.filters
que permitem adicionar/remover usuários/bate -papos permitidos no tempo de execução As contribuições de todos os tamanhos são bem -vindas. Revise nossas diretrizes de contribuição para começar. Você também pode ajudar relatando bugs ou solicitações de recursos.
Ocasionalmente, nos perguntam se aceitamos doações para apoiar o desenvolvimento. Enquanto apreciamos o pensamento, manter o PTB é o nosso hobby, e quase não temos custos de funcionamento. Portanto, não temos nada criado para aceitar doações. Se você ainda deseja doar, pedimos que você doe para outro projeto de código aberto/iniciativa de sua escolha.
Você pode copiar, distribuir e modificar o software, desde que as modificações sejam descritas e licenciadas gratuitamente no LGPL-3. Trabalhos derivativos (incluindo modificações ou qualquer coisa estaticamente vinculada à biblioteca) podem ser redistribuídos apenas no LGPL-3, mas os aplicativos que usam a biblioteca não precisam ser.