https://github.com/roger-king/conductorjs
An extension of slack bolt-js framework to help manage your sessions and installations
https://github.com/roger-king/conductorjs
javascript middleware slack slack-apps slack-bolt typescript
Last synced: 2 months ago
JSON representation
An extension of slack bolt-js framework to help manage your sessions and installations
- Host: GitHub
- URL: https://github.com/roger-king/conductorjs
- Owner: roger-king
- License: mit
- Created: 2020-08-13T22:44:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-16T02:02:36.000Z (over 4 years ago)
- Last Synced: 2025-02-01T02:25:20.075Z (4 months ago)
- Topics: javascript, middleware, slack, slack-apps, slack-bolt, typescript
- Language: TypeScript
- Homepage:
- Size: 401 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Still in Development
# Conductor
An extension of slack bolt-js framework to help manage your sessions, installations, conversations, and channel event routing.
## Development
```bash
yarn install
yarn link# starts a tsc -w
yarn dev```
## Usage
```javascript
const receiver = new ExpressReceiver({ signingSecret: slackConfig.signingSecret });
const router = receiver.router;
const c = new Conductor({
host: '127.0.0.1',
router: router
});
this.app = new SlackApp({
signingSecret: slackConfig.signingSecret,
clientId: slackConfig.clientId,
clientSecret: slackConfig.clientSecret,
// stateSecret: 'super-duper-secret',
scopes: slackConfig.scopes,
// authorize: lb.authorize,
// In your app instance
installationStore: {
storeInstallation: async (installation) => {
return await c.saveInstallation(installation.team.id, installation);
},
fetchInstallation: async (InstallQuery) => {
return await c.fetchInstallation(InstallQuery.teamId);
},
},
receiver,
});this.app.error(lb.handleError);
this.app.use((args) => c.listen({ ...args }));
this.app.use((args) => c.shouldProcess({ ...args }));
```