Commit Graph

37 Commits

Author SHA1 Message Date
Vamshi Balanaga a232060e18 docs: improve docs for contrib_bots. 2017-01-11 16:32:02 -08:00
Robert Hönig 639c4023bc Terminate run.py without throwing tracebacks.
Pressing control-c while run.py is being executed has terminated the
script, but threw an ugly traceback. To signal the user that his
method of exit was appropriate, we handle control-c calling exit(0).
2017-01-11 15:25:20 -08:00
Robert Hönig f9730e774a Rename the RestrictedClient class to BotHandlerApi
As a first step into restructuring the run.py layout to support a
worker and an API-wrapper class, we rename the RestrictedClient
class appropriately.
2017-01-11 15:25:20 -08:00
Robert Hönig 02bfb46398 Hide 'client' and 'rate_limit' from 'contrib_bots' bots.
'contribot_bots' should only provide a restricted access to the
client API, yet 'client' and 'rate_limit were fully exposed. While
not fully restricting access to those objects, this commits hides
them with prepending underscores.
2017-01-11 15:25:20 -08:00
Tim Abbott 6d3ea3f663 contrib_bots: Fix lint error in rate limiting code. 2017-01-10 15:10:17 -08:00
Robert Hönig 3efbadc37b Add a rate limit for bots in contrib_bots
To prevent bots from accidently entering an infinite message loop,
where they send messages as a reacting to their own messages,
this commit adds the RateLimit class to run.py. It specifies how
many messages can be sent in a given time interval. If this rate
is exceeded, run.py exits with an error.
Fixes #3210.
2017-01-10 13:42:40 -08:00
Uma dd8291bb50 Improved 'readme.md' file in contrib_bots/lib 2017-01-10 07:03:57 -08:00
Tim Abbott 3f8d4193da lint: Fix % comprehensions being used without a tuple. 2017-01-09 11:45:11 -08:00
Tommy Ip 7738edb62f contrib_bots: Fix bare except clause. 2017-01-08 16:25:22 -08:00
Tim Abbott 9289c75f54 contrib_bots: Wrap CommuteBot docs. 2017-01-05 14:58:06 -08:00
andrewallen00 b376875541 interactive bots: Create yoda translator bot 2017-01-05 11:24:24 -08:00
Robert Hönig f7c29f1b7f interactive bots: Create converter bot. 2016-12-29 19:28:35 +01:00
Yago González 497dc4756e interactive bots: Use dev API when in a dev setup.
Now the development API (which is inside the repo, api/) is used when the envionment is a development one.

Credits to Steve Howell (@showell) for the instructions on how to fix this.
2016-12-28 19:25:56 -08:00
Rafid Aslam 778e509464 interactive bots: Create xkcd bot. 2016-12-27 22:52:51 +01:00
Vamshi Balanaga 561562da3d Modify GitHub Issue bot to use new authentication module. 2016-12-27 11:58:36 -08:00
Vamshi Balanaga 9701d5e555 Modify GitHub comment bot to use new authentication module, and edit documentation accordingly. 2016-12-27 11:58:36 -08:00
Vamshi Balanaga 89d1f96db9 Create GitHub authentication module. 2016-12-27 11:58:36 -08:00
Rafid Aslam fd5c43341d interactive bots: Create Giphy bot 2016-12-26 09:38:50 -08:00
Rafid Aslam 947fdf0b37 contrib_bots: Expose some information about user profile
- Expose some information about user profile in `RestrictedClient`
class, like `full_name` and `email` of the user.

- Add `client` argument to `triage_message()`, now it's possible to
call bot with another method instead of calling the specified
keyword.
2016-12-26 09:38:50 -08:00
Abhay Kashyap 13a1425bb7 Created DefineBot and document and added them 2016-12-26 09:07:10 -08:00
Tommy Ip 654d9590ef interactive bots: Create Howdoi bot.
This bot allows users to search technical questions from Stack
Overflow.
2016-12-24 08:22:44 -08:00
Jackson 62f88aa776 interactive bots: Create CommuteBot. 2016-12-21 18:46:59 -08:00
= f83139e28c Interactive bots: Create Github Issues bot. 2016-12-19 21:57:21 -08:00
andrewallen00 cdef7ede83 interactive bots: Create comment on issue GitHub bot.
interactive bots: Create comment on issue GitHub bot.

interactive bots: Create comment on issue GitHub bot.

interactive bots: Create comment on issue GitHub bot.

interactive bots: Create comment on issue GitHub bot.
2016-12-17 16:33:08 -08:00
Rafid Aslam 2dffe5c95a contrib_bots: Allow to import code from subdirectory of `lib`
Allow to import code from subdirectory of `contrib_bots/lib`.
Because sometimes bot requires grouping in their directory,
especially for the bot that has configuartion file and documentation.
2016-12-14 16:35:49 -08:00
Steve Howell af857d883b contrib_bots: Add "Python dependencies" to docs. 2016-12-14 15:03:51 -08:00
Steve Howell 45e4edf105 contrib_bots: Add "Third Party Configuration" to docs. 2016-12-14 15:03:51 -08:00
lonerz 8f97a811c4 interactive bots: Create Wikipedia bot. 2016-12-13 13:46:11 -08:00
reallyly 94b28e0afb pep8: Fix E128 violations.
With some line-wrapping tweaks by tabbott.
2016-12-13 10:50:14 -08:00
Anders Kaseorg 207cf6302b Always start python via shebang lines.
This is preparation for supporting using Python 3 in production.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-26 14:46:37 -08:00
Steve Howell f0b8f741b9 contrib_bots: Simulate a file system with a bot. 2016-10-16 14:41:24 -07:00
Steve Howell ff5a2b21d0 Add StateHandler to contrib_bots/run.py.
This allows bots to be stateful.  It doesn't handle persistence
after the bot shuts down, but it does store state between
invocations of handle_message.
2016-10-16 14:41:24 -07:00
Sahil Dua 058587da77 Remove extra new lines at the ends of Zulip authoried files.
Fixes #1627.

[tweaked by tabbott to avoid patching third-party modules, for now]
2016-09-26 21:05:24 -07:00
Steve Howell 6af0bdfe6e bots: Add --config-file to contrib_bots/run.py. 2016-08-24 12:09:11 -07:00
Steve Howell acb3c6b75a bots: Fix typo in contrib_bots/lib/readme.md. 2016-08-24 12:08:39 -07:00
Tim Abbott 3d83f25b15 contrib_bots: Expand documentation. 2016-08-22 19:53:16 -07:00
Steve Howell 8d0c68ac39 bots: Add example bots for "followup" and "help".
This commit also starts to build out the infrastructure for
helping Zulip contributors to more easily author bots in
a way that sets up for running some bots on the server itself.
2016-08-22 19:43:12 -07:00