31 lines
832 B
Python
Executable File
31 lines
832 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import argparse
|
|
from typing import Any, Dict
|
|
|
|
usage = """print-events [options]
|
|
|
|
Prints out certain events received by the indicated bot or user matching the filter below.
|
|
|
|
Example: print-events
|
|
|
|
Specify your Zulip API credentials and server in a ~/.zuliprc file or using the options.
|
|
"""
|
|
|
|
import zulip
|
|
|
|
parser = zulip.add_default_arguments(argparse.ArgumentParser(usage=usage))
|
|
options = parser.parse_args()
|
|
|
|
client = zulip.init_from_options(options)
|
|
|
|
|
|
def print_event(event: Dict[str, Any]) -> None:
|
|
print(event)
|
|
|
|
|
|
# This is a blocking call, and will continuously poll for new events
|
|
# Note also the filter here is messages to the stream Denmark; if you
|
|
# don't specify event_types it'll print all events.
|
|
client.call_on_each_event(print_event, event_types=["message"], narrow=[["stream", "Denmark"]])
|