/hall-monitor

Slack bot for Official SEC Business.

Primary LanguageTypeScript

hall monitor

Slack bot for Official SEC Business.

To run locally, create a config.ts in the root directory which exports your slack signing secret, bot user token, port, and contact info 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 = 'contact-info-sheet-id';

Install dependencies with npm install and run npm start to run the bot.

Slack

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.

This bot requires the following scopes:

  • commands to add and receive slash command interactions
  • chat:write to send messages
  • users:read to extract user.real_name from command.user_id
  • channels:manage, groups:write, im:write, and mpim:write to create and send messages in DMs and group DMs

Google

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.

image

Make sure whatever spreadsheet you're using as the contact info spreadsheet is shared with your service account.