Skip to content

Latest commit

 

History

History
74 lines (47 loc) · 1.45 KB

README.md

File metadata and controls

74 lines (47 loc) · 1.45 KB

wercker status

slashcommands

A tiny framework for slash commands of Slack.

Installation

with Python 3.6+

$ pip install slashcommands

Usage

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.

Using modules

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/.