Slack bot for a certain elusive slack workspace.
To run locally, create a config.ts
in the root directory which exports your slack signing secret, bot user token, port,
and signup spreadsheet id:
// config.ts
export const signingSecret = 'legitimate-slack-signing-secret';
export const token = 'xoxb-also-legitimate-slack-token';
export const port = 3000;
export const spreadsheetId = 'secret-sheets-id';
Install dependencies with npm install
and run npm start
to run the bot.
When creating the Slack application, note that boltjs requires that all URLs are appended with /slack/events
. If your
server is running at 13.00.255.255
on port 3000
, set the event subscription URL and request URL for all created slash
commands to be http://13.00.255.255:3000/slack/events
.
Guava bot requires the following scopes:
commands
to add and receive slash command interactionschat:write
to send messagesusers:read
to extractuser.real_name
fromcommand.user_id
reactions:read
to receivereaction_add
events
To use the sheets API, create a Google cloud project and enable the Google Sheets
API. Create a service account via
Create Credentials > Google Sheets API > Application data
. In your service account details page, save your key file
(Keys > Add Key > Create new key > JSON
) as keys.json
.
Make sure whatever spreadsheet you're using as the linked signup spreadsheet is shared with your service account.