A tiny framework for slash commands of Slack.
with Python 3.6+
$ pip install slashcommands
Create a program as below,
from slashcommands import SlashCommands
TOKEN = '--- Your Verification Token Here ---'
app = SlashCommands(TOKEN, prefix='/slack/')
@app.route('/')
def hello(body):
return "hello!"
@app.route('/hey')
def foo(body):
response = {
"text": "What'up @{0} !!".format(body['user_name']),
"response_type": "in_channel",
}
return response
if __name__ == '__main__':
app.run(port=8080)
and run it on your server.
The argument body
is the request from slack. This is typed as a dict
object. See the Documentation of Slack
for the structure of this request.
As your program gets longer, you may want to split it into several files.
To support it, each SlashCommands
object can inherit another SlashCommands
object like,
app = SlashCommands(TOKEN)
subapp = SlashCommands(TOKEN, prefix='/sub/')
@app.route('/')
def hello(body):
return "hello!"
@subapp.route('/')
def sub(body):
return "I'm subapp!"
app.install(subapp)
now app
object has additional path /sub/
.