A distributable slack app made using Slack Bolt. It is a chat-bot which can handle messages and commands from slack and perform tasks. It is directed at organizations to use this as a utility bot to render tasks from slack itself using messages or slash commands.
We use dotenv package to load our environment variables and thus a .env file with following variables nneds to be setup in the root directory:
SLACK_SIGNING_SECRET=<secret key that slack uses to sign every request>
SLACK_BOT_TOKEN=<xoxb bot token to subscribe to events>
SLACK_APP_TOKEN=<xapp app token for setup changes over all installations>
PORT=optional:<port to be used>
Download the github repository or clone it.
git clone https://github.com/NanoNish/sis.gitInstall poetry
Install all the package dependencies.
poetry install
Now you can run the app
poetry run py ./sisbot/app.pyUpdate the events Request URL, ngrok is recommended to expose localhost server
ngrok http 3000Please use black for formatting
poetry run py -m black .sisbot folder is the source folder where all the magic happens
app.pydriver file of the projectroutingmessage to function/script mappingconfall configurations will end up here
bro | sis all the subcommands for bro come here
patterns.pyregex patterns and corresponding viewsviews.pymiddleware for parsing message and calling scriptsscriptsall scripts related to bro
Please start your commits with these prefixes for better understanding among collaborators, based on the type of commit:
feat: (addition of a new feature)
refactor: (refactoring the code: optimization/ different logic of existing code - output doesn't change, just the way of execution changes)
docs: (documenting the code, be it readme, or extra comments)
fix: (bug fixing)
chore: (chore - beautifying code, indents, spaces, camelcasing, changing variable names to have an appropriate meaning)
patch: (patches - small changes in code, mainly UI, for example color of a button, increasing size of tet, etc etc)
conf: (configurational settings - changing directory structure, updating gitignore, add libraries, changing manifest etc)
Please refer to conventional commits for better commit messages.