[英]How to work around getUpdates limit? (Telegram BOT)
我最近一直在嘗試使用官方 API 創建一個功能性電報 BOT,但我遇到了一些問題。 BOT 的目標是將所有從人 x 收到的消息轉發到組 y。
BOT 檢查“ https://api.telegram.org/bot {}/getUpdates”.format(TOKEN) 以獲取其最新收到的消息,以便它可以檢查該消息是什么以及它是否由人 x 發送。 這一切都曾經有效,直到我的網址在達到 100 條記錄后停止自我更新。
必須有一種方法可以自動清除這些記錄,對嗎? 我讀了一些關於“-offset”的內容,並嘗試通過 URL 查詢字符串來實現它,但似乎沒有結果。
感謝您的幫助。
您可以使用以下命令在保存/轉發特定消息后刪除它
.deleteMessage(chat_id=update.message.chat.id,message_id=update.message.message_id)
使用偏移以稍微不同的方式解決了這個問題(即使我能學會它,也可以在給定時間后猜測)。
因為在我發送消息的實例之后,我不再需要舊的更新,所以我使用了這個:
def get_update_id(updates):
num_updates = len(updates["result"])
last_update = num_updates - 1
update_id = updates["result"][last_update]["update_id"]
return (update_id)
其中更新等於:
def get_updates(OFFSET):
url = URL + "getUpdates?offset={}".format(OFFSET)
js = get_json_from_url(url)
return js
如前所述, def 在 send_message 語句之后以以下形式調用:
OFFSET = get_update_id(get_updates(OFFSET))
這將確保 getUpdates 中的最后一次更新將是再次運行代碼后的第一次更新
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.