python-zulip-api/zulip_bots
PIG208 86fa9f5e35 zulip-bots: Implement context manager.
The context manager is implemented based on a newly added storage called
CachedStorage. It is a bufferred storage that doesn't sync with the
database until it's flushed. With CachedStorage, we can implement the
context manager easily by loading all the data on __enter__ and just
flush all the modified (dirty) data on __exit__. This approach can help
the user minimize the number of round-trips to the server almost
invisibly (despite the fact that they need to use it with "with").

Fixes: #679
2021-05-24 14:30:19 -07:00
..
zulip_bots zulip-bots: Implement context manager. 2021-05-24 14:30:19 -07:00
architecture.md zulip_bots: Update README.md. 2017-11-14 09:51:09 -08:00
README.md zulip_bots: Consolidate game-playing bots. 2018-01-22 11:30:31 -05:00
setup.py pypi: Release version 0.8.0. 2021-05-19 22:44:45 -02:30

Zulip bots

This directory contains the source code for the zulip_bots PyPI package.

The Zulip documentation has guides on using Zulip's bot system and writing your own bots.

Directory structure

zulip_bots  # This directory
├───zulip_bots  # `zulip_bots` package.
│   ├───bots/  # Actively maintained and tested bots.
│   ├───bots_unmaintained/  # Unmaintained, potentially broken bots.
│   ├───game_handler.py  # Handles game-related bots.
│   ├───lib.py  # Backbone of run.py
│   ├───provision.py  # Creates a development environment.
│   ├───run.py  # Used to run bots.
│   ├───simple_lib.py  # Used for terminal testing.
│   ├───test_lib.py  # Backbone for bot unit tests.
│   ├───test_run.py  # Unit tests for run.py
│   └───terminal.py  # Used to test bots in the command line.
└───setup.py  # Script for packaging.