python-telegram-bot 22.8 ではポーリングに独自のリクエストオブジェクトがあります。そのため、通常の API 呼び出しが成功しても、getUpdates が同じプロキシ経路を受け取ったことにはなりません。

ポーリングアプリケーションでは、両方の経路を設定します:

from telegram.ext import Application

proxy_url = 'http://proxy-user:[email protected]:8080'
application = (
    Application.builder()
    .token(bot_token)
    .proxy(proxy_url)
    .get_updates_proxy(proxy_url)
    .build()
)

proxy は一般的な Bot API 操作を設定し、get_updates_proxy はポーリングを設定します。このアプリケーション構築の周囲では、既存のハンドラーとポーリングまたは webhook のライフサイクルを引き続き使用してください。

URL の認証情報はプレースホルダーです。デプロイメントの認証情報メカニズムを通じて実際の値を取得し、URL コンポーネント内の予約文字をパーセントエンコードしてください。仲介者の実際の scheme を使用します: HTTPXRequest は HTTP プロキシ URL を受け付け、パッケージが必要とする SOCKS 依存関係を伴う SOCKS5 をサポートします。SOCKS5 プロキシリストはそのプロトコルのエンドポイント候補を提供するものであり、プロキシアカウントの認証情報ではありません。

アプリケーションが request または get_updates_request を通じてカスタムオブジェクトを提供する場合は、代わりにそれらのオブジェクトを一貫して設定してください。builder のプロキシ設定と別途提供されるリクエストオブジェクトは、対応する経路への代替入力です。

古い Updater のレシピは request_kwargs と urllib3_proxy_kwargs を使用しており、別世代を対象としています。

関連記事