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 ਸੂਚੀ ਉਸ ਪ੍ਰੋਟੋਕੋਲ ਲਈ endpoint ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ, proxy-ਖਾਤਾ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਹੀਂ।
ਜੇ ਐਪ request ਜਾਂ get_updates_request ਰਾਹੀਂ ਕਸਟਮ ਆਬਜੈਕਟ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਦੀ ਬਜਾਏ ਉਹ ਆਬਜੈਕਟ ਸੁਸੰਗਤ ਢੰਗ ਨਾਲ ਕਨਫਿਗਰ ਕਰੋ। builder ਦੀ proxy ਸੈਟਿੰਗ ਅਤੇ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਿੱਤਾ ਗਿਆ request object ਸੰਬੰਧਿਤ ਰਾਹ ਲਈ ਵਿਕਲਪਿਕ ਇਨਪੁਟ ਹਨ।
Updater ਦੀਆਂ ਪੁਰਾਣੀਆਂ ਵਿਧੀਆਂ request_kwargs ਅਤੇ urllib3_proxy_kwargs ਵਰਤਦੀਆਂ ਹਨ ਅਤੇ ਦੂਜੀ ਪੀੜ੍ਹੀ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦੀਆਂ ਹਨ।