Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sharl/slackbotapp

sample of slack bot app
https://github.com/sharl/slackbotapp

slack slack-bot slackbot

Last synced: about 2 months ago
JSON representation

sample of slack bot app

Awesome Lists containing this project

README

        

# SlackbotApp

## How to setup

1. make app

- Open [https://api.slack.com/apps?new_app=1](https://api.slack.com/apps?new_app=1)
- [Create an App] -> [From scratch]
- Enter [App Name] and select [workspace]
- [Create App]

2. enable socket mode and generate slack app token

- Settings [Socket Mode] on left side column
- Connect using Socket Mode
- Enable Socket Mode [On]
- Enter [Token Name] ex. "socket mode"
- [Generate]
- xapp-........... **SLACK_APP_TOKEN**
- [Done]

3. create global shortcut

- select Features [Interactivity & Shortcuts] on left side column
- Shortcuts [Create New Shortcut]
- select [Global] and [Next]
- fill [Name]
- fill [Short Description]
- fill [Callback ID]
- [Create]
- [Save Changes]

4. enable events

- select Features [Event Subscriptions] on left side column
- Enable Events [On]
- select [Subscribe to bot events]
- [Add Bot User Event]
- fill [message.channels] in form
- ... and/or handled event
- [Save Changes]

5. other settings

- select Featuers [oAuth & Permissions] on left side column
- Scopes
- Bot Token Scopes
- [Add an OAuth Scope]
- fill [chat:write] in form and enable **MUST**
- add proper scope...

6. App Home settings

- select Features [App Home] on left side column
- Your App's Presence in Slack
- App Display Name [Edit]
- fill Display Name (Bot Name)
- [Save]

7. install app to workspace

- select Settings [Install App] on left side column
- [Install to Workspace]
- [Allow]
- Installed App Settings
- OAuth Tokens for Your Workspace
- Bot User OAuth Token
- xoxb-...................... **SLACK_BOT_TOKEN**

## How to run

```
$ pip install -U -r requirements.txt
$ export SLACK_APP_TOKEN=xapp-..............
$ export SLACK_BOT_TOKEN=xoxb-..............
$ ./app.py
```

## Module usage

### message.switchbot

Switchbot token and secret write to `$HOME`/.switchbot

```
{
"token": "xxxxxxxx",
"secret": "yyyyyyyy"
}
```

#### message.switchbot.meter

- config.json
```
"message.switchbot.meter": {
"user": "user name (NOT display name)",
"devices": [
{
"keyword": "wake word 1",
"device": ""
},
{
"keyword": "wake word 2",
"device": ""
}
]
}
```

#### message.switchbot.plug

- config.json
```
"message.switchbot.plug": {
"user": "user name (NOT display name)",
"devices": [
{
"on": "on wake word 1",
"off": "off wake word 1",
"device": ""
},
{
"on": "on wake word 2",
"off": "off wake word 2",
"device": ""
}
]
}
```