更新日誌 ==================== | 這裡寫著 PyPtt 的故事。 | 2026.08.08 新增兩階段驗證(2FA)畫面偵測,登入時遇到 2FA 會拋出 ``TwoFactorAuthRequired``(繼承自 ``LoginError``)。 | 2026.07.26 移除樂透 API(``get_lottery`` / ``bet_lottery``)與相關的 ``LotteryField`` / ``LotteryOptionField`` / ``LotteryBetField`` / ``NoSuchLottery``。這是 breaking change:樂透畫面同時違反 ``TargetUnit`` 螢幕比對的三個前提(畫面字串唯一標識狀態、送出後必有回應、按鍵不會被中間層吃掉),維護成本高於價值。 | 2026.07.21 新增 :doc:`api/set_signature_file` API(``set_signature_file``),可更新使用者名片檔(plan)。 | 2026.07.19 內嵌 pyUAO Big5-UAO 編碼器,移除對外部 ``uao`` 套件的依賴。 | 2026.07.19 新增 ``lottery`` API(``get_lottery`` / ``bet_lottery``),支援看板樂透查詢與下注功能。(已於 2026.07.26 移除) | 2026.07.19 ``post`` 新增 ``anonymous`` / ``display_id`` 參數,支援匿名看板發文(可自訂顯示名稱)。 | 2026.07.13 ``del_post`` 新增 ``bad_post_type`` / ``bad_post_reason`` 參數,支援版主刪除他人文章時的惡退(劣文)功能;同時修正板主刪文未回答「惡退文章?(y/N)」提示導致的 3 秒逾時問題。 | 2026.04.05 修正 ``connect_core`` 編碼回退機制僅支援單向(big5uao → utf-8),導致 ``UseTooManyResources`` 偵測失敗的問題。 | 2026.04.05 修正 ``_decode_screen`` 中 ``UseTooManyResources`` 匹配後未設定 ``find_target``,導致編碼回退覆蓋偵測結果的問題。 | 2026.04.05 偵測到 ``UseTooManyResources`` 時直接拋出例外,由上層處理重新連線。 | 2026.03.26 重構 ``parse_query_post`` 為 ``PostQueryResult`` dataclass,改善內部結構。 | 2025.10.18 PyPtt 支援 Python 3.14 Free Threaded。 | 2025.10.18 重構測試全面採用 pytest,終於可以一次測完所有功能了! | 重構 CI/CD 流程。重構底層與批踢踢連線模組。 | 2025.09.26 支援 Python 3.13。 | 2025.09.07 新增 :doc:`api/get_post_list` API,可以批次取得文章列表。 | 2025.04.21 修正 get_newest_index 錯誤。 | 2024.12.24 修正推文解析錯誤。 | 2024.09.09 支援 websockets 13。 | 2022.12.20 PyPtt 1.0.3,logger 改採用以 logging_ 為基底。 .. _logging: https://docs.python.org/3/howto/logging.html | 2022.12.19 發佈 :doc:`Docker Image `。 | 2022.12.18 PyPtt 新增 :doc:`service` 功能。 | 2022.12.08 PyPtt 1.0.1, 1.0.2,修正一些小錯誤 | 2022.12.08 PyPtt 1.0.0 正式發布。 | 2022.12.01 開發 頁面改名為 Roadmap。 | 2022.09.19 更換主題為 furo_。 .. _furo: https://sphinx-themes.org/sample-sites/furo/ | 2022.09.14 太棒了!我們終於有更新日誌了。