Commit graph

2200 commits

Author SHA1 Message Date
neiljp (Neil Pilgrim) c2e5b14034 api: Add UnrecoverableNetworkError Exception & use in do_api_query.
This replaces one case where the base ZulipError was raised, and another
where the original exception was re-raised.

This method, and so all API calls, should now only fail via raising this
Exception or by a non-'success' result in the return value dict; this
should avoid leaking any implementation detail and clarify expectations
in user code.
2019-03-29 14:12:26 -07:00
Eeshan Garg accfa8ddaf pypi: Release version 0.6.0. 2019-03-19 19:43:23 -02:30
Tim Abbott 3bbe972314 tools: Disable python3 shebang lint check for botserver.
Since the botserver can be run directly after installation via pip,
and only supports Python 3, we definitely want the explicit shebang
lines there.

We only don't want this in zulip/, which supports Python 2+3.
2019-03-18 13:58:11 -07:00
Tim Abbott fae8e4c0b0 botserver: Add a python3 !# line. 2019-03-18 13:10:06 -07:00
Eeshan Garg 3a2e85c2b1 zulip: Fix argument name in add/remove reaction example comment.
The actual argument is supposed to be named `reaction_type`, not
`emoji_type`.
2019-03-02 19:12:44 -03:30
Eeshan Garg d43b9328f0 pypi: Release version 0.5.9. 2019-02-17 02:49:27 -03:30
neiljp (Neil Pilgrim) 47f9b103ab api: Fix add_reaction method to pass reaction_data.
Also correct the example usage text.
2019-02-16 03:29:24 -08:00
rht 6368b63e6c interrealm: Fix the msg formatting with special prefixes.
Tweaked by tabbott to cover all code blocks, not just quote blocks.

See https://chat.zulip.org/#narrow/stream/127-integrations/topic/cross.20realm.20bridge/near/695907
2019-02-15 16:43:36 -08:00
Rohitt Vashishtha be4f9a0c32 bots: Use bold formatting judiciously in trivia bot. 2019-01-30 08:38:10 -08:00
Rohitt Vashishtha 49d3f4cfbb bots: Make trivia bot responses mention currently interacting user. 2019-01-29 11:39:33 -08:00
Sivagiri Visakan 26c85bb9ed zulip/examples: Add a script to get complete history of a narrow.
Fixes #476.
2019-01-28 22:49:47 -03:30
rht 4773370cc1 bridge_with_irc: Tell people to subscribe their bots to the stream. 2019-01-23 12:40:47 -08:00
Eeshan Garg 9931de2c6b pypi: Release version 0.5.8. 2019-01-22 22:35:37 -03:30
Eeshan Garg f2eaf80b9e integrations/rss: Pass config_file to zulip.Client.
Fixes #499.
2019-01-22 22:16:20 -03:30
rht 5b7f0c24bb bridge_with_irc: Implement nickserv password. 2019-01-17 14:19:46 -08:00
rht 5b704b7c1c bridge_with_irc: Prefix zulip->irc message with sender full name. 2019-01-17 14:19:46 -08:00
rht 836a51a8bf bridge_with_irc: Only forward stream messages at the specified topic. 2019-01-17 14:19:46 -08:00
rht 8ef0aba74a bridge_with_irc: Add command line arg to specify topic. 2019-01-16 16:27:52 -08:00
rht 8e69598a46 bridge_with_irc: Add a brief documentation. 2019-01-16 16:27:52 -08:00
rht 9efa0feaaf bridge_with_irc: Bump irc requirements version. 2019-01-16 16:27:52 -08:00
rht e14bb510cb bridge_with_irc: Remove obsolete comment. 2019-01-16 16:27:52 -08:00
rht 116a1228ae bridge_with_irc: Disable echo on Zulip -> IRC. 2019-01-16 16:27:52 -08:00
rht edcf1fd8e9 bridge_with_irc: Fix sending from Zulip to IRC and enable it by default. 2019-01-16 16:27:52 -08:00
rht 910f83ee8e bridge_with_irc: Use async client to avoid timeout. 2019-01-16 16:27:52 -08:00
rht 9be5ec33b3 bridge_with_irc: Relay msg instead of forge msg on IRC -> Zulip. 2019-01-16 16:27:52 -08:00
rht a5bc4b716c bridge_with_irc: Add command line arg to specify stream. 2019-01-16 16:27:52 -08:00
Eeshan Garg ed6c797d19 pypi: Release version 0.5.7. 2019-01-16 20:50:46 -03:30
neiljp (Neil Pilgrim) eb0e150a71 api: Add Optional timeout parameter to deregister. 2019-01-14 19:24:08 -08:00
neiljp (Neil Pilgrim) f858e48468 api: Add timeout parameter to do_api_query and call_endpoint. 2019-01-14 19:24:08 -08:00
Roger Souza 3f2b11c345 api: Implement POST /realm/emoji<emoji_name>. 2018-12-20 17:49:31 -03:30
Eeshan Garg d478c91965 pypi: Release version 0.5.6. 2018-12-17 17:07:32 -03:30
Maxim Vov d68bc7eada twitter: Add --excluded-users and --excluded-terms options.
This makes it easy to filter out an users/terms that are effectively
spam for your use case.
2018-12-13 14:11:20 -08:00
Marco Burstein d176fbe324 bots: Fix a Chessbot dependency error.
Specify a version for Chessbot so that it will continue to function
properly if the library is updated. Also, update `test-bots` to remove
a temporary fix for Chessbot.
2018-12-09 18:57:10 -08:00
Steve Howell 0fd093a698 bots: Allow users to supply ZULIP_API_KEY, etc.
This will make it easier to run standalone
bots in containers like Heroku that prefer
env-var-style configuration.

