rht
fe2a4d6fe8
[BUGFIX] IRC bridge: Use connection initialized from aio_reactor.
...
Additionally, pin the irc library version to 18.0 because the newer
version has an error in the AioReactor:
```
File "/home/rht/code/venv/lib/python3.8/site-packages/irc/bot.py", line 108, in run
self.bot.reactor.scheduler.execute_after(intvl, self.check)
AttributeError: 'AioReactor' object has no attribute 'scheduler'
```
2020-08-10 17:12:04 -07:00
Alex Vandiver
7a7cfe637e
zephyr: Mark the infinite loops as NoReturn.
2020-08-10 15:07:01 -07:00
Alex Vandiver
a20c9cc6d7
zephyr: Use exponential backoffs in retry loops.
...
This reduces the number of retries that might spam APIs.
There is some complexity here which is left un-managed -- for
instance, maybe_restart_mirroring_script does a number of restart
attempts, and then fails, but will be retried every 15s by the
surrounding `process_loop`. Previously, it would merely have looped
forever inside maybe_restart_mirroring_script.
Three loops are intentionally left as infinite `while True` loops,
that merely cap their backoff at the default 90s. Their callers do
not expect, or have any way to handle more gracefully, a failure of
the expected-infinite-loop in `process_loop` or `zulip_to_zephyr`.
They maintain their previous behavior of retrying forever, albeit more
slowly.
2020-08-10 15:07:01 -07:00
rht
8670cce8e9
Matrix bridge: Change the condition of not_from_zulip_bot.
2020-08-07 08:15:07 -04:00
Anders Kaseorg
396ef1d11a
Update zulipchat.com emails to zulip.com.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 21:06:58 -07:00
Anders Kaseorg
5f81eb3a70
Update zulipchat.com links to zulip.com.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 21:06:58 -07:00
Anders Kaseorg
f616b9259e
irc_mirror_backend: Remove repeated dictionary key.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
17cf26aa1f
cleanup: Move line breaks before binary operators.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
bd9bb0a4e8
cleanup: Fix indentation.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
54b2578204
cleanup: Remove unused variables.
...
Generated by autoflake.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
2f6623bbc4
cleanup: Remove unused imports.
...
Generated by autoflake.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
5428c5f296
typing: Convert function type annotations to Python 3 style.
...
Generated by com2ann (slightly patched to avoid also converting
assignment type annotations, which require Python 3.6), followed by
some manual whitespace adjustment, and two fixes for use-before-define
issues:
- def set_zulip_client(self, zulipToJabberClient: ZulipToJabberBot) -> None:
+ def set_zulip_client(self, zulipToJabberClient: 'ZulipToJabberBot') -> None:
-def init_from_options(options: Any, client: Optional[str] = None) -> Client:
+def init_from_options(options: Any, client: Optional[str] = None) -> 'Client':
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
fe72f3b131
typing: Remove ‘if False’ guard for typing imports.
...
typing is in the Python 3.5 standard library.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
953709fdd5
log2zulip: Adjust for zulip setup_path_on_import → setup_path change.
...
687553a661
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
d68437d5f5
Rewrite some strings using raw string syntax.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 15:04:36 -07:00
Anders Kaseorg
e30b3b094b
Modernize legacy Python 2 syntax with pyupgrade.
...
Generated by `pyupgrade --py3-plus --keep-percent-format` followed by
manual indentation fixes.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 15:04:36 -07:00
rht
f47559e68d
bridge_between_zulips: Replace "subject" with "topic" in doc.
2020-04-07 16:20:19 -07:00
rht
ceda54b50c
bridge_between_zulips: Add explanation of --stream to README.md.
2020-04-07 16:20:19 -07:00
rht
439c096eac
Remove all remaining six imports.
2020-04-03 08:18:08 -04:00
rht
9ee8461b9d
bridges: Remove sender field from message data.
...
For the reason why, see
https://chat.zulip.org/#narrow/stream/127-integrations/topic/bridge.20between.20zulips
2020-04-03 06:19:22 -04:00
rht
46c78ce7b5
integrations: Remove usage of six.
2020-04-02 13:02:28 -04:00
rht
1412403037
integrations: Remove from __future__ imports.
2020-04-02 13:02:28 -04:00
rht
a465467388
integrations: Switch to python3.
2020-04-02 13:02:28 -04:00
orientor
d8157d6b80
bridge_with_irc: Initialize IRC bot after checking Zulip bot.
...
Confirm whether Zulip bot is subscribed to the required stream
first and then Initialize IRC bot object.
2020-03-30 17:41:14 -04:00
orientor
de40005f5e
bridge_with_irc: Improve user-friendliness.
...
Edit error and success messages of zulip-irc bridge to be more
user friendly.
2020-03-30 17:41:14 -04:00
rht
b771bacac0
bridge_with_irc: Check if bot is subscribed to stream at startup.
2020-03-27 06:59:29 -04:00
neiljp (Neil Pilgrim)
60984ab2fa
mypy: Add type ignores for mixing of str & bytes in zephyr mirror.
...
In principle these should be fixed properly, but the zephyr code is
difficult to test except in a production setting and is unlikely to be
heavily developed in future.
2020-03-24 21:25:45 -07:00
neiljp (Neil Pilgrim)
436b619021
integrations: Use universal_newlines in check_output to output as str.
...
Picked up by mypy; otherwise output is in bytes (at least on python 3).
2020-03-24 21:25:45 -07:00
neiljp (Neil Pilgrim)
f81843f189
mypy: Clarify type hints in zulip/integrations/.
2020-03-24 21:25:45 -07:00
rht
8a74f576a3
python: Remove per-file copyright notices.
...
These notices are redundant and obscure what are often very short
example scripts.
2020-03-23 12:52:52 -07:00
orientor
731eb23c9a
bridge_with_irc: Print message on successful connection.
2020-03-02 05:51:54 -05:00
Sutou Kouhei
843b21769a
twitter: Add support for phrase.
...
Twitter supports phrase search by quoting terms such as "Zulip API".
If we use the feature, the current twitter-bot can't detect used
search phrase. We can detect used search phrase with this change.
2020-01-14 15:58:08 -08:00
Kreyren
3e155ecf93
rss-bot: Updated link pointing to .zuliprc
...
I believe that rss-bot is pointing to wrong page on documentation, this MR should fix it.
Signed-off-by: Jacob Hrbek <werifgx@gmail.com>
2019-09-08 16:51:54 -07:00
Puneeth Chaganti
1231da46bf
log2zulip: Remove unnecessary loop and fix incorrect variable name.
2019-07-13 11:09:36 -07: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
rht
4773370cc1
bridge_with_irc: Tell people to subscribe their bots to the stream.
2019-01-23 12:40:47 -08:00
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
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
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
neiljp (Neil Pilgrim)
39fb287fba
matrix tests: tweak import and add __init__.py to ensure tests run.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
28f05676f2
matrix: Use six.moves.configparser.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
f007fc9aaa
matrix tests: Add test for case that zuliprc file does not exist.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
1d01308caf
matrix tests: Add test for writing sample config using zuliprc.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
8999f0a352
matrix bridge: Separate print output from sys.exit calls.
...
This appears to be necessary for acquiring the text for testing.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
71b405e95d
zulip bridge: Use python instead of python3 in script.
...
This script moved from the bots package to the API package, and does not
explicitly require python3.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
617e16cebb
bridges: Bring inter-realm (zulip) bridge into zulip/ & rename others.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
ec9f72f516
matrix bridge: Add optional from-zuliprc to use with write-sample-config.
...
If specified, the new option uses the information to pre-populate the
sample configuration file.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
8b4f23d6aa
matrix tests: Add test for zulip-to-matrix messages.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
4b50ea2569
matrix tests: Refactor zulip message validity tests.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
02799315ea
matrix tests: Add zulip message validity failure tests.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
1e7b5ee5f2
matrix tests: Add zulip message validity success test.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
e693c25abc
matrix tests: Add test for sample config generation.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
c692c4712a
matrix tests: Refactor running script into helper function.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
fd66eb61c7
matrix tests: Add minimal help test for no-args and with -h.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
97b2a12d21
matrix bridge: Adjust to python2-compatible type annotations.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
2703d4c720
matrix bridge: Update & improve README.md.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
43e80b42da
matrix bridge: Add write-sample-config option & remove sample config.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
78c64d069b
matrix bridge: Add description of script & some useful tips.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
70ba4c9035
matrix bridge: Improve error handling by exception translation.
...
Also:
* introduces two internal Bridge_*Exception classes.
* import matrix_client.errors instead of matrix_client.api.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
a6e39509d9
matrix bridge: Improve join/leave option.
...
Original '--no-noise' option had a parameter and did not disable;
new parameter is '--enable-join-leave', and sets same option for
compatibility.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
d45b43a9b1
matrix bridge: Configure using config(parser) file instead of python module.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
363720e908
matrix bridge: Add main() function to enable installation.
2018-06-02 09:26:40 -07:00
Tim Abbott
9e6b4edee6
integrations: Remove slack import script.
...
This was migrated to the Zulip server project some time ago.
2018-05-30 16:10:22 -07:00
novokrest
7a95c31162
mercurial: Rename hook file to zulip_changegroup.py.
...
Rename hook file from 'zulip-changegroup.py'
to 'zulip_changegroup.py' for importing as module.
2018-05-29 11:45:56 -07:00
novokrest
9b9070808f
mercurial: Update changegroup hook according to new mercurial API.
...
Fixes #322
2018-05-29 11:45:56 -07:00
Tim Abbott
6ca216024f
matrix: Fix typo in requirements.txt.
2018-05-29 11:05:01 -07:00
Tim Abbott
efcdc712bf
matrix: Edit matrix.org README further.
...
The README is still pretty rough, but this cleans it up a bit.
2018-05-22 14:01:24 -07:00
Rhea Parekh
4c9134815c
Matrix: Make minor changes to README.md and config.
2018-05-22 14:01:24 -07:00
Rhea Parekh
afb964b65a
Matrix: Add command line flag to ignore join/leave events.
...
Add command line flag 'no_noise' (which is true by default)
to ignore join/leave events. User can enable those events
by pass 'no_noise' as false.
2018-05-22 14:01:24 -07:00
Rhea Parekh
8e1274f555
Matrix: Change naming convention.
2018-05-22 14:01:24 -07:00
Rhea Parekh
bb39ce981d
Matrix: Refactor function 'matrix_to_zulip'
2018-05-16 11:12:00 -07:00
Rhea Parekh
c467b5fd03
Matrix: Handle login and joining room errors.
2018-05-16 11:12:00 -07:00
Rhea Parekh
9362755039
Matrix: Add more messages events and handle errors.
2018-05-16 11:12:00 -07:00
Rhea Parekh
979c0e50d6
Matrix: Update documentation and add requirements.txt.
2018-05-16 11:12:00 -07:00
rht
e56a94c853
Dig a tunnel to matrix.
2018-05-07 09:07:36 -07:00
Eeshan Garg
5f20512601
integrations/git: Allow users to specify a stream for notifications.
...
Previously, all notifications went to "commits", now users can
modify the constant at the top to change that.
2018-04-23 18:38:16 -02:30
Eeshan Garg
fa759fc97c
integrations/trello: Improve the Trello script.
...
This commit makes a bunch of improvements:
1. Use format() for string formatting instead of the old style.
2. Stop returning stuff where we don't have to.
3. URL generation should not be done by the script, especially
since our eventual goal is for the Zulip server to automatically
generate a webhook URL. So the user should be able to supply
the URL in the config file. Plus, this makes it easier to test
the script with non-Zulip URLs (such as RequestBin).
4. Removed unnecessary arguments.
2018-04-03 21:52:10 -02:30
JazZ
2f4b276799
Add Trello integration script
...
This is a small Python script to create Trello Webhooks for Zulip.
It builds and sends the Trello API requests required to create the
Trello webhook.
2018-03-29 15:24:14 -04:00
XavierCooney
68ec3a5ef0
zephyr_mirror_backend.py: Remove duplicate import.
2018-01-16 08:07:09 -05:00
neiljp (Neil Pilgrim)
d3220eefe7
Jabber: Report where Zulip config not found, clarifying typing.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
b5c3442b57
mypy: Remove explicit typing & add assertions in jabber backend.
...
Usage indicates set_jabber_client must be called before using
JabberToZulipBot, so assertions express intent & satisfy mypy.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
aa718da3e1
Zephyr: For correctness & mypy, res.get('result') -> res['result'].
...
Also correct nearby error message (subscribing to -> receiving).
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
02d9ba8edd
mypy: Add cast for zephyr_mirror_backend logger variable.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
466f5a7167
mypy: Amend zephyr mirror annotations for strict-optional.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
2b172e08c7
mypy: Correct SVN integration & satisfy strict-optional typing.
...
The commit_notice_destination return value was previously not
checked against None, which indicates no message should be sent.
2018-01-08 15:39:03 -05:00