Robert Hönig
ff65666ac8
Add quit() function to ExternalBotHandler.
...
bot_handler.quit() should be used whenever a bot
wishes to terminate. This allows a flexible reaction
suited to the bot's environment: For external bots,
sys.exit() will be called, whereas for embedded bots,
different code can be executed.
2017-12-31 07:12:19 -05:00
Viraat Chandra
9e73ddd292
zulip_bots: Check API key on initialization for Weather bot.
2017-12-30 17:59:23 +01:00
Viraat Chandra
524804fd2c
zulip_bots: Remove comments from config file in Mention Bot.
2017-12-30 17:51:10 +01:00
Viraat Chandra
5ccbe6e6bd
zulip_bots: Reformat code for Mention Bot file mention.py
.
2017-12-30 17:51:10 +01:00
Viraat Chandra
adbda6d2f2
zulip_bots: Check Access Token on initialization for Mention bot.
2017-12-30 17:51:10 +01:00
Viraat Chandra
9ac0628452
zulip_bots: Add link to get API Key in Link Shortener Bot Documentation.
2017-12-30 17:41:31 +01:00
Viraat Chandra
6a089f2217
zulip_bots: Fixed failing tests for Link Shortener Bot.
...
This uses a custom test_bot_responds_to_empty_message()
implementation for the link_shortener bot, because it requires
mocking config info.
2017-12-30 17:41:31 +01:00
Viraat Chandra
db0e88a1b9
zulip_bots: Check API key on initialization for link_shortener bot.
2017-12-30 17:41:31 +01:00
Shivam Gera
79b32f6c05
Update google_translate.py
2017-12-30 16:04:29 +01:00
Viraat Chandra
8e800d545b
zulip_bots: Check API key on initialization for Baremetrics bot.
2017-12-29 23:33:10 +01:00
Marco Burstein
f719964487
bots: Create Jira Bot.
...
Users can get an issue from Jira Bot using it's key, and get a response
like the following:
Issue BOTS-13: Create Jira Bot
- Type: Task
- Creator: skunkmb
- Project: Bots
- Priority: Medium
- Status: To Do
Users can create or edit an issue with Jira Bot with its
- summary,
- project,
- type,
- description,
- assignee,
- priority,
- labels, and
- due date
2017-12-29 11:21:18 -05:00
Viraat Chandra
d8c6cb7c0a
interactive bots: Create Baremetrics bot.
2017-12-29 11:50:33 +01:00
Privisus
b80a0cb297
interactive bots: Create Merels bot.
2017-12-29 10:48:52 +01:00
Viraat Chandra
a2557ccbe6
interactive bots: Create Mention bot.
2017-12-28 16:33:00 -05:00
Shivam Gera
6121002b35
Update giphy.py
2017-12-28 16:22:20 -05:00
Robert Hönig
c3348750d9
zulip_bots: Supply bots with 'full_content' of message.
...
This adds the 'full_message' field to the message dict
passed to bots.
Fixes #138 .
2017-12-26 08:17:26 -05:00
Robert Hönig
79627002d6
zulip_bots: Add test for run_message_handler_for_bot().
2017-12-26 08:17:26 -05:00
Robert Hönig
464b2612cc
zulip_bots: Make FakeClient accept arbitrary arguments.
2017-12-26 08:17:26 -05:00
sColin16
b9905e5fc8
Game Adapter Class: Allow superusers to moderate bots.
2017-12-25 09:43:53 -05:00
sColin16
2c8b369d14
interactive bots: Extracted GameAdapter Class.
2017-12-25 09:43:53 -05:00
sColin16
35829218b7
interactive bots: Create connect four bot.
2017-12-23 16:02:50 -03:30
neiljp (Neil Pilgrim)
7d493d64c5
mypy: Remove type ignore in generate_manifest.py and simplify.
...
mypy 0.560 incorporates PR python/typeshed#1748 , allowing extended
type-checking of cmd and log components of distutils such as this.
2017-12-21 18:43:42 -05:00
fredfishgames
7acf2c396b
Update dialogflow bot to show user friendly messages
2017-12-19 16:34:13 -05:00
Nikhil Kumar Mishra
d3916b945d
github_detail: Limit bot to 5 requests per message.
...
Fixes #172 .
2017-12-19 14:41:39 -05:00
Jerry Zhang
ce8979df7a
interactive bots: Improve documentation for tictactoe bot.
2017-12-18 10:38:13 -05:00
Marco Burstein
878691a745
bots: Create Wit.ai Bot.
...
Wit.ai Bot communicates with the Wit.ai API. It can be configured with
any Wit.ai token and allows for setting up a custom handler function to
handle Wit.ai responses.
2017-12-18 10:32:05 -05:00
Robert Hönig
b306324bfa
zulip_bots: Make BotTestCase the only helper library.
...
Renames StubBotTestCase to BotTestCase and removes
legacy code for supporting both names.
2017-12-14 05:56:55 -05:00
Robert Hönig
a475077da9
zulip_bots: Use utf-8 when reading fixtures.
...
This prevents issues with Python using platform
specific encodings, such as CP1252 on Windows.
2017-12-14 05:56:55 -05:00
neiljp (Neil Pilgrim)
ced3a97b3f
TicTacToe: Extract sanitized_move from TicTacToeGame as coords_from_command.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
c6e9beb2a1
TicTacToe: Rename & simplify some functions.
...
Rename:
* win_conditions -> contains_winning_move
* check_validity -> is_valid_move
* sanitize_move -> sanitized_move
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
a72764d7b8
TicTacToe: Improve encapsulation of board data in TicTacToeGame.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
aadf639e5e
TicTacToe: Remove python2 compatibility imports
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
cff3e30734
TicTacToe: Coalesce & refactor response messages.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
a7f7994302
TicTacToe: Use game objects instead of calling TicTacToeGame with self.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
b1dba0bd30
TicTacToe: Move tictactoe() text from game-logic to handle_message.
...
Also remove early debugging logic.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
6d4b205595
TicTacToe: Use simple comparison instead of overly-complex first_time().
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
d10601b554
TicTacToe: Refactor new-game handling into existing section.
...
Also extend storage-update section; all related storage.put calls
are now together.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
33e8517b87
TicTacToe: Decouple TicTacToeGame.tictactoe() string from move result.
...
This allows the storage update to be refactored into one block before
sending the result text.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
5843801d13
TicTacToe: Simplify superfluous initial command logic.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
969b984b80
TicTacToe tests: Extend tests to end of game lose condition & quit.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
62d781a53e
TicTacToe tests: Extend tests to end of game draw condition & quit.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
d686a3b337
bots (minor): Simplify test_link_shortener.py further.
...
* Rename test names to be more descriptive.
* Inline messages/response test.
2017-12-12 13:57:55 -06:00
Marco Burstein
e9aa94f81c
mypy: Add annotations for Link Shortener Bot.
...
Based on work started by @skunkmb.
2017-12-12 13:57:55 -06:00
Steve Howell
f69d71c3b1
bots: Remove unneeded __future__ imports.
2017-12-12 07:32:14 -06:00
Steve Howell
fd069dff82
lint: Require python3 shebangs.
...
This commit was originally from @fredfishgames, but it
needed a big rebase due to use letting it sit too long.
Also, we decided not to have shebangs at the top of test
files.
2017-12-12 07:14:16 -06:00
neiljp (Neil Pilgrim)
28687f18ca
mypy: Add --disallow-any=generics & extend typing accordingly.
...
Also reset typing of ExternalBotHandler to Any after discussion.
2017-12-11 20:14:00 -06:00
fredfishgames
424a4bb631
add _ to googletranslate and googlesearch
2017-12-11 13:15:43 -06:00
fredfishgames
657c6d7b9c
interactive bots: Create DialogFlow bot.
2017-12-11 13:15:43 -06:00
Sivagiri Visakan
277b384379
bots: Add 100% test coverage to define bot.
2017-12-11 12:49:43 -06:00
Sivagiri Visakan
d663dd2f49
bots: Make wikipedia bot return an error message.
...
Previously the Wikipedia bot was replying with `null` in case of an error.
A change has been made to return an error message if an error occurs.
2017-12-11 12:49:43 -06:00