interactive bots: Improve wikipedia bot.
This commit is contained in:
parent
1221c7107f
commit
6109bd198a
41
zulip_bots/zulip_bots/bots/wikipedia/doc.md
Normal file
41
zulip_bots/zulip_bots/bots/wikipedia/doc.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Wikipedia Bot
|
||||
|
||||
The Wikipedia bot is a Zulip bot that will search Wikipedia
|
||||
for a provided keyword, and fetch a link to the associated
|
||||
Wikipedia article. The link is returned to the same stream
|
||||
it was @mentioned in
|
||||
|
||||
The Wikipedia bot uses the
|
||||
[MediaWiki API](https://www.mediawiki.org/wiki/API:Main_page)
|
||||
to obtain the search results it returns
|
||||
|
||||
Using the Wikipedia bot is as simple as mentioning @\<wikipedia-bot-name\>,
|
||||
followed by the keyword:
|
||||
|
||||
```
|
||||
@<wikipedia-bot-name> <keyword>
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
Beyond the typical obtaining of the zuliprc file, no extra setup is required to use the Wikipedia Bot
|
||||
|
||||
## Usage
|
||||
|
||||
1. ```@<wikipedia-bot-name> <keyword>``` -
|
||||
fetches the link to the appropriate Wikipedia article.
|
||||
|
||||
* For example, `@<wikipedia-bot-name> Zulip`
|
||||
will return the link `https://en.wikipedia.org/wiki/Zulip`
|
||||
<br>
|
||||
|
||||
2. If the keyword does not return an article link,
|
||||
the bot will respond with an error message:
|
||||
|
||||
`I am sorry. The search term you provided is not found`
|
||||
|
||||
<br>
|
||||
|
||||
3. If no keyword is provided, the bot will return the help text:
|
||||
|
||||
```Please enter your message after @mention-bot```
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
{
|
||||
"request": {
|
||||
"api_url":"https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Zulip&format=json"
|
||||
},
|
||||
"response": {
|
||||
"data": {
|
||||
"status_code":404
|
||||
},
|
||||
"query": {
|
||||
"search": [
|
||||
{
|
||||
"title":"Number sign"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response-headers":{
|
||||
"status":404,
|
||||
"content-type":"text/html"
|
||||
}
|
||||
}
|
|
@ -55,3 +55,15 @@ class TestWikipediaBot(StubBotTestCase):
|
|||
bot_request = ''
|
||||
bot_response = "Please enter your search term after @mention-bot"
|
||||
self.verify_reply(bot_request, bot_response)
|
||||
|
||||
# Incorrect status code
|
||||
bot_request = 'Zulip'
|
||||
bot_response = None
|
||||
with self.mock_http_conversation('test_status_code'):
|
||||
self.verify_reply(bot_request, bot_response)
|
||||
|
||||
# Request Exception
|
||||
bot_request = 'Z'
|
||||
bot_response = None
|
||||
with self.mock_request_exception():
|
||||
self.verify_reply(bot_request, bot_response)
|
||||
|
|
Loading…
Reference in a new issue