@adriangalilea/utils 2.18.0 → 2.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -19,10 +19,18 @@
|
|
|
19
19
|
* Both can coexist: BotFather's native flag is a hard pre-filter, this
|
|
20
20
|
* plugin is the dynamic UX on top of whoever gets through.
|
|
21
21
|
*
|
|
22
|
-
* **
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* **Each surface has a mode.** `dms` and `groups` are independent
|
|
23
|
+
* questions — the DM gate asks "may this USER talk to the bot", the room
|
|
24
|
+
* gate asks "may the bot serve this ROOM" — and each is `"allowlist"`
|
|
25
|
+
* (unknowns go pending, the admin approves) or `"open"` (unknowns pass;
|
|
26
|
+
* only an explicit deny blocks — open IS the ban-list mode, written via
|
|
27
|
+
* `/ban <id>` / the leave button, lifted via `/unban <id>`; a positive id
|
|
28
|
+
* bans a user, a negative one bans a room and leaves it). Defaults:
|
|
29
|
+
* `dms: "allowlist"` (the plugin's historic core), `groups: "off"` (no
|
|
30
|
+
* room machinery at all). The canonical pairings: a private bot runs
|
|
31
|
+
* allowlist/allowlist; a public bot runs open/open and keeps `/ban`.
|
|
32
|
+
*
|
|
33
|
+
* With `groups: "allowlist"`:
|
|
26
34
|
*
|
|
27
35
|
* bot added to a group / supergroup / channel
|
|
28
36
|
* │
|
|
@@ -42,6 +50,12 @@
|
|
|
42
50
|
* its first activity seeds a pending request (throttled DM) — existing
|
|
43
51
|
* rooms surface for review instead of going silently mute forever. The
|
|
44
52
|
* `/access` menu grows a `👥 Groups` view (approve / leave / re-allow).
|
|
53
|
+
*
|
|
54
|
+
* With `groups: "open"` every add auto-approves QUIETLY (no DM — the
|
|
55
|
+
* consumer's own join notifications cover it) and rooms the bot already
|
|
56
|
+
* sits in self-register on first activity, so the Groups view lists the
|
|
57
|
+
* whole footprint ready to be banned; a banned room is left on sight.
|
|
58
|
+
*
|
|
45
59
|
* Removal from a group clears its record (a fresh add re-asks) UNLESS it
|
|
46
60
|
* was denied — deny memory survives, that's the anti-re-add-spam. Cost:
|
|
47
61
|
* one storage read per gated group update. Known edge: a group→supergroup
|
|
@@ -180,7 +194,13 @@ export type GroupAccessRecord = {
|
|
|
180
194
|
deniedBy?: number;
|
|
181
195
|
lastNotifiedAt?: number;
|
|
182
196
|
};
|
|
183
|
-
export type AccessSource = "admin" | "default" | "store" | "group";
|
|
197
|
+
export type AccessSource = "admin" | "default" | "store" | "group" | "open";
|
|
198
|
+
/**
|
|
199
|
+
* A surface's gate mode. `allowlist`: unknowns land in pending and the
|
|
200
|
+
* admin approves. `open`: unknowns pass; only an explicit deny (`/ban`,
|
|
201
|
+
* the leave button) blocks — open IS the ban-list mode.
|
|
202
|
+
*/
|
|
203
|
+
export type GateMode = "allowlist" | "open";
|
|
184
204
|
/**
|
|
185
205
|
* What handlers downstream see on `ctx.access`. A discriminated union —
|
|
186
206
|
* use the `allowed` field to narrow.
|
|
@@ -232,10 +252,21 @@ export type AccessControlOptions = {
|
|
|
232
252
|
/** Min ms between repeat admin notifications for the same user. Default 6h. */
|
|
233
253
|
notifyThrottleMs?: number;
|
|
234
254
|
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
255
|
+
* DM surface mode. `"allowlist"` (default — the plugin's historic
|
|
256
|
+
* core): unknown DM users land in pending and the admin approves.
|
|
257
|
+
* `"open"`: unknown DM users pass (`ctx.access.source === 'open'`);
|
|
258
|
+
* an explicit deny (`/ban`, or a leftover deny record) still blocks —
|
|
259
|
+
* open mode IS the ban-list mode.
|
|
260
|
+
*/
|
|
261
|
+
dms?: GateMode;
|
|
262
|
+
/**
|
|
263
|
+
* Room surface mode (group / supergroup / channel), see the header.
|
|
264
|
+
* `"off"` (default): no room machinery at all. `"allowlist"`: adds go
|
|
265
|
+
* pending, the admin approves or the bot leaves. `"open"`: every add
|
|
266
|
+
* auto-approves quietly (the room shows in `/access` → Groups, ready
|
|
267
|
+
* to be banned); a banned room is left on sight.
|
|
237
268
|
*/
|
|
238
|
-
|
|
269
|
+
groups?: GateMode | "off";
|
|
239
270
|
/** Callbacks for your own logging / metrics. */
|
|
240
271
|
onAccessRequest?: (info: {
|
|
241
272
|
user: AccessUser;
|
|
@@ -452,6 +483,13 @@ export declare const accessControl: (opts: AccessControlOptions) => Plugin<Recor
|
|
|
452
483
|
reason?: undefined;
|
|
453
484
|
record?: undefined;
|
|
454
485
|
};
|
|
486
|
+
} | {
|
|
487
|
+
access: {
|
|
488
|
+
allowed: true;
|
|
489
|
+
source: "open";
|
|
490
|
+
reason?: undefined;
|
|
491
|
+
record?: undefined;
|
|
492
|
+
};
|
|
455
493
|
} | {
|
|
456
494
|
access: {
|
|
457
495
|
allowed: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/bot/access-control.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/bot/access-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,18 @@
|
|
|
19
19
|
* Both can coexist: BotFather's native flag is a hard pre-filter, this
|
|
20
20
|
* plugin is the dynamic UX on top of whoever gets through.
|
|
21
21
|
*
|
|
22
|
-
* **
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* **Each surface has a mode.** `dms` and `groups` are independent
|
|
23
|
+
* questions — the DM gate asks "may this USER talk to the bot", the room
|
|
24
|
+
* gate asks "may the bot serve this ROOM" — and each is `"allowlist"`
|
|
25
|
+
* (unknowns go pending, the admin approves) or `"open"` (unknowns pass;
|
|
26
|
+
* only an explicit deny blocks — open IS the ban-list mode, written via
|
|
27
|
+
* `/ban <id>` / the leave button, lifted via `/unban <id>`; a positive id
|
|
28
|
+
* bans a user, a negative one bans a room and leaves it). Defaults:
|
|
29
|
+
* `dms: "allowlist"` (the plugin's historic core), `groups: "off"` (no
|
|
30
|
+
* room machinery at all). The canonical pairings: a private bot runs
|
|
31
|
+
* allowlist/allowlist; a public bot runs open/open and keeps `/ban`.
|
|
32
|
+
*
|
|
33
|
+
* With `groups: "allowlist"`:
|
|
26
34
|
*
|
|
27
35
|
* bot added to a group / supergroup / channel
|
|
28
36
|
* │
|
|
@@ -42,6 +50,12 @@
|
|
|
42
50
|
* its first activity seeds a pending request (throttled DM) — existing
|
|
43
51
|
* rooms surface for review instead of going silently mute forever. The
|
|
44
52
|
* `/access` menu grows a `👥 Groups` view (approve / leave / re-allow).
|
|
53
|
+
*
|
|
54
|
+
* With `groups: "open"` every add auto-approves QUIETLY (no DM — the
|
|
55
|
+
* consumer's own join notifications cover it) and rooms the bot already
|
|
56
|
+
* sits in self-register on first activity, so the Groups view lists the
|
|
57
|
+
* whole footprint ready to be banned; a banned room is left on sight.
|
|
58
|
+
*
|
|
45
59
|
* Removal from a group clears its record (a fresh add re-asks) UNLESS it
|
|
46
60
|
* was denied — deny memory survives, that's the anti-re-add-spam. Cost:
|
|
47
61
|
* one storage read per gated group update. Known edge: a group→supergroup
|
|
@@ -247,6 +261,12 @@ const loadAccess = async (storage, ctx, userId) => {
|
|
|
247
261
|
const full = await loadFullRecord(storage, ctx, userId);
|
|
248
262
|
return full.access;
|
|
249
263
|
};
|
|
264
|
+
/** Forget the access judgment on a user (other plugins' fields survive). */
|
|
265
|
+
const dropAccess = async (storage, ctx, userId) => {
|
|
266
|
+
const full = await loadFullRecord(storage, ctx, userId);
|
|
267
|
+
delete full.access;
|
|
268
|
+
await storage.set(botStorageKey(ctx, userId), full);
|
|
269
|
+
};
|
|
250
270
|
/** Read recipient's stored language (set by bot/language); fallback to en. */
|
|
251
271
|
const langOfUser = async (storage, ctx, userId) => {
|
|
252
272
|
const full = await loadFullRecord(storage, ctx, userId);
|
|
@@ -335,7 +355,11 @@ export const accessControl = (opts) => {
|
|
|
335
355
|
const defaults = new Set(opts.defaults ?? []);
|
|
336
356
|
const silentDeny = opts.silentDeny === true;
|
|
337
357
|
const throttleMs = opts.notifyThrottleMs ?? DEFAULT_THROTTLE_MS;
|
|
338
|
-
const
|
|
358
|
+
const dmMode = opts.dms ?? "allowlist";
|
|
359
|
+
const groupMode = opts.groups ?? "off";
|
|
360
|
+
// Internal shorthands the plumbing below reads.
|
|
361
|
+
const gateGroups = groupMode !== "off";
|
|
362
|
+
const gateDms = dmMode === "allowlist";
|
|
339
363
|
// Seed (or re-notify) a room's pending request and DM the primary admin,
|
|
340
364
|
// throttled per record. Called from the add event AND from an unknown
|
|
341
365
|
// room's first activity (the gate-turned-on-later migration path).
|
|
@@ -410,8 +434,9 @@ export const accessControl = (opts) => {
|
|
|
410
434
|
access: { allowed: true, source: "default" },
|
|
411
435
|
};
|
|
412
436
|
}
|
|
413
|
-
//
|
|
414
|
-
//
|
|
437
|
+
// Room gate: the ROOM's status decides for group chats. Allowlist:
|
|
438
|
+
// only an approved room passes (approving the room admits every
|
|
439
|
+
// member). Open: every room passes except a banned one.
|
|
415
440
|
if (gateGroups) {
|
|
416
441
|
const chat = gatedChatOf(ctx);
|
|
417
442
|
if (chat) {
|
|
@@ -421,6 +446,19 @@ export const accessControl = (opts) => {
|
|
|
421
446
|
access: { allowed: true, source: "group" },
|
|
422
447
|
};
|
|
423
448
|
}
|
|
449
|
+
if (rec?.status === "denied") {
|
|
450
|
+
return {
|
|
451
|
+
access: {
|
|
452
|
+
allowed: false,
|
|
453
|
+
reason: "denied",
|
|
454
|
+
},
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
if (groupMode === "open") {
|
|
458
|
+
return {
|
|
459
|
+
access: { allowed: true, source: "open" },
|
|
460
|
+
};
|
|
461
|
+
}
|
|
424
462
|
return {
|
|
425
463
|
access: {
|
|
426
464
|
allowed: false,
|
|
@@ -451,6 +489,14 @@ export const accessControl = (opts) => {
|
|
|
451
489
|
},
|
|
452
490
|
};
|
|
453
491
|
}
|
|
492
|
+
// No DM gate: whoever isn't otherwise classified simply passes —
|
|
493
|
+
// EXCEPT an explicit deny, which holds in open mode too (that's
|
|
494
|
+
// what makes /access deny a ban list for an otherwise-open bot).
|
|
495
|
+
if (!gateDms && rec.status !== "denied") {
|
|
496
|
+
return {
|
|
497
|
+
access: { allowed: true, source: "open" },
|
|
498
|
+
};
|
|
499
|
+
}
|
|
454
500
|
return {
|
|
455
501
|
access: { allowed: false, reason: rec.status },
|
|
456
502
|
};
|
|
@@ -484,6 +530,22 @@ export const accessControl = (opts) => {
|
|
|
484
530
|
messageCount: (ctx.session.access.messageCount ?? 0) + 1,
|
|
485
531
|
};
|
|
486
532
|
}
|
|
533
|
+
// Open rooms self-register on first activity (quietly approved),
|
|
534
|
+
// so the /access Groups view lists them ready to be banned —
|
|
535
|
+
// this also covers rooms the bot sat in before the gate existed.
|
|
536
|
+
if (groupMode === "open" && ctx.access.source === "open") {
|
|
537
|
+
const chat = gatedChatOf(ctx);
|
|
538
|
+
if (chat && !(await loadGroup(storage, ctx, chat.id))) {
|
|
539
|
+
const now = Date.now();
|
|
540
|
+
await saveGroup(storage, ctx, chat.id, {
|
|
541
|
+
status: "approved",
|
|
542
|
+
chat,
|
|
543
|
+
requestedAt: now,
|
|
544
|
+
approvedAt: now,
|
|
545
|
+
});
|
|
546
|
+
await indexAdd(storage, groupIndexKey(ctx), "approved", chat.id);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
487
549
|
return next();
|
|
488
550
|
}
|
|
489
551
|
// Acknowledge unauthorized callback queries so the spinner clears.
|
|
@@ -498,19 +560,28 @@ export const accessControl = (opts) => {
|
|
|
498
560
|
if (!ctx.is("message") && !gatedPost)
|
|
499
561
|
return;
|
|
500
562
|
if (ctx.chat?.type !== "private") {
|
|
501
|
-
// Under the group gate an unknown room's first activity seeds a
|
|
502
|
-
// pending request (throttled DM) — this is how rooms the bot
|
|
503
|
-
// already sat in when the gate turned on surface for review
|
|
504
|
-
// (my_chat_member never fires for them).
|
|
505
563
|
if (gateGroups) {
|
|
506
564
|
const chat = gatedChatOf(ctx);
|
|
507
565
|
if (chat) {
|
|
508
|
-
|
|
566
|
+
if (ctx.access.reason === "denied") {
|
|
567
|
+
// A banned room still talking means an earlier leaveChat
|
|
568
|
+
// failed — retry, drop the update either way.
|
|
569
|
+
await botApi(ctx)
|
|
570
|
+
.leaveChat({ chat_id: chat.id })
|
|
571
|
+
.catch(() => { });
|
|
572
|
+
}
|
|
573
|
+
else if (groupMode === "allowlist") {
|
|
574
|
+
// An unknown room's first activity seeds a pending request
|
|
575
|
+
// (throttled DM) — how rooms the bot already sat in when
|
|
576
|
+
// the gate turned on surface for review (my_chat_member
|
|
577
|
+
// never fires for them).
|
|
578
|
+
await requestGroupAccess(ctx, chat, undefined);
|
|
579
|
+
}
|
|
509
580
|
}
|
|
510
581
|
}
|
|
511
|
-
// Without
|
|
512
|
-
// from unapproved users drop silently — seeding a request
|
|
513
|
-
// posting member would spam the admin.
|
|
582
|
+
// Without the room gate, access stays a private-DM concern: group
|
|
583
|
+
// messages from unapproved users drop silently — seeding a request
|
|
584
|
+
// per posting member would spam the admin.
|
|
514
585
|
return;
|
|
515
586
|
}
|
|
516
587
|
// Only real messages remain (channel posts always took the branch
|
|
@@ -744,8 +815,85 @@ export const accessControl = (opts) => {
|
|
|
744
815
|
const aLang = ctxLang(ctx);
|
|
745
816
|
const v = mainView(await loadIndex(storage, indexKey(ctx)), defaults, aLang, gateGroups ? await loadIndex(storage, groupIndexKey(ctx)) : null);
|
|
746
817
|
await ctx.send(v.text, { reply_markup: v.keyboard });
|
|
818
|
+
})
|
|
819
|
+
// The ban list's write path: open mode has no pending requests to
|
|
820
|
+
// deny from, so banning is by id — a positive id is a user, a
|
|
821
|
+
// negative one a room (banning a room also leaves it). Works in
|
|
822
|
+
// allowlist mode too (skip the request flow).
|
|
823
|
+
.command("ban", { description: "Admin: ban a user or room id", hide: true }, async (ctx) => {
|
|
824
|
+
if (!ctx.isAdmin)
|
|
825
|
+
return;
|
|
826
|
+
const aLang = ctxLang(ctx);
|
|
827
|
+
const id = Number((ctx.args ?? "").trim());
|
|
828
|
+
if (!Number.isSafeInteger(id) || id === 0) {
|
|
829
|
+
await ctx.send(say({
|
|
830
|
+
en: "Usage: /ban <user id or room id>",
|
|
831
|
+
es: "Uso: /ban <id de usuario o sala>",
|
|
832
|
+
}, aLang));
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
const now = Date.now();
|
|
836
|
+
if (id < 0) {
|
|
837
|
+
const rec = await loadGroup(storage, ctx, id);
|
|
838
|
+
await saveGroup(storage, ctx, id, {
|
|
839
|
+
...(rec ?? { chat: { id, type: "group" }, requestedAt: now }),
|
|
840
|
+
status: "denied",
|
|
841
|
+
deniedAt: now,
|
|
842
|
+
deniedBy: ctx.adminId,
|
|
843
|
+
approvedAt: undefined,
|
|
844
|
+
approvedBy: undefined,
|
|
845
|
+
});
|
|
846
|
+
await indexMove(storage, groupIndexKey(ctx), id, "any", "denied");
|
|
847
|
+
await botApi(ctx)
|
|
848
|
+
.leaveChat({ chat_id: id })
|
|
849
|
+
.catch(() => { });
|
|
850
|
+
await ctx.send(`🚪 ${say({ en: "Banned room", es: "Sala baneada" }, aLang)} ${formatGroup(rec, id)}`);
|
|
851
|
+
opts.onGroupDeny?.({ chatId: id, deniedBy: ctx.adminId });
|
|
852
|
+
}
|
|
853
|
+
else {
|
|
854
|
+
const rec = await loadAccess(storage, ctx, id);
|
|
855
|
+
await saveAccess(storage, ctx, id, {
|
|
856
|
+
...(rec ?? {}),
|
|
857
|
+
status: "denied",
|
|
858
|
+
user: rec?.user ?? { id },
|
|
859
|
+
deniedAt: now,
|
|
860
|
+
deniedBy: ctx.adminId,
|
|
861
|
+
approvedAt: undefined,
|
|
862
|
+
approvedBy: undefined,
|
|
863
|
+
});
|
|
864
|
+
await indexMove(storage, indexKey(ctx), id, "any", "denied");
|
|
865
|
+
await ctx.send(`❌ ${say({ en: "Banned", es: "Baneado" }, aLang)} ${formatUser(rec?.user, id)}`);
|
|
866
|
+
opts.onDeny?.({ userId: id, deniedBy: ctx.adminId });
|
|
867
|
+
}
|
|
868
|
+
})
|
|
869
|
+
.command("unban", { description: "Admin: lift a ban", hide: true }, async (ctx) => {
|
|
870
|
+
if (!ctx.isAdmin)
|
|
871
|
+
return;
|
|
872
|
+
const aLang = ctxLang(ctx);
|
|
873
|
+
const id = Number((ctx.args ?? "").trim());
|
|
874
|
+
if (!Number.isSafeInteger(id) || id === 0) {
|
|
875
|
+
await ctx.send(say({
|
|
876
|
+
en: "Usage: /unban <user id or room id>",
|
|
877
|
+
es: "Uso: /unban <id de usuario o sala>",
|
|
878
|
+
}, aLang));
|
|
879
|
+
return;
|
|
880
|
+
}
|
|
881
|
+
// Unban = forget the judgment: an open surface passes again on
|
|
882
|
+
// sight, an allowlist one re-asks on the next request/add.
|
|
883
|
+
if (id < 0) {
|
|
884
|
+
const rec = await loadGroup(storage, ctx, id);
|
|
885
|
+
await dropGroup(storage, ctx, id);
|
|
886
|
+
await indexRemove(storage, groupIndexKey(ctx), id);
|
|
887
|
+
await ctx.send(`✅ ${say({ en: "Unbanned room", es: "Sala desbaneada" }, aLang)} ${formatGroup(rec, id)}`);
|
|
888
|
+
}
|
|
889
|
+
else {
|
|
890
|
+
const rec = await loadAccess(storage, ctx, id);
|
|
891
|
+
await dropAccess(storage, ctx, id);
|
|
892
|
+
await indexRemove(storage, indexKey(ctx), id);
|
|
893
|
+
await ctx.send(`✅ ${say({ en: "Unbanned", es: "Desbaneado" }, aLang)} ${formatUser(rec?.user, id)}`);
|
|
894
|
+
}
|
|
747
895
|
});
|
|
748
|
-
// The
|
|
896
|
+
// The room gate's handlers register ONLY when it's on, so a DM-only bot
|
|
749
897
|
// never adds my_chat_member to its allowed_updates.
|
|
750
898
|
if (!gateGroups)
|
|
751
899
|
return plugin;
|
|
@@ -810,7 +958,11 @@ export const accessControl = (opts) => {
|
|
|
810
958
|
username: c.from.username,
|
|
811
959
|
}
|
|
812
960
|
: undefined;
|
|
813
|
-
|
|
961
|
+
// Open mode auto-approves every add (the room lands in /access ready
|
|
962
|
+
// to be banned); allowlist auto-approves only an admin/default adder.
|
|
963
|
+
if (groupMode === "open" ||
|
|
964
|
+
c.isAdmin ||
|
|
965
|
+
(addedBy && defaults.has(addedBy.id))) {
|
|
814
966
|
const now = Date.now();
|
|
815
967
|
await saveGroup(storage, ctx, chat.id, {
|
|
816
968
|
status: "approved",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/bot/access-control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/bot/access-control.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED