堆栈打印如下
self._request_param_check(name="proxy", get_updates=False)
"/opt/EchoBot/.venv/lib/python3.12/site-packages/telegram/ext/_applicationbuilder.py", line 472, in _request_param_check
raise RuntimeError(_TWO_ARGS_REQ.format(name, "request
instance"))
RuntimeError: The parameter proxy may only be set, if no request
instance was set.
经排查是telegram新版api的兼容性问题,API——proxy 和自定义 request 不能同时设置。
建议将echobot/channels/platforms/telegram.py中
把下面这些行(从 self._running = True 到 self.config.proxy,):
self._running = True
request = HTTPXRequest(
connection_pool_size=16,
pool_timeout=5.0,
connect_timeout=30.0,
read_timeout=30.0,
)
builder = (
Application.builder()
.token(self.config.bot_token)
.request(request)
.get_updates_request(request)
)
if self.config.proxy:
builder = builder.proxy(self.config.proxy).get_updates_proxy(
self.config.proxy,
)
替换成:
self._running = True
if self.config.proxy:
builder = (
Application.builder()
.token(self.config.bot_token)
.proxy(self.config.proxy)
.get_updates_proxy(self.config.proxy)
)
else:
request = HTTPXRequest(
connection_pool_size=16,
pool_timeout=5.0,
connect_timeout=30.0,
read_timeout=30.0,
)
builder = (
Application.builder()
.token(self.config.bot_token)
.request(request)
.get_updates_request(request)
)
堆栈打印如下
self._request_param_check(name="proxy", get_updates=False)
"/opt/EchoBot/.venv/lib/python3.12/site-packages/telegram/ext/_applicationbuilder.py", line 472, in _request_param_check
raise RuntimeError(_TWO_ARGS_REQ.format(name, "request
instance"))
RuntimeError: The parameter
proxymay only be set, if no requestinstance was set.
经排查是telegram新版api的兼容性问题,API——proxy 和自定义 request 不能同时设置。
建议将echobot/channels/platforms/telegram.py中
把下面这些行(从 self._running = True 到 self.config.proxy,):
替换成: