diff --git a/zulip/zulip/__init__.py b/zulip/zulip/__init__.py index 7f76831d8..3d6e3e1fe 100644 --- a/zulip/zulip/__init__.py +++ b/zulip/zulip/__init__.py @@ -1740,6 +1740,27 @@ def move_topic( request=request, ) + def reply_on_each_stream_mention(self, handle_message: Callable[[str], None], verbose=False): + def callback(msg): + if msg["type"] != "stream": + return + if verbose: + print("Processing", msg) + + content = handle_message(msg) + if verbose: + print("sending", msg["content"]) + request = { + "type": "stream", + "to": msg["display_recipient"], + "topic": msg["subject"], + "content": content, + } + self.send_message(request) + + narrow = [["is", "mentioned"]] + self.call_on_each_message(callback, narrow=narrow) + class ZulipStream: """