python-telegram-bot 超时但消息已发送
TimedOut in python-telegram-bot but message is sent
我在尝试向特定电报频道发送消息时遇到以下错误:
TimedOut: Timed out
The read operation timed out
我在 python-telegram-bot 中使用的方法是 send_message
。
尽管我的机器人遇到了这个错误,但它仍然将消息发送到频道,因为我没有捕获到该异常,消息中的所有数据都丢失了,但我确实需要在特定时间段后从该频道删除我的消息时间。
机器人在超时的情况下发送消息是否正常?怎样才能避免这种情况再次发生,或者在发送后从频道中删除这种消息?
超时错误意味着 TG 没有足够快地对您的 send_message
请求发送响应。这并不一定意味着请求未被处理——这就是消息可能仍被发送的原因。但是,如果没有来自 TG 的回复,您就没有生成的消息的消息 ID,并且很难甚至不可能删除它。
您可以尝试增加PTB等待TG响应的时间。这可以通过不同的方式完成:
- 与
timeout
参数send_message
- 使用
Defaults.timeout
,如果您使用的是 PTB Defaults
设置
- 通过传递给
Updater
的 request_kwargs
指定它
您可能想在网络上查看此 wiki page。
免责声明:我目前是 python-telegram-bot
的维护者
我在尝试向特定电报频道发送消息时遇到以下错误:
TimedOut: Timed out
The read operation timed out
我在 python-telegram-bot 中使用的方法是 send_message
。
尽管我的机器人遇到了这个错误,但它仍然将消息发送到频道,因为我没有捕获到该异常,消息中的所有数据都丢失了,但我确实需要在特定时间段后从该频道删除我的消息时间。
机器人在超时的情况下发送消息是否正常?怎样才能避免这种情况再次发生,或者在发送后从频道中删除这种消息?
超时错误意味着 TG 没有足够快地对您的 send_message
请求发送响应。这并不一定意味着请求未被处理——这就是消息可能仍被发送的原因。但是,如果没有来自 TG 的回复,您就没有生成的消息的消息 ID,并且很难甚至不可能删除它。
您可以尝试增加PTB等待TG响应的时间。这可以通过不同的方式完成:
- 与
timeout
参数send_message
- 使用
Defaults.timeout
,如果您使用的是 PTBDefaults
设置 - 通过传递给
Updater
的
request_kwargs
指定它
您可能想在网络上查看此 wiki page。
免责声明:我目前是 python-telegram-bot