Manage the members of a Github organization talking to an Slack chatbot.
To test the chatbot use the Slack Channel adm-github-org.slack.com or add the application using the Slack integration button of adm-github-org-botkit.herokuapp.com.
To request access to the organization open an issue in this repo.
Just clone this repo and install the dependencies with npm install
.
This bot uses some environment variables so don't forget to fill the .env
file.
clientId
: Slack client IDclientSecret
: Slack client secretstudio_token
: Botkit Studio tokenPORT
: Express WebHook portMONGO_URI
: The brain to store the dataLUIS
: Microsoft Luis Token to process all messages writen by the people. The app must be trained to respond to the following intents:- accept
- reject
- ask
- help
- listIssues
- reject
- stop
GITHUB
: Github API token, it must be generated with admin role.
Run npm start
in the root of the project.
Show the available commands writing @botkit help
:
Optionally you can see more info about a command writing the name after the phrase (
@botkit help notifications
).
Use the command /notifications
:
Optionally you can pass a param (enable or disable) as a shortcut for the action:
/notifications enable
/notifications disable
To start a conversation mention the bot asking for the list of issues in the repo access (the bot uses the Microsoft Luis API to analyze the conversation so there is no exact phrase to start talking to it). Once the conversation is stablished the bot will ask you for the ID of the issue that you want to manage:
When an issue is selected the bot will show all the data from the user and then it will ask you want you wanna do, there are three possible options:
- To accept or reject the user in the organization just write it:
- To respond with a new comment respond that you want to request more data: