From aeb62498b9888f7622516bf6602bd9e5792475a3 Mon Sep 17 00:00:00 2001 From: Agnish Bauri Date: Fri, 8 May 2026 19:26:50 +0530 Subject: [PATCH] zulip: Add remove_storage helper to Client. Mirrors update_storage and get_storage, sending DELETE to /bot_storage. With no argument, removes all data stored for the bot; passing {"keys": [...]} removes only the specified entries. The corresponding endpoint is bot-only as of Zulip 12.0 (API feature level 494), so this helper only succeeds for bot users. Fixes #637. --- zulip/zulip/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/zulip/zulip/__init__.py b/zulip/zulip/__init__.py index 82190a51d..e7ec33d4b 100644 --- a/zulip/zulip/__init__.py +++ b/zulip/zulip/__init__.py @@ -1663,6 +1663,22 @@ def get_storage(self, request: Optional[Dict[str, Any]] = None) -> Dict[str, Any request=request, ) + def remove_storage(self, request: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + """ + Example usage: + + >>> client.update_storage({'storage': {"entry 1": "value 1", "entry 2": "value 2"}}) + >>> client.remove_storage({'keys': ["entry 1"]}) + {'result': 'success', 'msg': ''} + >>> client.remove_storage() + {'result': 'success', 'msg': ''} + """ + return self.call_endpoint( + url="bot_storage", + method="DELETE", + request=request, + ) + def set_typing_status(self, request: Dict[str, Any]) -> Dict[str, Any]: """ Example usage: