change whitelist to work with a JSON file
This commit is contained in:
parent
13a1cf3d50
commit
7b6fcdf650
4 changed files with 21 additions and 5 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
.env
|
||||
node_modules
|
||||
whitelist.json
|
|
@ -33,3 +33,11 @@ $ npm i
|
|||
```
|
||||
$ npx tsx .
|
||||
```
|
||||
|
||||
6. (Optional) Rename `whitelist.example.json` to `whitelist.json` and fill it with Slack User IDs who apart from admins/owners/primary owners should be able to view other people's verification.
|
||||
```json
|
||||
[
|
||||
"UA1B2C3D4E5",
|
||||
"U0123456789"
|
||||
]
|
||||
```
|
||||
|
|
14
index.ts
14
index.ts
|
@ -1,6 +1,6 @@
|
|||
import type { UsersInfoResponse } from "@slack/web-api";
|
||||
|
||||
const { App, ExpressReceiver } = (await import("@slack/bolt"));
|
||||
const { App } = (await import("@slack/bolt"));
|
||||
import "dotenv/config";
|
||||
|
||||
const app = new App({
|
||||
|
@ -8,17 +8,21 @@ const app = new App({
|
|||
signingSecret: process.env.SLACK_SIGNING_SECRET,
|
||||
});
|
||||
|
||||
const whitelist: string[] = []
|
||||
const whitelist: string[] = (() => {
|
||||
try {
|
||||
return require('./whitelist.json')
|
||||
} catch (e) {
|
||||
return []
|
||||
}
|
||||
})();
|
||||
|
||||
function checkUserOk(user: UsersInfoResponse['user']) {
|
||||
if (whitelist.includes(user!.id!)) return true
|
||||
|
||||
console.log(user)
|
||||
|
||||
return user!.is_admin || user!.is_owner || user!.is_primary_owner
|
||||
}
|
||||
|
||||
const eligibilityCmd = async ctx => {
|
||||
const eligibilityCmd = async (ctx: any) => {
|
||||
await ctx.ack();
|
||||
|
||||
const text = ctx.command.text.slice();
|
||||
|
|
3
whitelist.example.json
Normal file
3
whitelist.example.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
[
|
||||
|
||||
]
|
Loading…
Reference in a new issue