For now this is undocumented, but we should
update the server docs once a few folks have
tried it out.

(The history behind requiring the config file
is that I wanted to keep things simple and
be strongly opinionated about how you run
bots, so that the docs didn't overwhelm folks,
but this use case has come up more frequently.)
2018-12-09 11:16:30 -08:00
Steve Howell 3d68e394dc bots: Raise KeyError inside storage.get().
Our bots rely on get() raising `KeyError` if
a key does not exist.

This was a regression in this commit:

d7d2f6bbd6
2018-12-09 11:16:30 -08:00
Steve Howell f191d44992 docs: Add tools/test-lib to README.
It's important to run these tests if you're modifying
the bot library itself.  The tests are really fast,
so there's no harm in regular users running them, so
they get a sanity check that the libraries themselves
are stable.
2018-12-09 11:16:30 -08:00
Steve Howell b4d0a2463e Temporarily exclude chessbot bot from tests. 2018-12-09 11:16:30 -08:00
Zev Benjamin df04e4e1ca Fix tools/provision on OS X.
See the comment for details.
2018-11-29 20:18:28 -08:00
Tim Abbott a7094a47dc README: Document code contribution policies. 2018-11-15 15:58:04 -08:00
Rohitt Vashishtha fbe99b812e lib: Add support for extended mention syntax.
We are checking for the extended syntax only on the basis of the
user id so that we can handle cases where a bot is renamed.
2018-11-06 17:14:13 -08:00
Nick McLoota 4fcd593da2 README: Fix word run was being repeated. 2018-10-31 16:44:29 -07:00
Ujjwal Raizada e769735108 provision: Fix version tuple generation logic.
Previous tuple generation logic was throwing an error parsing version like 3.6.7rc1
because micro-versions (like '7rc1') cannot be converted into an integer.

Fixes #482.
2018-10-31 16:32:56 -07:00
Steve Howell 5c86679d5a gitignore: Add swp files (for vim). 2018-10-11 10:36:00 -04:00
Steve Howell 4d03ab0558 Add incident bot.
This is a pretty alpha proof-of-concept.
2018-10-11 10:36:00 -04:00
Eeshan Garg 09deda9466 pypi: Release version 0.5.5. 2018-09-25 22:36:57 -02:30
Eeshan Garg 6e443b6d23 zulip_trello.py: Print error if requests isn't installed. 2018-09-25 22:28:25 -02:30
Eeshan Garg 71a15bd89e integrations/trello: Make the zulip_trello script self-contained.
A few users have complained about how hard it is to find the
Trello script on their systems after installing the `zulip`
package. Rishi and I decided that we should instead just ask
the users to download the script directly and run it without
having to install the `zulip` package.

This commit also ensures that the script can be run on both
py2 and py3.
2018-09-25 22:28:25 -02:30
Eeshan Garg 5210e79dbd integrations/trello: Stop logging to CSV file in Trello script.
The information logged to the CSV file is largely redundant, since
the ID of the webhook is already printed to the screen once a
webhook is setup correctly.

Since this is a script that the user is required to run
once, we should minimize its reliance on external files as much
as possible. This makes it easier to run the script when one
is SSH-ing into a server and doesn't really care about where
the script lives, for instance.
2018-09-25 22:28:25 -02:30
Eeshan Garg 1de6613825 integrations/trello: Stop using config files in the Trello script.
A few users have complained about how hard it is to find the
Trello script on their systems after installing the `zulip`
package. One way to solve this issue is to make the Trello
script a part of the exported console scripts in the zulip
package, which would mean that the user would not have to
navigate to a particular directory in order to find the script,
but could run it from a terminal directly.

However, to make this happen, we need to minimize the script's
reliance on external configuration files, because we don't want
the user to have to figure out where the config file lives.
2018-09-25 22:28:25 -02:30
Eeshan Garg 048fa79a7c pypi: Release version 0.5.4.
Starting now, we now also have a CHANGELOG to record major changes
to the zulip package.
2018-08-31 17:25:55 -02:30