拒否できないラッパーになりました
私たちには、Telegram Groupでお互いを支援する開発者の活気に満ちたコミュニティがあります。参加しませんか!
Telegramチャンネルでのライブラリの更新と新しいリリースをお楽しみに。
このライブラリは、Telegram Bot APIの純粋なPython、非同期インターフェイスを提供します。 Pythonバージョン3.9+と互換性があります。
純粋なAPI実装に加えて、このライブラリはいくつかの利便性の方法とショートカット、およびボットの開発を簡単かつ簡単にするための多くのハイレベルクラスを備えています。これらのクラスは、 telegram.ext
サブモジュールに含まれています。
ライブラリをインストールした後、PTBの操作に関するセクションを必ずチェックしてください。
Telegram Bot API 7.11のすべてのタイプと方法は、このライブラリによってネイティブにサポートされています。さらに、Wikiで説明されているように、まだネイティブに含まれていないボット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
できるだけ少ないサードパーティの依存関係を使用しようとします。ただし、サードパーティライブラリを使用する一部の機能では、機能を再度実装するよりも正気です。これらの機能はオプションであるため、対応するサードパーティの依存関係はデフォルトではインストールされません。代わりに、それらはオプションの依存関係としてリストされています。これにより、オプションの機能を必要としないユーザーの不必要な依存関係の競合を回避できます。
必要な依存関係は、 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 [ソックス]をインストールします。 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]"
。
さらに、2つのショートカットが提供されています。
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
を介して純粋なボット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でのみ再配布できますが、ライブラリを使用するアプリケーションはそうではありません。