contrib bots: Rename bots to follow a consistent pattern.
Files renamed with few changes to accomodate the change in path name of files. Fix few "at-mention bot" errors in docs.
This commit is contained in:
parent
6dda0eb506
commit
d715787170
|
@ -6,13 +6,13 @@ from os.path import expanduser
|
||||||
from six.moves import configparser as cp
|
from six.moves import configparser as cp
|
||||||
|
|
||||||
home = expanduser('~')
|
home = expanduser('~')
|
||||||
CONFIG_PATH = home + '/commute_bot.config'
|
CONFIG_PATH = home + '/commute.config'
|
||||||
|
|
||||||
class CommuteHandler(object):
|
class CommuteHandler(object):
|
||||||
'''
|
'''
|
||||||
This plugin provides information regarding commuting
|
This plugin provides information regarding commuting
|
||||||
from an origin to a destination, providing a multitude of information.
|
from an origin to a destination, providing a multitude of information.
|
||||||
It looks for messages starting with '@commute'.
|
It looks for messages starting with @mention of the bot.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -25,7 +25,7 @@ class CommuteHandler(object):
|
||||||
It can vary outputs depending on traffic conditions, departure and
|
It can vary outputs depending on traffic conditions, departure and
|
||||||
arrival times as well as user preferences
|
arrival times as well as user preferences
|
||||||
(toll avoidance, preference for bus travel, etc.).
|
(toll avoidance, preference for bus travel, etc.).
|
||||||
It looks for messages starting with '@commute'.
|
It looks for messages starting with @mention of the bot.
|
||||||
|
|
||||||
Users should input an origin and a destination
|
Users should input an origin and a destination
|
||||||
in any stream or through private messages to the bot to receive a
|
in any stream or through private messages to the bot to receive a
|
||||||
|
@ -33,8 +33,8 @@ class CommuteHandler(object):
|
||||||
input was originally private.
|
input was originally private.
|
||||||
|
|
||||||
Sample input:
|
Sample input:
|
||||||
@commute origins=Chicago,IL,USA destinations=New+York,NY,USA
|
@mention-botname origins=Chicago,IL,USA destinations=New+York,NY,USA
|
||||||
@commute help
|
@mention-botname help
|
||||||
'''
|
'''
|
||||||
|
|
||||||
help_info = '''
|
help_info = '''
|
||||||
|
@ -58,7 +58,7 @@ class CommuteHandler(object):
|
||||||
e.g. language=fr
|
e.g. language=fr
|
||||||
|
|
||||||
Sample request:
|
Sample request:
|
||||||
@commute origins=Chicago,IL,USA destinations=New+York,NY,USA language=fr
|
@mention-botname origins=Chicago,IL,USA destinations=New+York,NY,USA language=fr
|
||||||
|
|
||||||
Please note:
|
Please note:
|
||||||
Fare information can be derived, though is solely dependent on the
|
Fare information can be derived, though is solely dependent on the
|
||||||
|
@ -79,9 +79,9 @@ class CommuteHandler(object):
|
||||||
|
|
||||||
# adds API Authentication Key to url request
|
# adds API Authentication Key to url request
|
||||||
def get_api_key(self):
|
def get_api_key(self):
|
||||||
# commute_bot.config must have been moved from
|
# commute.config must be moved from
|
||||||
# ~/zulip/contrib_bots/bots/commute_bot/commute_bot.config into
|
# ~/zulip/contrib_bots/bots/commute/commute.config into
|
||||||
# /commute_bot.config for program to work
|
# ~/commute.config for program to work
|
||||||
# see readme.md for more information
|
# see readme.md for more information
|
||||||
with open(CONFIG_PATH) as settings:
|
with open(CONFIG_PATH) as settings:
|
||||||
config = cp.ConfigParser()
|
config = cp.ConfigParser()
|
||||||
|
@ -210,13 +210,13 @@ class CommuteHandler(object):
|
||||||
|
|
||||||
def handle_message(self, message, client, state_handler):
|
def handle_message(self, message, client, state_handler):
|
||||||
original_content = message['content']
|
original_content = message['content']
|
||||||
content_list = original_content.split()
|
query = original_content.split()
|
||||||
|
|
||||||
if "help" in content_list:
|
if "help" in query:
|
||||||
self.send_info(message, self.help_info, client)
|
self.send_info(message, self.help_info, client)
|
||||||
return
|
return
|
||||||
|
|
||||||
params = self.parse_pair(content_list)
|
params = self.parse_pair(query)
|
||||||
params['key'] = self.api_key
|
params['key'] = self.api_key
|
||||||
self.add_time_to_params(params)
|
self.add_time_to_params(params)
|
||||||
|
|
|
@ -11,24 +11,24 @@ units and information in various languages.
|
||||||
The bot will respond to the same stream input was in. And if called as
|
The bot will respond to the same stream input was in. And if called as
|
||||||
private message, the bot will reply with a private message.
|
private message, the bot will reply with a private message.
|
||||||
|
|
||||||
To setup the bot, you will first need to move commute_bot.config into
|
To setup the bot, you will first need to move commute.config into
|
||||||
the user home directory and add an API key.
|
the user home directory and add an API key.
|
||||||
|
|
||||||
Move
|
Move
|
||||||
|
|
||||||
```
|
```
|
||||||
~/zulip/contrib_bots/bots/commute_bot/commute_bot.config
|
~/zulip/contrib_bots/bots/commute/commute.config
|
||||||
```
|
```
|
||||||
|
|
||||||
into
|
into
|
||||||
|
|
||||||
```
|
```
|
||||||
~/commute_bot.config
|
~/commute.config
|
||||||
```
|
```
|
||||||
|
|
||||||
To add an API key, please visit:
|
To add an API key, please visit:
|
||||||
https://developers.google.com/maps/documentation/distance-matrix/start
|
https://developers.google.com/maps/documentation/distance-matrix/start
|
||||||
to retrieve a key and copy your api key into commute_bot.config
|
to retrieve a key and copy your api key into commute.config
|
||||||
|
|
||||||
Sample input and output:
|
Sample input and output:
|
||||||
|
|
|
@ -12,10 +12,10 @@ is not in the dictionary, the definition is not displayed.
|
||||||
* For example, if the user says "@define crash", all the meanings of crash
|
* For example, if the user says "@define crash", all the meanings of crash
|
||||||
appear, each in a separate line.
|
appear, each in a separate line.
|
||||||
|
|
||||||
![Correct Word](correct_word.png)
|
![Correct Word](assets/correct_word.png)
|
||||||
|
|
||||||
* If the user enters a wrong word, like "@define cresh" or "@define crish",
|
* If the user enters a wrong word, like "@define cresh" or "@define crish",
|
||||||
then an error message saying no definition is available is displayed.
|
then an error message saying no definition is available is displayed.
|
||||||
|
|
||||||
![Wrong Word](wrong_word.png)
|
![Wrong Word](assets/wrong_word.png)
|
||||||
|
|
|
@ -4,19 +4,19 @@ This bot allows you to play tic-tac-toe in a private message with the bot.
|
||||||
Multiple games can simultaneously be played by different users, each playing
|
Multiple games can simultaneously be played by different users, each playing
|
||||||
against the computer.
|
against the computer.
|
||||||
|
|
||||||
The bot only responds to messages starting with **@tictactoe** or **@ttt**.
|
The bot only responds to messages starting with @mention of the bot(botname).
|
||||||
|
|
||||||
### Commands
|
### Commands
|
||||||
**@tictactoe new** (or **@ttt new**) will start a new game (but not if you are
|
**@mention-botname new** will start a new game (but not if you are
|
||||||
already playing a game.) You must type this first to start playing!
|
already playing a game.) You must type this first to start playing!
|
||||||
|
|
||||||
**@tictactoe help** (or **@ttt help**) will return a help function with valid
|
**@mention-botname help** will return a help function with valid
|
||||||
commands and coordinates.
|
commands and coordinates.
|
||||||
|
|
||||||
**@tictactoe quit** (or **@ttt quit**) will quit from the current game.
|
**@mention-botname quit** will quit from the current game.
|
||||||
|
|
||||||
**@tictactoe <coordinate>** (or **@ttt <coordinate>**) will make a move at the
|
**@mention-botname <coordinate>** will make a move at the
|
||||||
entered coordinate. For example, **@ttt 1,1** . After this, the bot will make
|
entered coordinate. For example, **@mention-botname 1,1** . After this, the bot will make
|
||||||
its move, or declare the game over if the user or bot has won.
|
its move, or declare the game over if the user or bot has won.
|
||||||
|
|
||||||
Coordinates are entered in a (row, column) format. Numbering is from top to
|
Coordinates are entered in a (row, column) format. Numbering is from top to
|
||||||
|
@ -31,4 +31,4 @@ and spaces are optional.
|
||||||
(3, 1) | (3, 2) | (3, 3)
|
(3, 1) | (3, 2) | (3, 3)
|
||||||
|
|
||||||
Invalid commands will result in an "I don't understand" response from the bot,
|
Invalid commands will result in an "I don't understand" response from the bot,
|
||||||
with a suggestion to type **@tictactoe help** (or **@ttt help**).
|
with a suggestion to type **@mention-botname help** .
|
|
@ -1,12 +1,12 @@
|
||||||
# Overview
|
# Overview
|
||||||
|
|
||||||
This is the documentation for how to set up and run the yoda_bot. (`yoda_bot.py`)
|
This is the documentation for how to set up and run the yoda bot. (`yoda.py`)
|
||||||
|
|
||||||
This directory contains library code for running Zulip
|
This directory contains library code for running Zulip
|
||||||
bots that react to messages sent by users.
|
bots that react to messages sent by users.
|
||||||
|
|
||||||
This bot will allow users to translate a sentence into 'Yoda speak'.
|
This bot will allow users to translate a sentence into 'Yoda speak'.
|
||||||
It looks for messages starting with '@yoda'. You will need to have a
|
It looks for messages starting with at-mention of the botname. You will need to have a
|
||||||
Mashape API key. Please see instructions for getting one below.
|
Mashape API key. Please see instructions for getting one below.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
@ -14,7 +14,7 @@ Mashape API key. Please see instructions for getting one below.
|
||||||
Before running this bot, make sure to get a Mashape API key.
|
Before running this bot, make sure to get a Mashape API key.
|
||||||
Go to this link:
|
Go to this link:
|
||||||
<https://market.mashape.com/ismaelc/yoda-speak/overview>
|
<https://market.mashape.com/ismaelc/yoda-speak/overview>
|
||||||
This is the API that powers the `yoda_bot`. You can read more about it
|
This is the API that powers the `yoda`. You can read more about it
|
||||||
on this page.
|
on this page.
|
||||||
|
|
||||||
![yoda api overview](assets/yoda-speak-api.png)
|
![yoda api overview](assets/yoda-speak-api.png)
|
||||||
|
@ -29,23 +29,23 @@ the Yoda Speak API to. Click on the blue **GET THE KEYS** button.
|
||||||
|
|
||||||
On the pop-up that comes up, click on the **COPY** button.
|
On the pop-up that comes up, click on the **COPY** button.
|
||||||
This is your Mashape API key. It is used
|
This is your Mashape API key. It is used
|
||||||
to authenticate. Store it in the `yoda_bot.config` file.
|
to authenticate. Store it in the `yoda.config` file.
|
||||||
|
|
||||||
The `yoda_bot.config` file should be located at `~/yoda_bot.config`.
|
The `yoda.config` file should be located at `~/yoda.config`.
|
||||||
|
|
||||||
Example input:
|
Example input:
|
||||||
|
|
||||||
@yoda You will learn how to speak like me someday.
|
@mention-bot You will learn how to speak like me someday.
|
||||||
|
|
||||||
If you need help while the bot is running just input `@yoda help`.
|
If you need help while the bot is running just input `@mention-bot help`.
|
||||||
|
|
||||||
## Running the bot
|
## Running the bot
|
||||||
|
|
||||||
Here is an example of running the "yoda_bot" bot from
|
Here is an example of running the "yoda" bot from
|
||||||
inside a Zulip repo:
|
inside a Zulip repo:
|
||||||
|
|
||||||
cd ~/zulip/contrib_bots
|
cd ~/zulip/contrib_bots
|
||||||
./run.py bots/yoda_bot/yoda_bot.py --config-file ~/.zuliprc-prod
|
./run.py bots/yoda/yoda.py --config-file ~/.zuliprc-prod
|
||||||
|
|
||||||
Once the bot code starts running, you will see a
|
Once the bot code starts running, you will see a
|
||||||
message explaining how to use the bot, as well as
|
message explaining how to use the bot, as well as
|
|
@ -18,8 +18,8 @@ HELP_MESSAGE = '''
|
||||||
|
|
||||||
Before running this, make sure to get a Mashape Api token.
|
Before running this, make sure to get a Mashape Api token.
|
||||||
Instructions are in the 'readme.md' file.
|
Instructions are in the 'readme.md' file.
|
||||||
Store it in the 'yoda_bot.config' file.
|
Store it in the 'yoda.config' file.
|
||||||
The 'yoda_bot.config' file should be located at '~/yoda_bot.config'.
|
The 'yoda.config' file should be located at '~/yoda.config'.
|
||||||
Example input:
|
Example input:
|
||||||
@mention-bot You will learn how to speak like me someday.
|
@mention-bot You will learn how to speak like me someday.
|
||||||
'''
|
'''
|
||||||
|
@ -43,8 +43,8 @@ class YodaSpeakHandler(object):
|
||||||
|
|
||||||
Before running this, make sure to get a Mashape Api token.
|
Before running this, make sure to get a Mashape Api token.
|
||||||
Instructions are in the 'readme.md' file.
|
Instructions are in the 'readme.md' file.
|
||||||
Store it in the 'yoda_bot.config' file.
|
Store it in the 'yoda.config' file.
|
||||||
The 'yoda_bot.config' file should be located at '~/yoda_bot.config'.
|
The 'yoda.config' file should be located at '~/yoda.config'.
|
||||||
Example input:
|
Example input:
|
||||||
@mention-bot You will learn how to speak like me someday.
|
@mention-bot You will learn how to speak like me someday.
|
||||||
'''
|
'''
|
||||||
|
@ -115,7 +115,7 @@ def handle_input(client, original_content, stream, subject):
|
||||||
def get_api_key():
|
def get_api_key():
|
||||||
# function for getting Mashape api key
|
# function for getting Mashape api key
|
||||||
home = os.path.expanduser('~')
|
home = os.path.expanduser('~')
|
||||||
with open(home + '/yoda_bot.config') as api_key_file:
|
with open(home + '/yoda.config') as api_key_file:
|
||||||
api_key = api_key_file.read().strip()
|
api_key = api_key_file.read().strip()
|
||||||
return api_key
|
return api_key
|
||||||
|
|
Loading…
Reference in a new issue