fastapi-slack

Slack extension for FastAPI.


Keywords
FastAPI, Slack, slackbot, slash-commands
License
MIT
Install
pip install fastapi-slack==0.2.3

Documentation

fastapi-slack

Conventional Commits CircleCI codecov

Slack extension for FastAPI.

Configuration - Environment Variables

slack_access_token

Bot User OAuth Access Token as defined in OAuth & Permissions menu of the slack app.

slack_signing_secret

App signing secret as shown in Basic Information menu of the slack app in the App Credentials section.

Setup

  • Include fastapi-slack router:
import fastapi_slack
from fastapi import FastAPI


app = FastAPI()
app.include_router(fastapi_slack.router)

Slash Commands

  • Depending on fastapi_slack.SlashCommand validates Slack request signature and extracts the info needed to process it:
from fastapi import Depends, FastAPI
from fastapi_slack import SlashCommand, router

app = FastAPI()
app.include_router(router)


@app.post("/slash-commands")
def process_commands(slash_command: SlashCommand = Depends()):
    pass