Abhijeet Kaur
f3d839fd47
bots: Add complete test coverage for yoda bot.
...
Add error handling support for empty messages and invalid
input to yoda bot, which was previously making the bot crash.
Add comments to describe tests.
2017-08-08 15:55:57 -07:00
Abhijeet Kaur
efb5335b2f
bots: Add some more test fixtures for yoda bot.
2017-08-08 14:05:58 -07:00
Abhijeet Kaur
29d33e86fe
bots: Add complete tests for offline testing of yoda bot.
...
Since yoda api returns response of text form, made changes
in test_lib.py to handle responses that can either be json
or plain text.
2017-08-08 14:05:58 -07:00
Abhijeet Kaur
1e84e2eb5e
bots: Improve error handling of yoda bot when the service is unavailable.
...
Frequent 503 errors throw index error exceptions which is misleading
to debug.
2017-08-08 14:05:58 -07:00
Abhijeet Kaur
a58fae5cab
bots: Minor changes to yoda.py to make it run smoothly.
...
Modifications done so that the bot runs using 'zulip-run-bot'
command.
2017-08-08 14:05:58 -07:00
Eeshan Garg
59c750707a
python-zulip-api: Upgrade package versions (0.3.1 -> 0.3.2).
2017-07-31 15:33:34 -07:00
Abhijeet Kaur
a1429f36b2
bots: Enable googlesearch bot to run by 'zulip-run-bot' command.
...
Since we want our bots to be both python 2 and python 3 compatible,
we use six to make up for both of them and run the bot smoothly.
'http.client' was basically used for error-handling by the author
of the bot, urllib errors can be handled by the urllib itself. So,
using this for simplicity.
urllib.request.urlopen raises URLError on protocol errors.
2017-07-27 10:44:41 -07:00
neiljp (Neil Pilgrim)
0a85962097
weather bot: Fix for integer division in python2 and adjust test.
...
Fixes #31 .
2017-07-27 10:22:05 -07:00
Abhijeet Kaur
05c527a10f
bots: Fix 'run.py' file to run bots.
...
'bot_name' variable in line number 111 in run.py undefined.
2017-07-26 16:54:47 -07:00
derAnfaenger
ee7484e656
john bot: Change confusing variable 'abot' to 'chatterbot'.
2017-07-26 20:01:46 +02:00
derAnfaenger
51bf0cf869
bots: Use restricted open function in john.
2017-07-26 20:01:17 +02:00
derAnfaenger
f3eaa381f6
bots: Audit filesystem access.
...
This adds a safe function for opening files via
ExternalBotHandler. This restricts open calls to a bot's
local directory.
Finalizes #9
2017-07-26 20:01:17 +02:00
neiljp (Neil Pilgrim)
e619c19b36
bots: Set user-agent for individual bots automatically.
...
Fixes #28 .
2017-07-25 19:35:15 -07:00
neiljp (Neil Pilgrim)
b314c70da7
weather bot: Amend temperature formatting.
2017-07-25 18:05:14 -07:00
Tim Abbott
142d10f546
lint: Fix existing lint error in codebase.
2017-07-25 10:55:49 -07:00
Eeshan Garg
a50cf906a6
bots/xkcd: Fix wrong package name passed to mock.patch.
2017-07-25 10:50:33 -07:00
Eeshan Garg
d181d0192e
zulip_bots: Use relative paths to find zulip_bots/bots/*.
2017-07-25 10:50:33 -07:00
Eeshan Garg
bc8282b980
zulip_bots/run: Add --provision command-line option.
2017-07-25 10:50:33 -07:00
Eeshan Garg
e85be28119
zulip_bots/run.py: Use argparse instead of optparse.
...
The optparse module is deprecated.
2017-07-25 10:50:33 -07:00
Eeshan Garg
e255c73fc3
zulip_bots/provision: Improve logging.
2017-07-25 10:50:32 -07:00
Eeshan Garg
44f63992da
zulip_bots/run: Support importing bot modules by path.
...
The zulip-run-bot script now supports passing in a --path-to-bot
option. This allows users to specify the path to the source file
for their own custom bots, the first step towards being able to
support out-of-tree bots.
To run an existing bot in the zulip_bots package, just passing in
the name of the bot should suffice.
2017-07-25 10:49:21 -07:00
Abhijeet Kaur
0625c26c9a
bots: Correct 'http.bot_handler' to 'http.client' in googlesearch bot.
...
There is no library as 'http.bot_handler'.
'http.client' is what the author of this bots initially wrote.
Searching through the git history shows that someone mistakenly
replaced 'client' with 'bot_handler' here.
2017-07-25 10:46:22 -07:00
neiljp (Neil Pilgrim)
3234096cea
bot tests: Add preliminary tests for tictactoe bot, including state.
2017-07-25 10:45:00 -07:00
neiljp (Neil Pilgrim)
6421a6fd49
bot tests: Support optional provided state between test calls.
2017-07-25 10:45:00 -07:00
neiljp (Neil Pilgrim)
45527c4cf4
bots: Switch TicTacToe to use state_handler.state() contextmanager.
2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
5ca9ec0771
bots: Switch VirtualFS to use state_handler.state() contextmanager.
2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
7a8b41b63e
bots: Switch Incrementor to use state_handler.state() contextmanager.
2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
101dd60829
bot lib: Add optional StateHandler contextmanager.
...
State can still be handled with get_state/set_state, and flushed
before the end of a 'with' block using set_state.
2017-07-24 17:22:17 -07:00
Abhijeet Kaur
d9ac5ad88c
bots: Add complete tests for offline testing of weather bot.
...
Also, added new lines in between different bot fixture files in
MANIFEST.in for better readability
2017-07-24 02:35:52 +05:30
Abhijeet Kaur
e23444b757
bots: Fix errors to get info from config file to run bots.
...
get_config_info function in 'ExternalBotHandler' class was
using 2 undefined variables, which wasn't allowing bots to
access information from config file.
Fixed it, bots with api key working now.
2017-07-24 02:15:20 +05:30
Abhijeet Kaur
367d0b7986
bots: Add complete tests for offline testing of xkcd bot.
...
Add patch method to mock 'randint' method to check when
xkcd bot is called with 'random' command.
2017-07-23 07:00:00 +05:30
Abhijeet Kaur
35353f6d7f
bots: Add complete tests for offline testing of wikipedia bot.
2017-07-23 06:52:24 +05:30
Abhijeet Kaur
f955eb0c8d
bots: Add complete tests for offline testing of define bot.
2017-07-22 14:22:29 -07:00
Abhijeet Kaur
2e48392884
bots: Modify howdoi/readme.md to correctly call 'howdoi' bot.
...
Update images with new commands screenshots for better understanding.
2017-07-20 16:02:47 -07:00
Abhijeet Kaur
d9a6fec1a0
bots: Remove common send-reply function.
...
Previously, the annotation for the (now removed)send-reply
function was also wrong, as "send-message" function of
EmbeddedBotHandler class does not return any value, contrary
to "Dict[str, Any]" as specified by the funtion.
This is done as a follow up for zulip/zulip#5842 .
2017-07-20 10:25:54 -07:00
Eeshan Garg
879f44ab3a
bots: Move all bots and the bots API to separate package.
2017-07-18 02:20:27 -02:30