
拒否できないラッパーになりました
私たちには、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_queuetelegram.ext.ConversationHandler.check/handle_updatetelegram.ext.CallbackDataCachetelegram.ext.BasePersistencetelegram.ext.filtersモジュールのすべてのクラスあらゆるサイズの貢献を歓迎します。開始するには、貢献ガイドラインを確認してください。また、バグや機能のリクエストを報告することで支援することもできます。
開発を支援するために寄付を受け入れるかどうかを尋ねられます。私たちは考えを高く評価していますが、PTBを維持することは私たちの趣味であり、それのためのランニングコストはほとんどありません。したがって、寄付を受け入れるために設定されたものは何もありません。あなたがまだ寄付したい場合は、代わりにあなたが選んだ別のオープンソースプロジェクト/イニシアチブに寄付するように親切にお願いします。
LGPL-3の下で修正が記述およびライセンスされている場合、ソフトウェアをコピー、配布、変更することができます。デリバティブワークス(変更または図書館に静的にリンクされたものを含む)は、LGPL-3でのみ再配布できますが、ライブラリを使用するアプリケーションはそうではありません。