aurival 0.4.0 → 0.5.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.
- package/README.md +162 -8
- package/dist/caps.d.ts +27 -3
- package/dist/caps.d.ts.map +1 -1
- package/dist/caps.js +27 -3
- package/dist/caps.js.map +1 -1
- package/dist/embeds.d.ts +26 -3
- package/dist/embeds.d.ts.map +1 -1
- package/dist/embeds.js +259 -22
- package/dist/embeds.js.map +1 -1
- package/dist/errors.d.ts +43 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +51 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -249,10 +249,11 @@ bot.on('member.joined', async (ctx) => {
|
|
|
249
249
|
|
|
250
250
|
`Embed` is a builder — every `setAuthor`/`setThumbnail`/`addField`/`setFooter` call returns the
|
|
251
251
|
same instance, so you chain them off the constructor. `Button` is a separate, flat object:
|
|
252
|
-
`new Button({ label, id, style })`, where `style` is one of
|
|
253
|
-
|
|
254
|
-
arrays of both into the existing options-object shape
|
|
255
|
-
the same convention `ctx.send(chat, text, { mentions })`
|
|
252
|
+
`new Button({ label, id, style })`, where `style` is one of
|
|
253
|
+
`'primary' | 'secondary' | 'danger' | 'link'`, and anything else throws a plain error naming the
|
|
254
|
+
bad style. Pass arrays of both into the existing options-object shape
|
|
255
|
+
`ctx.reply(text, { embeds, buttons })`, the same convention `ctx.send(chat, text, { mentions })`
|
|
256
|
+
already uses:
|
|
256
257
|
|
|
257
258
|
```ts
|
|
258
259
|
import { Embed, Button } from 'aurival';
|
|
@@ -273,10 +274,146 @@ const buttons = [
|
|
|
273
274
|
await ctx.reply('Ready when you are.', { embeds: [embed], buttons });
|
|
274
275
|
```
|
|
275
276
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
A card earns its place when there is something to put on it: buttons, fields, an image. A reply
|
|
278
|
+
that one line of text covers — a coin flip, a joke, a status line — reads better as that line,
|
|
279
|
+
and a plate wrapped around it is chrome the reader has to look past.
|
|
280
|
+
|
|
281
|
+
### A button that opens a link
|
|
282
|
+
|
|
283
|
+
`Button.link({ label, url })` builds a pill that opens a url instead of coming back to your bot.
|
|
284
|
+
It is the only sanctioned way to build one — `style: 'link'` on the plain constructor without a
|
|
285
|
+
url throws, because a link button with nowhere to go is a dead pill:
|
|
286
|
+
|
|
287
|
+
```ts
|
|
288
|
+
import { Button } from 'aurival';
|
|
289
|
+
|
|
290
|
+
const buttons = [
|
|
291
|
+
Button.link({ label: 'Full lineup', url: 'https://aurival.com/spaces/deepcuts/lineup' }),
|
|
292
|
+
Button.link({ label: 'Set notes', url: 'https://example.com/notes' }),
|
|
293
|
+
new Button({ label: 'Remind me', id: 'remind', style: 'primary' }),
|
|
294
|
+
];
|
|
295
|
+
|
|
296
|
+
await ctx.reply('Doors at 21:00.', { buttons });
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
A link button never comes back to you: no `button.pressed` event, ever, and it never flips the
|
|
300
|
+
row to used. It also stays tappable after a sibling is pressed, and while a sibling is still
|
|
301
|
+
waiting on your `ack()` — the row greys out around it, the link does not. `id` still has to be
|
|
302
|
+
there and still has to be unique in the message, and the SDK still slugs it from the label when
|
|
303
|
+
you leave it out, so that `Set notes` pill gets `id: 'set-notes'` like any other button. Link
|
|
304
|
+
buttons count toward the five-button cap, and a message made only of link buttons is fine.
|
|
305
|
+
|
|
306
|
+
A url is `https://` and at most 2048 characters, everywhere a url is a link target. A non-link
|
|
307
|
+
button must not carry a `url`, and passing one throws rather than being quietly dropped — a typo
|
|
308
|
+
you cannot see is worse than an error you can.
|
|
309
|
+
|
|
310
|
+
### Emoji on a button
|
|
311
|
+
|
|
312
|
+
`emoji` puts one glyph in front of the label, inside the pill:
|
|
313
|
+
|
|
314
|
+
```ts
|
|
315
|
+
import { Button } from 'aurival';
|
|
316
|
+
|
|
317
|
+
const buttons = [
|
|
318
|
+
new Button({ label: 'Maybe', id: 'maybe', style: 'secondary', emoji: '🤔' }),
|
|
319
|
+
new Button({ label: 'Remind me', id: 'remind', style: 'primary', emoji: '⏰' }),
|
|
320
|
+
];
|
|
321
|
+
|
|
322
|
+
await ctx.reply('Set starts in an hour.', { buttons });
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
Exactly one unicode emoji, no custom emoji, no `:shortcode:`, no image url. The emoji does not
|
|
326
|
+
count toward the 24-character label cap — it is its own field, and folding it into the label
|
|
327
|
+
count would make one cap mean two things. The label is still required, so there is no
|
|
328
|
+
emoji-only button: a pill with no words is unguessable to everyone and unreadable to a screen
|
|
329
|
+
reader.
|
|
330
|
+
|
|
331
|
+
### A footer icon, a linked title, a linked author
|
|
332
|
+
|
|
333
|
+
`setFooter(text, icon)` puts a small image beside the footer text, `url` on the embed makes its
|
|
334
|
+
title tappable, and the third argument to `setAuthor` does the same for the author line:
|
|
335
|
+
|
|
336
|
+
```ts
|
|
337
|
+
import { Embed } from 'aurival';
|
|
338
|
+
|
|
339
|
+
const embed = new Embed({
|
|
340
|
+
title: "Tonight's set",
|
|
341
|
+
description: 'Deep cuts only, and nothing after midnight.',
|
|
342
|
+
color: '#3E6E8E',
|
|
343
|
+
url: 'https://aurival.com/spaces/deepcuts',
|
|
344
|
+
})
|
|
345
|
+
.setAuthor('Deep Cuts', 'https://cdn.aurival.com/dc.png', 'https://aurival.com/u/deepcuts')
|
|
346
|
+
.setThumbnail('https://cdn.aurival.com/cover.jpg')
|
|
347
|
+
.setFooter('set by deepcuts', 'https://cdn.aurival.com/dc-small.png');
|
|
348
|
+
|
|
349
|
+
await ctx.reply("Tonight's lineup.", { embeds: [embed] });
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
Each of the three needs the thing it attaches to: a footer icon needs footer text, an embed url
|
|
353
|
+
needs a title to hang the tap on, and an author url needs an author name. Without them there is
|
|
354
|
+
nothing for a reader to press, and dropping the url silently would fail where nobody could see
|
|
355
|
+
it.
|
|
356
|
+
|
|
357
|
+
### Markdown in the description
|
|
358
|
+
|
|
359
|
+
The description is rendered as markdown. Nothing else on the card is — title, field names, field
|
|
360
|
+
values, footer text and author name are all plain text, so a `**bold**` in a field name arrives
|
|
361
|
+
as four asterisks and two words:
|
|
362
|
+
|
|
363
|
+
```ts
|
|
364
|
+
import { Embed } from 'aurival';
|
|
365
|
+
|
|
366
|
+
const embed = new Embed({
|
|
367
|
+
title: 'House rules',
|
|
368
|
+
description:
|
|
369
|
+
'**Deep cuts** only. No *requests* after the ~~third~~ second hour.\n' +
|
|
370
|
+
'Type `!queue` to see what is next.',
|
|
371
|
+
}).addField('Set length', '3 hours', true);
|
|
372
|
+
|
|
373
|
+
await ctx.reply('Welcome in.', { embeds: [embed] });
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
Supported: bold, italic, bold-italic, strikethrough and inline code. Headings render as bold
|
|
377
|
+
text at body size rather than as larger type, because a card is not a document. Not supported:
|
|
378
|
+
images, tables, code panels and autolink — a fenced block renders as plain styled text, not a
|
|
379
|
+
panel, and a bare URL never becomes a tap target.
|
|
380
|
+
|
|
381
|
+
The 1024-character description cap counts the raw markdown source you typed, not what the reader
|
|
382
|
+
sees, so the asterisks and backticks are part of your budget.
|
|
383
|
+
|
|
384
|
+
A markdown link (`[label](https://…)`) or a bare URL is still refused inside the description, and
|
|
385
|
+
inside every other prose field with it. Links live in the structured url fields above, where the
|
|
386
|
+
client knows the target before it paints — in prose, a label can say one thing and go somewhere
|
|
387
|
+
else.
|
|
388
|
+
|
|
389
|
+
### Where a link goes, and what the reader sees first
|
|
390
|
+
|
|
391
|
+
A tap on a link button, a linked title or a linked author that points outside Aurival shows the
|
|
392
|
+
reader a leaving notice naming the host before anything opens, so nobody hands their IP to a
|
|
393
|
+
stranger by pressing a pill that looked friendly. The host on the notice is read off the real
|
|
394
|
+
url, so what they are shown is what opens. An `aurival.com` link skips the notice and opens in
|
|
395
|
+
the app, because it never left.
|
|
396
|
+
|
|
397
|
+
### Caps
|
|
398
|
+
|
|
399
|
+
The SDK checks every cap locally before the frame goes out, so a bad bot fails fast with a plain
|
|
400
|
+
error naming which cap it hit.
|
|
401
|
+
|
|
402
|
+
| cap | limit |
|
|
403
|
+
| ------------------------------------------------------ | -------------------------------------------- |
|
|
404
|
+
| embeds per message | 3 |
|
|
405
|
+
| fields per message | 6, summed across every embed |
|
|
406
|
+
| buttons per message | 5 |
|
|
407
|
+
| button label | 24 characters, emoji not counted |
|
|
408
|
+
| button emoji | exactly one unicode emoji |
|
|
409
|
+
| button style | `primary`, `secondary`, `danger` or `link` |
|
|
410
|
+
| embed description | 1024 characters of raw markdown |
|
|
411
|
+
| link url (button, title, author) | 2048 characters, `https://` only |
|
|
412
|
+
| image url (thumbnail, image, author icon, footer icon) | `https://` only, no length cap |
|
|
413
|
+
|
|
414
|
+
One convention, which is ours and not a rule: when one button is the one you want pressed, put
|
|
415
|
+
it last. The server and the client never reorder a row — your order is the order the reader
|
|
416
|
+
sees — so this is a habit the docs suggest, not something enforced anywhere.
|
|
280
417
|
|
|
281
418
|
A press comes back as a `button.pressed` event, handled the same way any other event is:
|
|
282
419
|
|
|
@@ -344,6 +481,23 @@ code reading other `Message` fields is unaffected.
|
|
|
344
481
|
`bot.on('button.pressed', ...)` is a new event a bot can opt into; a bot that never registers a
|
|
345
482
|
handler for it simply never receives one.
|
|
346
483
|
|
|
484
|
+
### Upgrading from 0.4.x
|
|
485
|
+
|
|
486
|
+
Everything 0.5.0 adds to a card is optional: `url` on the `Embed` init object and as the third
|
|
487
|
+
argument to `setAuthor`, the second argument to `setFooter`, `emoji` and `url` on `Button`, and
|
|
488
|
+
the `Button.link` constructor. A card that uses none of them serialises exactly as it did on
|
|
489
|
+
0.4.0 — same keys, same bytes, no `url: null` where there was nothing before — so a bot you
|
|
490
|
+
wrote against 0.4.0 needs no edit at all.
|
|
491
|
+
|
|
492
|
+
`'link'` is a real button style now, where 0.4.0 refused it with `link buttons are not supported
|
|
493
|
+
in v1`. Build one with `Button.link({ label, url })`; that static is the sanctioned constructor, and it sets the
|
|
494
|
+
style for you.
|
|
495
|
+
|
|
496
|
+
A link button is not an action button wearing a url. It never produces a `button.pressed` event,
|
|
497
|
+
it never flips `used`, and it is not disabled by a sibling being pending or used — so a row can
|
|
498
|
+
go cold around a link and the link still works. If you were counting on every button in a row
|
|
499
|
+
answering back, count only the ones you did not build with `Button.link`.
|
|
500
|
+
|
|
347
501
|
## Shadowed commands
|
|
348
502
|
|
|
349
503
|
A bot can declare up to 50 commands, the SDK refuses to connect past that.
|
package/dist/caps.d.ts
CHANGED
|
@@ -14,7 +14,9 @@ export declare const MAX_LABEL_RUNES = 24;
|
|
|
14
14
|
export declare const MAX_BUTTON_ID_LENGTH = 32;
|
|
15
15
|
export declare const MAX_TITLE_LENGTH = 256;
|
|
16
16
|
export declare const MAX_DESCRIPTION_LENGTH = 1024;
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const MAX_BUTTON_EMOJI_RUNES = 16;
|
|
18
|
+
export declare const MAX_LINK_URL_RUNES = 2048;
|
|
19
|
+
export declare const BUTTON_STYLES: readonly ['primary', 'secondary', 'danger', 'link'];
|
|
18
20
|
export type ButtonStyle = (typeof BUTTON_STYLES)[number];
|
|
19
21
|
export declare const CAP_TOO_MANY_EMBEDS = "a message carries at most 3 embeds";
|
|
20
22
|
export declare const CAP_TOO_MANY_FIELDS = "a message carries at most 6 embed fields";
|
|
@@ -22,11 +24,33 @@ export declare const CAP_TOO_MANY_BUTTONS = "a message carries at most 5 buttons
|
|
|
22
24
|
export declare const CAP_LABEL_TOO_LONG = "a button label is at most 24 characters";
|
|
23
25
|
export declare const CAP_BUTTON_ID_TOO_LONG = "a button id is at most 32 characters";
|
|
24
26
|
export declare const CAP_DUPLICATE_BUTTON_ID = "a button id must be unique within a message";
|
|
25
|
-
export declare const CAP_BAD_BUTTON_STYLE = "a button style must be one of primary, secondary, danger";
|
|
26
|
-
export declare const CAP_LINK_STYLE_DEFERRED = "link buttons are not supported in v1";
|
|
27
|
+
export declare const CAP_BAD_BUTTON_STYLE = "a button style must be one of primary, secondary, danger, link";
|
|
27
28
|
export declare const CAP_TITLE_TOO_LONG = "an embed title is at most 256 characters";
|
|
28
29
|
export declare const CAP_DESCRIPTION_TOO_LONG = "an embed description is at most 1024 characters";
|
|
29
30
|
export declare const CAP_IMAGE_URL_NOT_HTTPS = "an image url must start with https://";
|
|
31
|
+
/**
|
|
32
|
+
* AMENDMENT-06 §5. Link targets live in structured fields, never in prose,
|
|
33
|
+
* and they answer a link mistake with a link sentence: `an image url ...`
|
|
34
|
+
* would tell a bot author to fix the wrong thing. The one sentence that
|
|
35
|
+
* names a number renders it from `MAX_LINK_URL_RUNES`, exactly as the
|
|
36
|
+
* label and title caps above render theirs, because the server's template
|
|
37
|
+
* refuses a digit literal.
|
|
38
|
+
*/
|
|
39
|
+
export declare const CAP_LINK_URL_NOT_HTTPS = "a link url must start with https://";
|
|
40
|
+
export declare const CAP_LINK_URL_TOO_LONG = "a link url is at most 2048 characters";
|
|
41
|
+
export declare const CAP_LINK_BUTTON_MISSING_URL = "a link button needs a url";
|
|
42
|
+
export declare const CAP_URL_ON_NON_LINK_BUTTON = "only a link button carries a url";
|
|
43
|
+
export declare const CAP_INVALID_BUTTON_EMOJI = "a button emoji is a single unicode emoji";
|
|
44
|
+
export declare const CAP_EMBED_URL_WITHOUT_TITLE = "an embed url needs a title to attach to";
|
|
45
|
+
export declare const CAP_AUTHOR_URL_WITHOUT_NAME = "an author url needs an author name to attach to";
|
|
46
|
+
export declare const CAP_EMBED_FOOTER_TEXT_REQUIRED = "an embed footer needs text";
|
|
47
|
+
/**
|
|
48
|
+
* The server's `button_missing_field` sentence, rendered for the one field
|
|
49
|
+
* an SDK caller can actually leave empty. AMENDMENT-06 §3 keeps the label
|
|
50
|
+
* required so an emoji-only pill cannot ship: a pill with no words is
|
|
51
|
+
* unreadable to a screen reader and unguessable to everyone else.
|
|
52
|
+
*/
|
|
53
|
+
export declare const CAP_BUTTON_MISSING_LABEL = "Every button needs `label`. A button without one cannot be rendered or pressed.";
|
|
30
54
|
/**
|
|
31
55
|
* The SDK's own precondition, not one of the server's cap sentences: a send
|
|
32
56
|
* with no text, no embeds and no buttons has nothing to deliver, so it is
|
package/dist/caps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caps.d.ts","sourceRoot":"","sources":["../src/caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"caps.d.ts","sourceRoot":"","sources":["../src/caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEjF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,mBAAmB,uCAAuC,CAAC;AACxE,eAAO,MAAM,mBAAmB,6CAA6C,CAAC;AAC9E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,4CAA4C,CAAC;AAC5E,eAAO,MAAM,sBAAsB,yCAAyC,CAAC;AAC7E,eAAO,MAAM,uBAAuB,gDAAgD,CAAC;AACrF,eAAO,MAAM,oBAAoB,mEACiC,CAAC;AACnE,eAAO,MAAM,kBAAkB,6CAA6C,CAAC;AAC7E,eAAO,MAAM,wBAAwB,oDAAoD,CAAC;AAC1F,eAAO,MAAM,uBAAuB,0CAA0C,CAAC;AAE/E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAC5E,eAAO,MAAM,qBAAqB,0CAA2D,CAAC;AAC9F,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AACvE,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAC7E,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AACnF,eAAO,MAAM,2BAA2B,4CAA4C,CAAC;AACrF,eAAO,MAAM,2BAA2B,oDAAoD,CAAC;AAC7F,eAAO,MAAM,8BAA8B,+BAA+B,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,oFAC8C,CAAC;AAEpF;;;;GAIG;AACH,eAAO,MAAM,aAAa,4CAA4C,CAAC"}
|
package/dist/caps.js
CHANGED
|
@@ -14,18 +14,42 @@ export const MAX_LABEL_RUNES = 24;
|
|
|
14
14
|
export const MAX_BUTTON_ID_LENGTH = 32;
|
|
15
15
|
export const MAX_TITLE_LENGTH = 256;
|
|
16
16
|
export const MAX_DESCRIPTION_LENGTH = 1024;
|
|
17
|
-
export const
|
|
17
|
+
export const MAX_BUTTON_EMOJI_RUNES = 16;
|
|
18
|
+
export const MAX_LINK_URL_RUNES = 2048;
|
|
19
|
+
export const BUTTON_STYLES = ['primary', 'secondary', 'danger', 'link'];
|
|
18
20
|
export const CAP_TOO_MANY_EMBEDS = 'a message carries at most 3 embeds';
|
|
19
21
|
export const CAP_TOO_MANY_FIELDS = 'a message carries at most 6 embed fields';
|
|
20
22
|
export const CAP_TOO_MANY_BUTTONS = 'a message carries at most 5 buttons';
|
|
21
23
|
export const CAP_LABEL_TOO_LONG = 'a button label is at most 24 characters';
|
|
22
24
|
export const CAP_BUTTON_ID_TOO_LONG = 'a button id is at most 32 characters';
|
|
23
25
|
export const CAP_DUPLICATE_BUTTON_ID = 'a button id must be unique within a message';
|
|
24
|
-
export const CAP_BAD_BUTTON_STYLE = 'a button style must be one of primary, secondary, danger';
|
|
25
|
-
export const CAP_LINK_STYLE_DEFERRED = 'link buttons are not supported in v1';
|
|
26
|
+
export const CAP_BAD_BUTTON_STYLE = 'a button style must be one of primary, secondary, danger, link';
|
|
26
27
|
export const CAP_TITLE_TOO_LONG = 'an embed title is at most 256 characters';
|
|
27
28
|
export const CAP_DESCRIPTION_TOO_LONG = 'an embed description is at most 1024 characters';
|
|
28
29
|
export const CAP_IMAGE_URL_NOT_HTTPS = 'an image url must start with https://';
|
|
30
|
+
/**
|
|
31
|
+
* AMENDMENT-06 §5. Link targets live in structured fields, never in prose,
|
|
32
|
+
* and they answer a link mistake with a link sentence: `an image url ...`
|
|
33
|
+
* would tell a bot author to fix the wrong thing. The one sentence that
|
|
34
|
+
* names a number renders it from `MAX_LINK_URL_RUNES`, exactly as the
|
|
35
|
+
* label and title caps above render theirs, because the server's template
|
|
36
|
+
* refuses a digit literal.
|
|
37
|
+
*/
|
|
38
|
+
export const CAP_LINK_URL_NOT_HTTPS = 'a link url must start with https://';
|
|
39
|
+
export const CAP_LINK_URL_TOO_LONG = `a link url is at most ${MAX_LINK_URL_RUNES} characters`;
|
|
40
|
+
export const CAP_LINK_BUTTON_MISSING_URL = 'a link button needs a url';
|
|
41
|
+
export const CAP_URL_ON_NON_LINK_BUTTON = 'only a link button carries a url';
|
|
42
|
+
export const CAP_INVALID_BUTTON_EMOJI = 'a button emoji is a single unicode emoji';
|
|
43
|
+
export const CAP_EMBED_URL_WITHOUT_TITLE = 'an embed url needs a title to attach to';
|
|
44
|
+
export const CAP_AUTHOR_URL_WITHOUT_NAME = 'an author url needs an author name to attach to';
|
|
45
|
+
export const CAP_EMBED_FOOTER_TEXT_REQUIRED = 'an embed footer needs text';
|
|
46
|
+
/**
|
|
47
|
+
* The server's `button_missing_field` sentence, rendered for the one field
|
|
48
|
+
* an SDK caller can actually leave empty. AMENDMENT-06 §3 keeps the label
|
|
49
|
+
* required so an emoji-only pill cannot ship: a pill with no words is
|
|
50
|
+
* unreadable to a screen reader and unguessable to everyone else.
|
|
51
|
+
*/
|
|
52
|
+
export const CAP_BUTTON_MISSING_LABEL = 'Every button needs `label`. A button without one cannot be rendered or pressed.';
|
|
29
53
|
/**
|
|
30
54
|
* The SDK's own precondition, not one of the server's cap sentences: a send
|
|
31
55
|
* with no text, no embeds and no buttons has nothing to deliver, so it is
|
package/dist/caps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caps.js","sourceRoot":"","sources":["../src/caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"caps.js","sourceRoot":"","sources":["../src/caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAIjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,6CAA6C,CAAC;AACrF,MAAM,CAAC,MAAM,oBAAoB,GAC/B,gEAAgE,CAAC;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,0CAA0C,CAAC;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iDAAiD,CAAC;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,uCAAuC,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,kBAAkB,aAAa,CAAC;AAC9F,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AACvE,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAC;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,0CAA0C,CAAC;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,yCAAyC,CAAC;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,iDAAiD,CAAC;AAC7F,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACnC,iFAAiF,CAAC;AAEpF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC"}
|
package/dist/embeds.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Discord-shaped `Embed` and `Button` builders (AMENDMENT-05
|
|
2
|
+
* Discord-shaped `Embed` and `Button` builders (AMENDMENT-05, extended by
|
|
3
|
+
* AMENDMENT-06 with a footer icon, a button emoji and the three structured
|
|
4
|
+
* link targets). Mirrors
|
|
3
5
|
* python's builders field for field; the wire shape and every cap sentence
|
|
4
6
|
* are contractual (`caps.ts`) and must not drift between the two SDKs.
|
|
5
7
|
*
|
|
@@ -23,6 +25,7 @@ export interface EmbedFieldValue {
|
|
|
23
25
|
export interface EmbedAuthorValue {
|
|
24
26
|
name: string;
|
|
25
27
|
icon?: string;
|
|
28
|
+
url?: string;
|
|
26
29
|
}
|
|
27
30
|
export interface EmbedThumbnailValue {
|
|
28
31
|
url: string;
|
|
@@ -32,11 +35,13 @@ export interface EmbedImageValue {
|
|
|
32
35
|
}
|
|
33
36
|
export interface EmbedFooterValue {
|
|
34
37
|
text: string;
|
|
38
|
+
icon?: string;
|
|
35
39
|
}
|
|
36
40
|
export interface EmbedInit {
|
|
37
41
|
title?: string;
|
|
38
42
|
description?: string;
|
|
39
43
|
color?: string;
|
|
44
|
+
url?: string;
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
42
47
|
* `Embed().addField(...)` builder. Every mutation is validated immediately
|
|
@@ -48,6 +53,7 @@ export declare class Embed {
|
|
|
48
53
|
title?: string;
|
|
49
54
|
description?: string;
|
|
50
55
|
color?: string;
|
|
56
|
+
url?: string;
|
|
51
57
|
author?: EmbedAuthorValue;
|
|
52
58
|
thumbnail?: EmbedThumbnailValue;
|
|
53
59
|
image?: EmbedImageValue;
|
|
@@ -57,10 +63,10 @@ export declare class Embed {
|
|
|
57
63
|
constructor(init?: EmbedInit);
|
|
58
64
|
/** Refuses the 7th field on ONE embed — the whole-message cap (summed across embeds) is enforced by `serialiseEmbeds`. */
|
|
59
65
|
addField(name: string, value: string, inline?: boolean): this;
|
|
60
|
-
setAuthor(name: string, icon?: string): this;
|
|
66
|
+
setAuthor(name: string, icon?: string, url?: string): this;
|
|
61
67
|
setThumbnail(url: string): this;
|
|
62
68
|
setImage(url: string): this;
|
|
63
|
-
setFooter(text: string): this;
|
|
69
|
+
setFooter(text: string, icon?: string): this;
|
|
64
70
|
/** A `Date` becomes UTC RFC3339 (`Z`); a string is assumed already in that form. */
|
|
65
71
|
setTimestamp(value: Date | string): this;
|
|
66
72
|
toJSON(): Record<string, unknown>;
|
|
@@ -76,13 +82,30 @@ export interface ButtonInit {
|
|
|
76
82
|
label: string;
|
|
77
83
|
id?: string;
|
|
78
84
|
style?: string;
|
|
85
|
+
emoji?: string;
|
|
86
|
+
url?: string;
|
|
79
87
|
}
|
|
80
88
|
/** `new Button({ label: 'Pacific' })` — `id` defaults to a slug of `label`, `style` defaults to `'primary'`. */
|
|
81
89
|
export declare class Button {
|
|
82
90
|
label: string;
|
|
83
91
|
id: string;
|
|
84
92
|
style: string;
|
|
93
|
+
emoji?: string;
|
|
94
|
+
url?: string;
|
|
85
95
|
constructor(init: ButtonInit);
|
|
96
|
+
/**
|
|
97
|
+
* The sanctioned way to build a link pill (AMENDMENT-06 §11): a url is not
|
|
98
|
+
* optional here, so the shape that raises `a link button needs a url` is
|
|
99
|
+
* one a caller has to go out of their way to write. A tap opens the url on
|
|
100
|
+
* the device and stops — a link button never round-trips as `button.pressed`
|
|
101
|
+
* and never flips the row.
|
|
102
|
+
*/
|
|
103
|
+
static link(init: {
|
|
104
|
+
label: string;
|
|
105
|
+
url: string;
|
|
106
|
+
id?: string;
|
|
107
|
+
emoji?: string;
|
|
108
|
+
}): Button;
|
|
86
109
|
toJSON(): Record<string, unknown>;
|
|
87
110
|
/** Tolerant decode — never throws. See `Embed.fromJSON` for why. */
|
|
88
111
|
static fromJSON(data: unknown): Button;
|
package/dist/embeds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../src/embeds.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../src/embeds.ts"],"names":[],"mappings":"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"}
|
package/dist/embeds.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Discord-shaped `Embed` and `Button` builders (AMENDMENT-05
|
|
2
|
+
* Discord-shaped `Embed` and `Button` builders (AMENDMENT-05, extended by
|
|
3
|
+
* AMENDMENT-06 with a footer icon, a button emoji and the three structured
|
|
4
|
+
* link targets). Mirrors
|
|
3
5
|
* python's builders field for field; the wire shape and every cap sentence
|
|
4
6
|
* are contractual (`caps.ts`) and must not drift between the two SDKs.
|
|
5
7
|
*
|
|
@@ -15,7 +17,7 @@
|
|
|
15
17
|
* throws — the caps are an outbound (client -> server) contract, not an
|
|
16
18
|
* inbound one, and a message already stored by the server is assumed valid.
|
|
17
19
|
*/
|
|
18
|
-
import { BUTTON_STYLES, CAP_BAD_BUTTON_STYLE, CAP_BUTTON_ID_TOO_LONG, CAP_DESCRIPTION_TOO_LONG, CAP_DUPLICATE_BUTTON_ID, CAP_IMAGE_URL_NOT_HTTPS, CAP_LABEL_TOO_LONG,
|
|
20
|
+
import { BUTTON_STYLES, CAP_AUTHOR_URL_WITHOUT_NAME, CAP_BAD_BUTTON_STYLE, CAP_BUTTON_ID_TOO_LONG, CAP_BUTTON_MISSING_LABEL, CAP_DESCRIPTION_TOO_LONG, CAP_DUPLICATE_BUTTON_ID, CAP_EMBED_FOOTER_TEXT_REQUIRED, CAP_EMBED_URL_WITHOUT_TITLE, CAP_IMAGE_URL_NOT_HTTPS, CAP_INVALID_BUTTON_EMOJI, CAP_LABEL_TOO_LONG, CAP_LINK_BUTTON_MISSING_URL, CAP_LINK_URL_NOT_HTTPS, CAP_LINK_URL_TOO_LONG, CAP_TITLE_TOO_LONG, CAP_TOO_MANY_BUTTONS, CAP_TOO_MANY_EMBEDS, CAP_TOO_MANY_FIELDS, CAP_URL_ON_NON_LINK_BUTTON, MAX_BUTTON_EMOJI_RUNES, MAX_BUTTON_ID_LENGTH, MAX_BUTTONS, MAX_DESCRIPTION_LENGTH, MAX_EMBED_FIELDS, MAX_EMBEDS, MAX_LABEL_RUNES, MAX_LINK_URL_RUNES, MAX_TITLE_LENGTH, } from './caps.js';
|
|
19
21
|
function asRecord(value) {
|
|
20
22
|
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
21
23
|
? value
|
|
@@ -27,9 +29,141 @@ function asOptionalString(value) {
|
|
|
27
29
|
function graphemeLength(text) {
|
|
28
30
|
return [...text].length;
|
|
29
31
|
}
|
|
30
|
-
|
|
32
|
+
/**
|
|
33
|
+
* AMENDMENT-06 §11 asks every new url field to reuse this helper; §5 asks a
|
|
34
|
+
* link field to answer with the LINK sentence rather than the image one. The
|
|
35
|
+
* sentence is therefore a parameter: one https check, two wordings, and the
|
|
36
|
+
* caller picks the one that tells its author what to fix.
|
|
37
|
+
*/
|
|
38
|
+
function requireHttps(url, sentence = CAP_IMAGE_URL_NOT_HTTPS) {
|
|
31
39
|
if (!url.startsWith('https://'))
|
|
32
|
-
throw new Error(
|
|
40
|
+
throw new Error(sentence);
|
|
41
|
+
}
|
|
42
|
+
/** https, then the rune bound — runes, not UTF-16 units, matching the server. */
|
|
43
|
+
function requireLinkUrl(url) {
|
|
44
|
+
requireHttps(url, CAP_LINK_URL_NOT_HTTPS);
|
|
45
|
+
if (graphemeLength(url) > MAX_LINK_URL_RUNES)
|
|
46
|
+
throw new Error(CAP_LINK_URL_TOO_LONG);
|
|
47
|
+
}
|
|
48
|
+
const RUNE_ZWJ = 0x200d;
|
|
49
|
+
const RUNE_VARIATION_TEXT = 0xfe0e;
|
|
50
|
+
const RUNE_VARIATION_EMOJI = 0xfe0f;
|
|
51
|
+
const RUNE_KEYCAP = 0x20e3;
|
|
52
|
+
const RUNE_SKIN_TONE_LOW = 0x1f3fb;
|
|
53
|
+
const RUNE_SKIN_TONE_HIGH = 0x1f3ff;
|
|
54
|
+
const RUNE_REGIONAL_LOW = 0x1f1e6;
|
|
55
|
+
const RUNE_REGIONAL_HIGH = 0x1f1ff;
|
|
56
|
+
const RUNE_TAG_LOW = 0xe0020;
|
|
57
|
+
const RUNE_TAG_HIGH = 0xe007f;
|
|
58
|
+
const RUNE_PICTO_BLOCK_LOW = 0x1f000;
|
|
59
|
+
const RUNE_PICTO_BLOCK_HIGH = 0x1faff;
|
|
60
|
+
const RUNE_SYMBOLS_BLOCK_LOW = 0x2600;
|
|
61
|
+
const RUNE_SYMBOLS_BLOCK_HIGH = 0x27bf;
|
|
62
|
+
/**
|
|
63
|
+
* The unicode symbol classes as the server reads them, floored at U+0080 so
|
|
64
|
+
* ASCII punctuation cannot pass: `+`, `<`, `=`, `|` and `~` are all Sm, and a
|
|
65
|
+
* bare `+` in the emoji slot renders as a pill with a plus sign in it. The two
|
|
66
|
+
* block ranges come first because they carry the emoji the classes miss.
|
|
67
|
+
*/
|
|
68
|
+
const SYMBOL_CLASSES = /[\p{So}\p{Sm}]/u;
|
|
69
|
+
function isPictographic(codePoint) {
|
|
70
|
+
if (codePoint < 0x80)
|
|
71
|
+
return false;
|
|
72
|
+
if (codePoint >= RUNE_SYMBOLS_BLOCK_LOW && codePoint <= RUNE_SYMBOLS_BLOCK_HIGH)
|
|
73
|
+
return true;
|
|
74
|
+
if (codePoint >= RUNE_PICTO_BLOCK_LOW && codePoint <= RUNE_PICTO_BLOCK_HIGH)
|
|
75
|
+
return true;
|
|
76
|
+
return SYMBOL_CLASSES.test(String.fromCodePoint(codePoint));
|
|
77
|
+
}
|
|
78
|
+
function isRegionalIndicator(codePoint) {
|
|
79
|
+
return codePoint >= RUNE_REGIONAL_LOW && codePoint <= RUNE_REGIONAL_HIGH;
|
|
80
|
+
}
|
|
81
|
+
function isSkinTone(codePoint) {
|
|
82
|
+
return codePoint >= RUNE_SKIN_TONE_LOW && codePoint <= RUNE_SKIN_TONE_HIGH;
|
|
83
|
+
}
|
|
84
|
+
function isTagChar(codePoint) {
|
|
85
|
+
return codePoint >= RUNE_TAG_LOW && codePoint <= RUNE_TAG_HIGH;
|
|
86
|
+
}
|
|
87
|
+
/** A keycap's base is a digit, `#` or `*` — the only ASCII legal in an emoji. */
|
|
88
|
+
function isKeycapBase(codePoint) {
|
|
89
|
+
return (codePoint >= 0x30 && codePoint <= 0x39) || codePoint === 0x23 || codePoint === 0x2a;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* "Is this exactly one emoji", AMENDMENT-06 §3. This is a rule-for-rule port
|
|
93
|
+
* of the server's `validEmoji` (`backend-go/internal/botapi/emoji.go`), in its
|
|
94
|
+
* order, and the python SDK carries the same port: §3 lets an SDK be looser
|
|
95
|
+
* than the server, but two SDKs that disagree with each other would hand two
|
|
96
|
+
* bot authors two different answers to the same emoji.
|
|
97
|
+
*
|
|
98
|
+
* True grapheme segmentation is deliberately NOT used even though node has
|
|
99
|
+
* `Intl.Segmenter`. The server approximates segmentation from the unicode
|
|
100
|
+
* tables and is a little permissive on purpose; segmenting here would refuse
|
|
101
|
+
* sequences the server accepts, and a refusal a developer cannot act on is the
|
|
102
|
+
* worse failure (R-10).
|
|
103
|
+
*
|
|
104
|
+
* The empty string is refused rather than treated as absent: an absent emoji
|
|
105
|
+
* is the key missing from the button entirely, so a blank one is a value its
|
|
106
|
+
* author meant, and the honest answer to it is no.
|
|
107
|
+
*/
|
|
108
|
+
function isSingleEmoji(value) {
|
|
109
|
+
const runes = [...value].map((char) => char.codePointAt(0) ?? 0);
|
|
110
|
+
const first = runes[0];
|
|
111
|
+
if (first === undefined)
|
|
112
|
+
return false;
|
|
113
|
+
// The outer bound before the runes are looked at individually. A flag is
|
|
114
|
+
// two, a keycap three, and the longest family sequence in common use is
|
|
115
|
+
// seven; anything past the bound is a paste, not an emoji.
|
|
116
|
+
if (runes.length > MAX_BUTTON_EMOJI_RUNES)
|
|
117
|
+
return false;
|
|
118
|
+
// A flag is EXACTLY TWO regional indicators and nothing else. One is half a
|
|
119
|
+
// flag and renders as a letter in a box; four is two flags.
|
|
120
|
+
if (isRegionalIndicator(first)) {
|
|
121
|
+
const second = runes[1];
|
|
122
|
+
return runes.length === 2 && second !== undefined && isRegionalIndicator(second);
|
|
123
|
+
}
|
|
124
|
+
// A keycap's base is the only place an ASCII rune is legal, and only when
|
|
125
|
+
// U+20E3 actually follows. A bare "1" is a digit, not an emoji.
|
|
126
|
+
if (isKeycapBase(first)) {
|
|
127
|
+
if (runes.length === 2)
|
|
128
|
+
return runes[1] === RUNE_KEYCAP;
|
|
129
|
+
if (runes.length === 3) {
|
|
130
|
+
return runes[1] === RUNE_VARIATION_EMOJI && runes[2] === RUNE_KEYCAP;
|
|
131
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
if (!isPictographic(first))
|
|
135
|
+
return false;
|
|
136
|
+
// EXACTLY ONE BASE. A later pictographic rune is legal only when the rune
|
|
137
|
+
// before it was a ZWJ, which is what makes a family one emoji and two dice
|
|
138
|
+
// two.
|
|
139
|
+
let prev = first;
|
|
140
|
+
for (const rune of runes.slice(1)) {
|
|
141
|
+
if (rune === RUNE_ZWJ || rune === RUNE_VARIATION_TEXT || rune === RUNE_VARIATION_EMOJI) {
|
|
142
|
+
// A joiner or a variation selector rides along freely.
|
|
143
|
+
}
|
|
144
|
+
else if (isSkinTone(rune) || isTagChar(rune)) {
|
|
145
|
+
// So do skin tones and the tag characters of a subdivision flag.
|
|
146
|
+
}
|
|
147
|
+
else if (isRegionalIndicator(rune)) {
|
|
148
|
+
// Only ever the two-rune flag handled above; glued onto a pictographic
|
|
149
|
+
// base it is a second emoji.
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
else if (isPictographic(rune)) {
|
|
153
|
+
if (prev !== RUNE_ZWJ)
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
prev = rune;
|
|
160
|
+
}
|
|
161
|
+
// A sequence that ends on a joiner is joined to nothing.
|
|
162
|
+
return prev !== RUNE_ZWJ;
|
|
163
|
+
}
|
|
164
|
+
function requireEmoji(emoji) {
|
|
165
|
+
if (!isSingleEmoji(emoji))
|
|
166
|
+
throw new Error(CAP_INVALID_BUTTON_EMOJI);
|
|
33
167
|
}
|
|
34
168
|
/**
|
|
35
169
|
* `Embed().addField(...)` builder. Every mutation is validated immediately
|
|
@@ -40,6 +174,7 @@ export class Embed {
|
|
|
40
174
|
title;
|
|
41
175
|
description;
|
|
42
176
|
color;
|
|
177
|
+
url;
|
|
43
178
|
author;
|
|
44
179
|
thumbnail;
|
|
45
180
|
image;
|
|
@@ -61,6 +196,13 @@ export class Embed {
|
|
|
61
196
|
}
|
|
62
197
|
if (init.color !== undefined)
|
|
63
198
|
this.color = init.color;
|
|
199
|
+
if (init.url !== undefined) {
|
|
200
|
+
if (this.title === undefined || this.title === '') {
|
|
201
|
+
throw new Error(CAP_EMBED_URL_WITHOUT_TITLE);
|
|
202
|
+
}
|
|
203
|
+
requireLinkUrl(init.url);
|
|
204
|
+
this.url = init.url;
|
|
205
|
+
}
|
|
64
206
|
}
|
|
65
207
|
/** Refuses the 7th field on ONE embed — the whole-message cap (summed across embeds) is enforced by `serialiseEmbeds`. */
|
|
66
208
|
addField(name, value, inline = false) {
|
|
@@ -69,14 +211,20 @@ export class Embed {
|
|
|
69
211
|
this.fields.push({ name, value, inline });
|
|
70
212
|
return this;
|
|
71
213
|
}
|
|
72
|
-
setAuthor(name, icon) {
|
|
73
|
-
if (icon !== undefined)
|
|
214
|
+
setAuthor(name, icon, url) {
|
|
215
|
+
if (icon !== undefined)
|
|
74
216
|
requireHttps(icon);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
217
|
+
if (url !== undefined) {
|
|
218
|
+
if (name === '')
|
|
219
|
+
throw new Error(CAP_AUTHOR_URL_WITHOUT_NAME);
|
|
220
|
+
requireLinkUrl(url);
|
|
79
221
|
}
|
|
222
|
+
const author = { name };
|
|
223
|
+
if (icon !== undefined)
|
|
224
|
+
author.icon = icon;
|
|
225
|
+
if (url !== undefined)
|
|
226
|
+
author.url = url;
|
|
227
|
+
this.author = author;
|
|
80
228
|
return this;
|
|
81
229
|
}
|
|
82
230
|
setThumbnail(url) {
|
|
@@ -89,8 +237,15 @@ export class Embed {
|
|
|
89
237
|
this.image = { url };
|
|
90
238
|
return this;
|
|
91
239
|
}
|
|
92
|
-
setFooter(text) {
|
|
93
|
-
|
|
240
|
+
setFooter(text, icon) {
|
|
241
|
+
if (text === '')
|
|
242
|
+
throw new Error(CAP_EMBED_FOOTER_TEXT_REQUIRED);
|
|
243
|
+
if (icon !== undefined)
|
|
244
|
+
requireHttps(icon);
|
|
245
|
+
const footer = { text };
|
|
246
|
+
if (icon !== undefined)
|
|
247
|
+
footer.icon = icon;
|
|
248
|
+
this.footer = footer;
|
|
94
249
|
return this;
|
|
95
250
|
}
|
|
96
251
|
/** A `Date` becomes UTC RFC3339 (`Z`); a string is assumed already in that form. */
|
|
@@ -106,6 +261,8 @@ export class Embed {
|
|
|
106
261
|
out['description'] = this.description;
|
|
107
262
|
if (this.color !== undefined)
|
|
108
263
|
out['color'] = this.color;
|
|
264
|
+
if (this.url !== undefined)
|
|
265
|
+
out['url'] = this.url;
|
|
109
266
|
if (this.author !== undefined)
|
|
110
267
|
out['author'] = this.author;
|
|
111
268
|
if (this.thumbnail !== undefined)
|
|
@@ -128,7 +285,7 @@ export class Embed {
|
|
|
128
285
|
*/
|
|
129
286
|
static fromJSON(data) {
|
|
130
287
|
const record = asRecord(data) ?? {};
|
|
131
|
-
const { title, description, color, author, thumbnail, image, fields, footer, timestamp, ...rest } = record;
|
|
288
|
+
const { title, description, color, url, author, thumbnail, image, fields, footer, timestamp, ...rest } = record;
|
|
132
289
|
const embed = new Embed();
|
|
133
290
|
const titleStr = asOptionalString(title);
|
|
134
291
|
if (titleStr !== undefined)
|
|
@@ -139,11 +296,20 @@ export class Embed {
|
|
|
139
296
|
const colorStr = asOptionalString(color);
|
|
140
297
|
if (colorStr !== undefined)
|
|
141
298
|
embed.color = colorStr;
|
|
299
|
+
const urlStr = asOptionalString(url);
|
|
300
|
+
if (urlStr !== undefined)
|
|
301
|
+
embed.url = urlStr;
|
|
142
302
|
const authorRecord = asRecord(author);
|
|
143
303
|
if (authorRecord) {
|
|
144
304
|
const name = asOptionalString(authorRecord['name']) ?? '';
|
|
145
305
|
const icon = asOptionalString(authorRecord['icon']);
|
|
146
|
-
|
|
306
|
+
const authorUrl = asOptionalString(authorRecord['url']);
|
|
307
|
+
const decoded = { name };
|
|
308
|
+
if (icon !== undefined)
|
|
309
|
+
decoded.icon = icon;
|
|
310
|
+
if (authorUrl !== undefined)
|
|
311
|
+
decoded.url = authorUrl;
|
|
312
|
+
embed.author = decoded;
|
|
147
313
|
}
|
|
148
314
|
const thumbnailRecord = asRecord(thumbnail);
|
|
149
315
|
const thumbnailUrl = thumbnailRecord ? asOptionalString(thumbnailRecord['url']) : undefined;
|
|
@@ -153,10 +319,18 @@ export class Embed {
|
|
|
153
319
|
const imageUrl = imageRecord ? asOptionalString(imageRecord['url']) : undefined;
|
|
154
320
|
if (imageUrl !== undefined)
|
|
155
321
|
embed.image = { url: imageUrl };
|
|
322
|
+
// A footer object with no text still lands, as `{ text: '' }`, so the
|
|
323
|
+
// footer-needs-text cap bites on the raw-object path instead of the key
|
|
324
|
+
// vanishing and the mistake going undiscovered.
|
|
156
325
|
const footerRecord = asRecord(footer);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
326
|
+
if (footerRecord) {
|
|
327
|
+
const footerText = asOptionalString(footerRecord['text']) ?? '';
|
|
328
|
+
const footerIcon = asOptionalString(footerRecord['icon']);
|
|
329
|
+
const decoded = { text: footerText };
|
|
330
|
+
if (footerIcon !== undefined)
|
|
331
|
+
decoded.icon = footerIcon;
|
|
332
|
+
embed.footer = decoded;
|
|
333
|
+
}
|
|
160
334
|
const timestampStr = asOptionalString(timestamp);
|
|
161
335
|
if (timestampStr !== undefined)
|
|
162
336
|
embed.timestamp = timestampStr;
|
|
@@ -184,8 +358,24 @@ function validateEmbedShape(embed) {
|
|
|
184
358
|
if (embed.description !== undefined && embed.description.length > MAX_DESCRIPTION_LENGTH) {
|
|
185
359
|
throw new Error(CAP_DESCRIPTION_TOO_LONG);
|
|
186
360
|
}
|
|
187
|
-
if (embed.author?.icon !== undefined
|
|
188
|
-
|
|
361
|
+
if (embed.author?.icon !== undefined)
|
|
362
|
+
requireHttps(embed.author.icon);
|
|
363
|
+
if (embed.url !== undefined) {
|
|
364
|
+
if (embed.title === undefined || embed.title === '') {
|
|
365
|
+
throw new Error(CAP_EMBED_URL_WITHOUT_TITLE);
|
|
366
|
+
}
|
|
367
|
+
requireLinkUrl(embed.url);
|
|
368
|
+
}
|
|
369
|
+
if (embed.author?.url !== undefined) {
|
|
370
|
+
if (embed.author.name === '')
|
|
371
|
+
throw new Error(CAP_AUTHOR_URL_WITHOUT_NAME);
|
|
372
|
+
requireLinkUrl(embed.author.url);
|
|
373
|
+
}
|
|
374
|
+
if (embed.footer !== undefined) {
|
|
375
|
+
if (embed.footer.text === '')
|
|
376
|
+
throw new Error(CAP_EMBED_FOOTER_TEXT_REQUIRED);
|
|
377
|
+
if (embed.footer.icon !== undefined)
|
|
378
|
+
requireHttps(embed.footer.icon);
|
|
189
379
|
}
|
|
190
380
|
if (embed.thumbnail !== undefined && !embed.thumbnail.url.startsWith('https://')) {
|
|
191
381
|
throw new Error(CAP_IMAGE_URL_NOT_HTTPS);
|
|
@@ -206,29 +396,70 @@ function slugify(label) {
|
|
|
206
396
|
: slug;
|
|
207
397
|
}
|
|
208
398
|
function validateButtonShape(button) {
|
|
399
|
+
// The label goes first: an emoji-only button is a missing label, not an
|
|
400
|
+
// emoji problem, and saying so is what sends its author to the right fix.
|
|
401
|
+
if (button.label === '')
|
|
402
|
+
throw new Error(CAP_BUTTON_MISSING_LABEL);
|
|
209
403
|
if (graphemeLength(button.label) > MAX_LABEL_RUNES)
|
|
210
404
|
throw new Error(CAP_LABEL_TOO_LONG);
|
|
211
405
|
if (button.id.length > MAX_BUTTON_ID_LENGTH)
|
|
212
406
|
throw new Error(CAP_BUTTON_ID_TOO_LONG);
|
|
213
|
-
if (button.style === 'link')
|
|
214
|
-
throw new Error(CAP_LINK_STYLE_DEFERRED);
|
|
215
407
|
if (!BUTTON_STYLES.includes(button.style)) {
|
|
216
408
|
throw new Error(CAP_BAD_BUTTON_STYLE);
|
|
217
409
|
}
|
|
410
|
+
if (button.style === 'link') {
|
|
411
|
+
if (button.url === undefined)
|
|
412
|
+
throw new Error(CAP_LINK_BUTTON_MISSING_URL);
|
|
413
|
+
}
|
|
414
|
+
else if (button.url !== undefined) {
|
|
415
|
+
throw new Error(CAP_URL_ON_NON_LINK_BUTTON);
|
|
416
|
+
}
|
|
417
|
+
if (button.url !== undefined)
|
|
418
|
+
requireLinkUrl(button.url);
|
|
419
|
+
// The emoji never counts toward the label cap (§3): it is its own field,
|
|
420
|
+
// and folding it in would make one cap mean two things.
|
|
421
|
+
if (button.emoji !== undefined)
|
|
422
|
+
requireEmoji(button.emoji);
|
|
218
423
|
}
|
|
219
424
|
/** `new Button({ label: 'Pacific' })` — `id` defaults to a slug of `label`, `style` defaults to `'primary'`. */
|
|
220
425
|
export class Button {
|
|
221
426
|
label;
|
|
222
427
|
id;
|
|
223
428
|
style;
|
|
429
|
+
emoji;
|
|
430
|
+
url;
|
|
224
431
|
constructor(init) {
|
|
225
432
|
this.label = init.label;
|
|
226
433
|
this.style = init.style ?? 'primary';
|
|
227
434
|
this.id = init.id ?? slugify(init.label);
|
|
435
|
+
if (init.emoji !== undefined)
|
|
436
|
+
this.emoji = init.emoji;
|
|
437
|
+
if (init.url !== undefined)
|
|
438
|
+
this.url = init.url;
|
|
228
439
|
validateButtonShape(this);
|
|
229
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* The sanctioned way to build a link pill (AMENDMENT-06 §11): a url is not
|
|
443
|
+
* optional here, so the shape that raises `a link button needs a url` is
|
|
444
|
+
* one a caller has to go out of their way to write. A tap opens the url on
|
|
445
|
+
* the device and stops — a link button never round-trips as `button.pressed`
|
|
446
|
+
* and never flips the row.
|
|
447
|
+
*/
|
|
448
|
+
static link(init) {
|
|
449
|
+
const build = { label: init.label, style: 'link', url: init.url };
|
|
450
|
+
if (init.id !== undefined)
|
|
451
|
+
build.id = init.id;
|
|
452
|
+
if (init.emoji !== undefined)
|
|
453
|
+
build.emoji = init.emoji;
|
|
454
|
+
return new Button(build);
|
|
455
|
+
}
|
|
230
456
|
toJSON() {
|
|
231
|
-
|
|
457
|
+
const out = { id: this.id, label: this.label, style: this.style };
|
|
458
|
+
if (this.emoji !== undefined)
|
|
459
|
+
out['emoji'] = this.emoji;
|
|
460
|
+
if (this.url !== undefined)
|
|
461
|
+
out['url'] = this.url;
|
|
462
|
+
return out;
|
|
232
463
|
}
|
|
233
464
|
/** Tolerant decode — never throws. See `Embed.fromJSON` for why. */
|
|
234
465
|
static fromJSON(data) {
|
|
@@ -236,10 +467,16 @@ export class Button {
|
|
|
236
467
|
const label = asOptionalString(record['label']) ?? '';
|
|
237
468
|
const id = asOptionalString(record['id']);
|
|
238
469
|
const style = asOptionalString(record['style']);
|
|
470
|
+
const emoji = asOptionalString(record['emoji']);
|
|
471
|
+
const url = asOptionalString(record['url']);
|
|
239
472
|
const button = Object.create(Button.prototype);
|
|
240
473
|
button.label = label;
|
|
241
474
|
button.style = style ?? 'primary';
|
|
242
475
|
button.id = id ?? slugify(label);
|
|
476
|
+
if (emoji !== undefined)
|
|
477
|
+
button.emoji = emoji;
|
|
478
|
+
if (url !== undefined)
|
|
479
|
+
button.url = url;
|
|
243
480
|
return button;
|
|
244
481
|
}
|
|
245
482
|
}
|
package/dist/embeds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeds.js","sourceRoot":"","sources":["../src/embeds.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embeds.js","sourceRoot":"","sources":["../src/embeds.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -168,6 +168,49 @@ export declare class EmbedDescriptionTooLong extends InvalidRequestError {
|
|
|
168
168
|
/** `embed_url_not_https` — an embed image url does not start with `https://`. */
|
|
169
169
|
export declare class EmbedURLNotHTTPS extends InvalidRequestError {
|
|
170
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* `link_url_not_https` — a link target does not start with `https://`.
|
|
173
|
+
* Separate from `EmbedURLNotHTTPS` on purpose: that one says "an image url",
|
|
174
|
+
* and a button target is not an image (AMENDMENT-06 §5).
|
|
175
|
+
*/
|
|
176
|
+
export declare class LinkURLNotHTTPS extends InvalidRequestError {
|
|
177
|
+
}
|
|
178
|
+
/** `link_url_too_long` — a link target is longer than `MAX_LINK_URL_RUNES`. */
|
|
179
|
+
export declare class LinkURLTooLong extends InvalidRequestError {
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* `link_button_missing_url` — a button with style `link` carries no url, so
|
|
183
|
+
* there is nothing for the pill to open.
|
|
184
|
+
*/
|
|
185
|
+
export declare class LinkButtonMissingURL extends InvalidRequestError {
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* `url_on_non_link_button` — only a link button carries a url. Refused rather
|
|
189
|
+
* than ignored, matching the contract's stance that a typo is loud.
|
|
190
|
+
*/
|
|
191
|
+
export declare class URLOnNonLinkButton extends InvalidRequestError {
|
|
192
|
+
}
|
|
193
|
+
/** `invalid_button_emoji` — a button emoji is not a single unicode emoji. */
|
|
194
|
+
export declare class InvalidButtonEmoji extends InvalidRequestError {
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* `embed_url_without_title` — an embed carries a url with no title for the tap
|
|
198
|
+
* to attach to.
|
|
199
|
+
*/
|
|
200
|
+
export declare class EmbedURLWithoutTitle extends InvalidRequestError {
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* `author_url_without_name` — an embed author carries a url with no name for
|
|
204
|
+
* the tap to attach to.
|
|
205
|
+
*/
|
|
206
|
+
export declare class AuthorURLWithoutName extends InvalidRequestError {
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* `embed_footer_text_required` — a footer carries an icon but no text, which
|
|
210
|
+
* would render a floating glyph on a line with nothing to say.
|
|
211
|
+
*/
|
|
212
|
+
export declare class EmbedFooterTextRequired extends InvalidRequestError {
|
|
213
|
+
}
|
|
171
214
|
/**
|
|
172
215
|
* `embed_empty` — an embed carries none of a title, a description, a field or
|
|
173
216
|
* a footer. A colour on its own is a coloured rectangle, not a message.
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -175,6 +175,49 @@ export class EmbedDescriptionTooLong extends InvalidRequestError {
|
|
|
175
175
|
/** `embed_url_not_https` — an embed image url does not start with `https://`. */
|
|
176
176
|
export class EmbedURLNotHTTPS extends InvalidRequestError {
|
|
177
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* `link_url_not_https` — a link target does not start with `https://`.
|
|
180
|
+
* Separate from `EmbedURLNotHTTPS` on purpose: that one says "an image url",
|
|
181
|
+
* and a button target is not an image (AMENDMENT-06 §5).
|
|
182
|
+
*/
|
|
183
|
+
export class LinkURLNotHTTPS extends InvalidRequestError {
|
|
184
|
+
}
|
|
185
|
+
/** `link_url_too_long` — a link target is longer than `MAX_LINK_URL_RUNES`. */
|
|
186
|
+
export class LinkURLTooLong extends InvalidRequestError {
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* `link_button_missing_url` — a button with style `link` carries no url, so
|
|
190
|
+
* there is nothing for the pill to open.
|
|
191
|
+
*/
|
|
192
|
+
export class LinkButtonMissingURL extends InvalidRequestError {
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* `url_on_non_link_button` — only a link button carries a url. Refused rather
|
|
196
|
+
* than ignored, matching the contract's stance that a typo is loud.
|
|
197
|
+
*/
|
|
198
|
+
export class URLOnNonLinkButton extends InvalidRequestError {
|
|
199
|
+
}
|
|
200
|
+
/** `invalid_button_emoji` — a button emoji is not a single unicode emoji. */
|
|
201
|
+
export class InvalidButtonEmoji extends InvalidRequestError {
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* `embed_url_without_title` — an embed carries a url with no title for the tap
|
|
205
|
+
* to attach to.
|
|
206
|
+
*/
|
|
207
|
+
export class EmbedURLWithoutTitle extends InvalidRequestError {
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* `author_url_without_name` — an embed author carries a url with no name for
|
|
211
|
+
* the tap to attach to.
|
|
212
|
+
*/
|
|
213
|
+
export class AuthorURLWithoutName extends InvalidRequestError {
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* `embed_footer_text_required` — a footer carries an icon but no text, which
|
|
217
|
+
* would render a floating glyph on a line with nothing to say.
|
|
218
|
+
*/
|
|
219
|
+
export class EmbedFooterTextRequired extends InvalidRequestError {
|
|
220
|
+
}
|
|
178
221
|
/**
|
|
179
222
|
* `embed_empty` — an embed carries none of a title, a description, a field or
|
|
180
223
|
* a footer. A colour on its own is a coloured rectangle, not a message.
|
|
@@ -225,6 +268,14 @@ export const CODE_CLASSES = {
|
|
|
225
268
|
empty_text: EmptyText,
|
|
226
269
|
text_too_long: TextTooLong,
|
|
227
270
|
bot_link_not_allowed: BotLinkNotAllowed,
|
|
271
|
+
link_url_not_https: LinkURLNotHTTPS,
|
|
272
|
+
link_url_too_long: LinkURLTooLong,
|
|
273
|
+
link_button_missing_url: LinkButtonMissingURL,
|
|
274
|
+
url_on_non_link_button: URLOnNonLinkButton,
|
|
275
|
+
invalid_button_emoji: InvalidButtonEmoji,
|
|
276
|
+
embed_url_without_title: EmbedURLWithoutTitle,
|
|
277
|
+
author_url_without_name: AuthorURLWithoutName,
|
|
278
|
+
embed_footer_text_required: EmbedFooterTextRequired,
|
|
228
279
|
invalid_json: InvalidJSON,
|
|
229
280
|
parameter_missing: ParameterMissing,
|
|
230
281
|
parameter_invalid: ParameterInvalid,
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
* asymmetry: adding an export later is free, removing one is a break.
|
|
21
21
|
*/
|
|
22
22
|
export { Bot } from './bot.js';
|
|
23
|
-
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, ButtonAlreadyUsed, ButtonIDTooLong, ButtonLabelTooLong, ButtonMissingField, ButtonsWithoutMessage, CODE_CLASSES, DOC_URL_PREFIX, DuplicateButtonID, EmbedDescriptionTooLong, EmbedEmpty, EmbedTitleTooLong, EmbedURLNotHTTPS, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidButtonStyle, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, LinkButtonNotSupported, MentionNotMember, MentionTokenMissing, MessageNotYours, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ReactionEmojiTooLong, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyButtons, TooManyEmbedFields, TooManyEmbeds, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
23
|
+
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, ButtonAlreadyUsed, ButtonIDTooLong, ButtonLabelTooLong, ButtonMissingField, ButtonsWithoutMessage, CODE_CLASSES, DOC_URL_PREFIX, DuplicateButtonID, EmbedDescriptionTooLong, EmbedEmpty, EmbedTitleTooLong, EmbedURLNotHTTPS, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidButtonStyle, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, LinkButtonNotSupported, AuthorURLWithoutName, EmbedFooterTextRequired, EmbedURLWithoutTitle, InvalidButtonEmoji, LinkButtonMissingURL, LinkURLNotHTTPS, LinkURLTooLong, URLOnNonLinkButton, MentionNotMember, MentionTokenMissing, MessageNotYours, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ReactionEmojiTooLong, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyButtons, TooManyEmbedFields, TooManyEmbeds, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
24
24
|
export { BaseContext, BotContext, ButtonContext, Context, Event, EventContext, MemberContext, Mention, ReactionContext, mention, } from './events.js';
|
|
25
25
|
export type { AnyContext, Chat, Command, EventType, MemberPage, Message, MentionLike, User, } from './events.js';
|
|
26
26
|
export { Button, Embed } from './embeds.js';
|
|
27
27
|
export type { ButtonUsed } from './embeds.js';
|
|
28
28
|
export { BYE_ACTIONS, ByeAction, actionForBye } from './socket.js';
|
|
29
29
|
/** The package version. Pinned to `package.json` by test/index.test.ts. */
|
|
30
|
-
export declare const version = "0.
|
|
30
|
+
export declare const version = "0.5.0";
|
|
31
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAO,EACP,WAAW,EACX,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,2EAA2E;AAC3E,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAO,EACP,WAAW,EACX,IAAI,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,2EAA2E;AAC3E,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
* asymmetry: adding an export later is free, removing one is a break.
|
|
21
21
|
*/
|
|
22
22
|
export { Bot } from './bot.js';
|
|
23
|
-
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, ButtonAlreadyUsed, ButtonIDTooLong, ButtonLabelTooLong, ButtonMissingField, ButtonsWithoutMessage, CODE_CLASSES, DOC_URL_PREFIX, DuplicateButtonID, EmbedDescriptionTooLong, EmbedEmpty, EmbedTitleTooLong, EmbedURLNotHTTPS, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidButtonStyle, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, LinkButtonNotSupported, MentionNotMember, MentionTokenMissing, MessageNotYours, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ReactionEmojiTooLong, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyButtons, TooManyEmbedFields, TooManyEmbeds, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
23
|
+
export { APIError, AccessTokenExpired, AccessTokenInvalid, AckUnknownEvent, AssertionExpired, AssertionReplay, AurivalAPIError, AurivalError, AuthenticationError, BadAssertion, BadProof, BadPublicKey, BotLinkNotAllowed, BotPlaygroundOnly, BotSuspended, ButtonAlreadyUsed, ButtonIDTooLong, ButtonLabelTooLong, ButtonMissingField, ButtonsWithoutMessage, CODE_CLASSES, DOC_URL_PREFIX, DuplicateButtonID, EmbedDescriptionTooLong, EmbedEmpty, EmbedTitleTooLong, EmbedURLNotHTTPS, EmptyText, FrameInvalid, FrameTooLarge, IdempotencyKeyInvalid, IdempotencyKeyReused, IdleTimeout, InternalError, InvalidButtonStyle, InvalidCommandName, InvalidJSON, InvalidRequestError, KeyAlreadyPaired, KeyRevoked, LinkButtonNotSupported, AuthorURLWithoutName, EmbedFooterTextRequired, EmbedURLWithoutTitle, InvalidButtonEmoji, LinkButtonMissingURL, LinkURLNotHTTPS, LinkURLTooLong, URLOnNonLinkButton, MentionNotMember, MentionTokenMissing, MessageNotYours, NotFound, PairRateLimited, ParameterInvalid, ParameterMissing, PermissionDeniedError, ProtocolError, RateLimitError, RateLimited, ReactionEmojiTooLong, ServerRestarting, SessionSuperseded, SyncRateLimited, TYPE_CLASSES, TextTooLong, TooManyButtons, TooManyEmbedFields, TooManyEmbeds, TooManyProblems, TransportError, UnknownOperation, UnknownParameter, fromEnvelope, } from './errors.js';
|
|
24
24
|
export { BaseContext, BotContext, ButtonContext, Context, Event, EventContext, MemberContext, Mention, ReactionContext, mention, } from './events.js';
|
|
25
25
|
export { Button, Embed } from './embeds.js';
|
|
26
26
|
export { BYE_ACTIONS, ByeAction, actionForBye } from './socket.js';
|
|
27
27
|
/** The package version. Pinned to `package.json` by test/index.test.ts. */
|
|
28
|
-
export const version = '0.
|
|
28
|
+
export const version = '0.5.0';
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AAWrB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|