python-telegram-bot 22: API ခေါ်ဆိုမှုနှင့် polling အတွက် proxy ဆက်တင်များ
python-telegram-bot 22.8 တွင် polling အက်ပ်မတည်ဆောက်မီ proxy နှင့် get_updates_proxy နှစ်ခုလုံးကို ပြင်ဆင်ပါ။
python-telegram-bot 22.8 တွင် polling တွင် ကိုယ်ပိုင် request object ရှိသည်။ ထို့ကြောင့် အောင်မြင်သော သာမန် API ခေါ်ဆိုမှုသည် getUpdates တူညီသော proxy လမ်းကြောင်းကို ရရှိသည်ဟု မသက်သေပြပါ။
polling အက်ပ်အတွက် လမ်းကြောင်းနှစ်ခုလုံးကို ပြင်ဆင်ပါ:
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 သည် polling ကို ပြင်ဆင်သည်။ ဤအက်ပ်တည်ဆောက်မှုပတ်လည်ရှိ လက်ရှိ handler များနှင့် polling သို့မဟုတ် webhook သက်တမ်းစက်ဝန်းကို ဆက်လက်အသုံးပြုပါ။
URL အထောက်အထားများသည် နေရာယူထားသူများဖြစ်သည်။ ဖြန့်ကျက်မှု၏ အထောက်အထားစနစ်မှတစ်ဆင့် တကယ့်တန်ဖိုးများကို ရယူပြီး URL အစိတ်အပိုင်းများရှိ သိမ်းဆည်းထားသော စာလုံးများကို ရာခိုင်နှုန်းဖြင့် ကုဒ်လုပ်ပါ။ ကြားခံ၏ အမှန်တကယ် scheme ကို အသုံးပြုပါ: HTTPXRequest သည် HTTP proxy URL များကို လက်ခံပြီး ပက်ကေ့ဂျ်လိုအပ်သော SOCKS မှီခိုမှုဖြင့် SOCKS5 ကို ပံ့ပိုးသည်။ SOCKS5 proxy စာရင်း သည် ထို protocol အတွက် endpoint ကိုယ်စားလှယ်လောင်းများကို ပံ့ပိုးသည်၊ proxy အကောင့် အထောက်အထားများ မဟုတ်ပါ။
အက်ပ်သည် request သို့မဟုတ် get_updates_request မှတစ်ဆင့် စိတ်ကြိုက် object များကို ပံ့ပိုးပါက ယင်းအစား ထို object များကို ညီညွတ်စွာ ပြင်ဆင်ပါ။ builder ရှိ proxy ဆက်တင်နှင့် သီးခြားပံ့ပိုးထားသော request object သည် သက်ဆိုင်ရာလမ်းကြောင်းအတွက် အစားထိုး input များဖြစ်သည်။
Updater ၏ ဟောင်းသော ချက်ပြုတ်နည်းများသည် request_kwargs နှင့် urllib3_proxy_kwargs ကို အသုံးပြုပြီး အခြားမျိုးဆက်ကို ပစ်မှတ်ထားသည်။