api: Implement POST /messages/flags.
MODIFY
zulip/zulip/__init__.py
zulip/zulip/__init__.py
@@ -748,6 +748,17 @@ class Client(object):
method='DELETE'
)
+ def update_message_flags(self, update_data):
+ # type: (Dict[str, Any]) -> Dict[str, Any]
+ '''
+ See examples/update-flags for example usage.
+ '''
+ return self.call_endpoint(
+ url='messages/flags',
+ method='POST',
+ request=update_data
+ )
+
def get_message_history(self, message_id):
# type: (int) -> Dict[str, Any]
'''

ADD
zulip/zulip/examples/update-flags
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import argparse
+
+import zulip
+
+usage = """update-flags (add | remove) <flag> <message_id1> [more_message_ids]
+
+Example: update-flags add read 4 8 15
+Example: update-flags remove starred 16 23 42
+"""
+
+parser = zulip.add_default_arguments(argparse.ArgumentParser(usage=usage))
+parser.add_argument('op', choices=['add', 'remove'])
+parser.add_argument('flag')
+parser.add_argument('messages', type=int, nargs='+')
+options = parser.parse_args()
+
+client = zulip.init_from_options(options)
+
+print(client.update_message_flags({
+ 'op': options.op,
+ 'flag': options.flag,
+ 'messages': options.messages
+}))

api: Implement POST /messages/flags.