aurival 0.2.1 → 0.4.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 +177 -64
- package/dist/bot.d.ts +29 -8
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +2 -21
- package/dist/bot.js.map +1 -1
- package/dist/caps.d.ts +36 -0
- package/dist/caps.d.ts.map +1 -0
- package/dist/caps.js +35 -0
- package/dist/caps.js.map +1 -0
- package/dist/embeds.d.ts +115 -0
- package/dist/embeds.d.ts.map +1 -0
- package/dist/embeds.js +308 -0
- package/dist/embeds.js.map +1 -0
- package/dist/errors.d.ts +51 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +69 -0
- package/dist/errors.js.map +1 -1
- package/dist/events.d.ts +214 -65
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +347 -160
- package/dist/events.js.map +1 -1
- package/dist/http.d.ts +3 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +11 -1
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/events.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Plain data a
|
|
2
|
+
* Plain data a handler receives (CONTRACT-V1 §3, §3.1).
|
|
3
3
|
*
|
|
4
|
-
* `Event` is the raw wire frame;
|
|
5
|
-
* built from one.
|
|
6
|
-
*
|
|
4
|
+
* `Event` is the raw wire frame; a context is what `bot.ts` hands to a
|
|
5
|
+
* handler, built from one. There is one context class per event family
|
|
6
|
+
* (BA-R68): `Context` for commands, `MemberContext`, `BotContext`,
|
|
7
|
+
* `ReactionContext`, and `EventContext` for a type this SDK does not name.
|
|
8
|
+
* Each carries only the fields its family delivers, so an editor can tell a
|
|
9
|
+
* developer what `ctx` holds without them opening the docs. Every context
|
|
10
|
+
* holds an `HttpClient` for its actions and nothing else network-shaped —
|
|
11
|
+
* never the seed, a token, or the `Auth` object (SDK-33).
|
|
7
12
|
*/
|
|
8
13
|
import { randomUUID } from 'node:crypto';
|
|
14
|
+
import { EMPTY_MESSAGE as NOTHING_TO_SAY } from './caps.js';
|
|
9
15
|
import { AurivalError } from './errors.js';
|
|
16
|
+
import { buttonUsedFromWire, buttonsFromWire, embedsFromWire, serialiseButtons, serialiseEmbeds, } from './embeds.js';
|
|
10
17
|
function asRecord(value) {
|
|
11
18
|
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
12
19
|
? value
|
|
@@ -58,15 +65,54 @@ function chatFromWire(d) {
|
|
|
58
65
|
}
|
|
59
66
|
function messageFromWire(d) {
|
|
60
67
|
const replyTo = d['reply_to'];
|
|
61
|
-
const
|
|
68
|
+
const rawSender = d['sender'];
|
|
69
|
+
const senderRecord = asRecord(rawSender);
|
|
70
|
+
let sender;
|
|
71
|
+
if (senderRecord)
|
|
72
|
+
sender = userFromWire(senderRecord);
|
|
73
|
+
else if (typeof rawSender === 'string' && rawSender !== '')
|
|
74
|
+
sender = { id: rawSender, handle: '', name: '' };
|
|
75
|
+
else
|
|
76
|
+
sender = null;
|
|
62
77
|
return {
|
|
63
78
|
id: asString(d['id']),
|
|
64
79
|
text: asString(d['text']),
|
|
65
|
-
sent_at: asString(d['sent_at']),
|
|
66
|
-
sender
|
|
80
|
+
sent_at: asString(d['sent_at'], asString(d['created_at'])),
|
|
81
|
+
sender,
|
|
67
82
|
reply_to: typeof replyTo === 'string' ? replyTo : null,
|
|
83
|
+
embeds: embedsFromWire(d['embeds']),
|
|
84
|
+
buttons: buttonsFromWire(d['buttons']),
|
|
85
|
+
button_used: buttonUsedFromWire(d['button_used']),
|
|
68
86
|
};
|
|
69
87
|
}
|
|
88
|
+
/** An id-only `Message` — what an event that names a message by `msg_…` alone becomes. */
|
|
89
|
+
function messageFromRef(id) {
|
|
90
|
+
return {
|
|
91
|
+
id,
|
|
92
|
+
text: '',
|
|
93
|
+
sent_at: '',
|
|
94
|
+
sender: null,
|
|
95
|
+
reply_to: null,
|
|
96
|
+
embeds: [],
|
|
97
|
+
buttons: [],
|
|
98
|
+
button_used: null,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
const EMPTY_MESSAGE = messageFromRef('');
|
|
102
|
+
const EMPTY_USER = { id: '', handle: '', name: '' };
|
|
103
|
+
/** `data[key]` as a `User`, or an empty one when the frame omits it — never `null` for a field the contract pins as present. */
|
|
104
|
+
function userField(data, key) {
|
|
105
|
+
const record = asRecord(data[key]);
|
|
106
|
+
return record ? userFromWire(record) : EMPTY_USER;
|
|
107
|
+
}
|
|
108
|
+
function optionalUser(data, key) {
|
|
109
|
+
const record = asRecord(data[key]);
|
|
110
|
+
return record ? userFromWire(record) : null;
|
|
111
|
+
}
|
|
112
|
+
function optionalMessageRef(data) {
|
|
113
|
+
const ref = data['message'];
|
|
114
|
+
return typeof ref === 'string' ? messageFromRef(ref) : null;
|
|
115
|
+
}
|
|
70
116
|
/**
|
|
71
117
|
* `@` + a user's `handle`, template-literals straight into `text` via
|
|
72
118
|
* `toString()`. `entry` is the wire shape `send()`'s `mentions` array wants.
|
|
@@ -93,6 +139,26 @@ function mentionEntry(m) {
|
|
|
93
139
|
return { user: m.id };
|
|
94
140
|
return { user: m.user };
|
|
95
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* `reply('hi')`, `reply('hi', { embeds })` and `reply({ embeds })` are all
|
|
144
|
+
* legal — an embed-only message carries no text, so the text argument is
|
|
145
|
+
* optional and the options object may take its place.
|
|
146
|
+
*/
|
|
147
|
+
function splitTextAndOptions(textOrOptions, maybeOptions) {
|
|
148
|
+
if (typeof textOrOptions === 'string')
|
|
149
|
+
return [textOrOptions, maybeOptions ?? {}];
|
|
150
|
+
return ['', textOrOptions];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* A send with nothing in it is refused here, before the round trip — the
|
|
154
|
+
* server would answer `empty_text`, and an embed-only send is legal, so the
|
|
155
|
+
* precondition is "text OR embeds OR buttons", not "text".
|
|
156
|
+
*/
|
|
157
|
+
function requireSomethingToSay(text, embeds, buttons) {
|
|
158
|
+
if (text === '' && embeds.length === 0 && buttons.length === 0) {
|
|
159
|
+
throw new Error(NOTHING_TO_SAY);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
96
162
|
/** Accepts either a `Chat` or a raw chat id string — Context actions take both. */
|
|
97
163
|
function chatId(c) {
|
|
98
164
|
return typeof c === 'string' ? c : c.id;
|
|
@@ -120,166 +186,46 @@ function memberPageFromEnvelope(envelope) {
|
|
|
120
186
|
};
|
|
121
187
|
}
|
|
122
188
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
* JS must not surface what python's identical build does not (senior review,
|
|
128
|
-
* merge gate). A type not in this map is unknown to this SDK and gets
|
|
129
|
-
* opportunistic, unpinned population instead — see `fromGenericEvent`.
|
|
189
|
+
* What every context shares: the chat the event happened in, the raw event,
|
|
190
|
+
* and the actions. Subclasses add the fields their family delivers. The
|
|
191
|
+
* actions live here so `ctx.reply()` reads the same in every handler; a
|
|
192
|
+
* subclass that knows which message to quote says so through `quotes()`.
|
|
130
193
|
*/
|
|
131
|
-
|
|
132
|
-
'member.joined': new Set(['user']),
|
|
133
|
-
'member.left': new Set(['user']),
|
|
134
|
-
'bot.added': new Set(['actor']),
|
|
135
|
-
'bot.removed': new Set(['actor']),
|
|
136
|
-
'reaction.added': new Set(['sender', 'message', 'emoji']),
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* What a handler receives. Built by `bot.ts`'s dispatch closure from one
|
|
140
|
-
* `Event` — `Socket` never constructs one. ONE class for every event type
|
|
141
|
-
* (R6): `chat`/`sender`/`user`/`actor`/`message`/`emoji` are each populated
|
|
142
|
-
* only for the event types that carry them —
|
|
143
|
-
*
|
|
144
|
-
* - `command.invoked`: `chat`, `sender`, `message`
|
|
145
|
-
* - `member.joined` / `member.left`: `chat`, `user`
|
|
146
|
-
* - `bot.added` / `bot.removed`: `chat`, `actor`
|
|
147
|
-
* - `reaction.added`: `chat`, `sender`, `message`, `emoji`
|
|
148
|
-
*
|
|
149
|
-
* — everything else on a given `Context` is `null`. An unhandled or future
|
|
150
|
-
* event type never throws building one: every field is read defensively off
|
|
151
|
-
* `event.data` and falls back to `null`.
|
|
152
|
-
*/
|
|
153
|
-
export class Context {
|
|
154
|
-
command;
|
|
155
|
-
arguments;
|
|
194
|
+
export class BaseContext {
|
|
156
195
|
chat;
|
|
157
|
-
sender;
|
|
158
|
-
user;
|
|
159
|
-
actor;
|
|
160
|
-
emoji;
|
|
161
196
|
event;
|
|
162
|
-
message;
|
|
163
197
|
#http;
|
|
164
198
|
constructor(init) {
|
|
165
|
-
this.command = init.command;
|
|
166
|
-
this.arguments = init.arguments;
|
|
167
199
|
this.chat = init.chat;
|
|
168
|
-
this.sender = init.sender;
|
|
169
|
-
this.user = init.user;
|
|
170
|
-
this.actor = init.actor;
|
|
171
|
-
this.emoji = init.emoji;
|
|
172
200
|
this.event = init.event;
|
|
173
|
-
this.message = init.message;
|
|
174
201
|
this.#http = init.http;
|
|
175
202
|
}
|
|
176
|
-
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const invokingMessage = asRecord(data['invoking_message']);
|
|
180
|
-
const message = data['message'];
|
|
181
|
-
let resolvedMessage;
|
|
182
|
-
if (invokingMessage) {
|
|
183
|
-
// BA-R42: the invoking message travels with the event as a full object
|
|
184
|
-
// under `invoking_message`. Prefer that.
|
|
185
|
-
resolvedMessage = messageFromWire(invokingMessage);
|
|
186
|
-
}
|
|
187
|
-
else if (typeof message === 'string') {
|
|
188
|
-
// `message` (the bare id string) is UNCHANGED wire compatibility — an
|
|
189
|
-
// old server that has not deployed BA-R42 yet sends only that string,
|
|
190
|
-
// so we fall back to an id-only Message rather than null, keeping a
|
|
191
|
-
// new SDK working against an old server.
|
|
192
|
-
resolvedMessage = { id: message, text: '', sent_at: '', sender: null, reply_to: null };
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
resolvedMessage = null;
|
|
196
|
-
}
|
|
197
|
-
return new Context({
|
|
198
|
-
command: asString(data['command']),
|
|
199
|
-
arguments: asString(data['arguments']),
|
|
200
|
-
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
201
|
-
sender: userFromWire(asRecord(data['sender']) ?? {}),
|
|
202
|
-
user: null,
|
|
203
|
-
actor: null,
|
|
204
|
-
emoji: null,
|
|
205
|
-
event,
|
|
206
|
-
message: resolvedMessage,
|
|
207
|
-
http,
|
|
208
|
-
});
|
|
203
|
+
/** The message id `reply()` quotes, or `null` to send the reply free-standing. */
|
|
204
|
+
quotes() {
|
|
205
|
+
return null;
|
|
209
206
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const data = event.data;
|
|
227
|
-
const chat = chatFromWire(asRecord(data['chat']) ?? {});
|
|
228
|
-
const known = KNOWN_GENERIC_EVENT_FIELDS[event.type];
|
|
229
|
-
if (known !== undefined) {
|
|
230
|
-
const sender = known.has('sender') ? asRecord(data['sender']) : null;
|
|
231
|
-
const user = known.has('user') ? asRecord(data['user']) : null;
|
|
232
|
-
const actor = known.has('actor') ? asRecord(data['actor']) : null;
|
|
233
|
-
const messageId = known.has('message') ? data['message'] : undefined;
|
|
234
|
-
const emoji = known.has('emoji') ? data['emoji'] : undefined;
|
|
235
|
-
return new Context({
|
|
236
|
-
command: '',
|
|
237
|
-
arguments: '',
|
|
238
|
-
chat,
|
|
239
|
-
sender: sender ? userFromWire(sender) : null,
|
|
240
|
-
user: user ? userFromWire(user) : null,
|
|
241
|
-
actor: actor ? userFromWire(actor) : null,
|
|
242
|
-
emoji: typeof emoji === 'string' ? emoji : null,
|
|
243
|
-
event,
|
|
244
|
-
message: typeof messageId === 'string'
|
|
245
|
-
? { id: messageId, text: '', sent_at: '', sender: null, reply_to: null }
|
|
246
|
-
: null,
|
|
247
|
-
http,
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
// Unknown type: opportunistic population, nothing pinned.
|
|
251
|
-
const sender = asRecord(data['sender']);
|
|
252
|
-
const user = asRecord(data['user']);
|
|
253
|
-
const actor = asRecord(data['actor']);
|
|
254
|
-
const messageId = data['message'];
|
|
255
|
-
const emoji = data['emoji'];
|
|
256
|
-
return new Context({
|
|
257
|
-
command: '',
|
|
258
|
-
arguments: '',
|
|
259
|
-
chat,
|
|
260
|
-
sender: sender ? userFromWire(sender) : null,
|
|
261
|
-
user: user ? userFromWire(user) : null,
|
|
262
|
-
actor: actor ? userFromWire(actor) : null,
|
|
263
|
-
emoji: typeof emoji === 'string' ? emoji : null,
|
|
264
|
-
event,
|
|
265
|
-
message: typeof messageId === 'string'
|
|
266
|
-
? { id: messageId, text: '', sent_at: '', sender: null, reply_to: null }
|
|
267
|
-
: null,
|
|
268
|
-
http,
|
|
269
|
-
});
|
|
207
|
+
async reply(textOrOptions = '', maybeOptions) {
|
|
208
|
+
const [text, options] = splitTextAndOptions(textOrOptions, maybeOptions);
|
|
209
|
+
const embeds = serialiseEmbeds(options.embeds);
|
|
210
|
+
const buttons = serialiseButtons(options.buttons);
|
|
211
|
+
requireSomethingToSay(text, embeds, buttons);
|
|
212
|
+
const sent = await this.#http.sendMessage(this.chat.id, text, randomUUID(), this.quotes(), undefined, embeds, buttons);
|
|
213
|
+
return messageFromWire(sent);
|
|
214
|
+
}
|
|
215
|
+
async send(chat, textOrOptions = '', maybeOptions) {
|
|
216
|
+
const [text, options] = splitTextAndOptions(textOrOptions, maybeOptions);
|
|
217
|
+
const mentions = options.mentions?.map(mentionEntry);
|
|
218
|
+
const embeds = serialiseEmbeds(options.embeds);
|
|
219
|
+
const buttons = serialiseButtons(options.buttons);
|
|
220
|
+
requireSomethingToSay(text, embeds, buttons);
|
|
221
|
+
const sent = await this.#http.sendMessage(chatId(chat), text, randomUUID(), null, mentions, embeds, buttons);
|
|
222
|
+
return messageFromWire(sent);
|
|
270
223
|
}
|
|
271
224
|
/**
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* A fresh `Idempotency-Key` per call, reused across that call's retries by
|
|
277
|
-
* `HttpClient.request` itself.
|
|
225
|
+
* Show or clear "is thinking…" in this chat. `POST /v1/chats/{chat}/typing`
|
|
226
|
+
* with `{"is_typing": bool}`. Command handlers get this automatically
|
|
227
|
+
* (auto-typing); reach for `withTyping()` when you want it yourself.
|
|
278
228
|
*/
|
|
279
|
-
async reply(text) {
|
|
280
|
-
return this.#http.sendMessage(this.chat.id, text, randomUUID(), this.message?.id ?? null);
|
|
281
|
-
}
|
|
282
|
-
/** `POST /v1/chats/{chat}/typing` — `is_typing` only, no `state` spelling. */
|
|
283
229
|
async typing(isTyping) {
|
|
284
230
|
const id = this.chat.id;
|
|
285
231
|
if (id === '') {
|
|
@@ -287,7 +233,7 @@ export class Context {
|
|
|
287
233
|
}
|
|
288
234
|
await this.#http.setTyping(id, isTyping);
|
|
289
235
|
}
|
|
290
|
-
/**
|
|
236
|
+
/** Runs `fn` with the indicator on: `true` on entry, `false` on exit — ALWAYS, including on throw. */
|
|
291
237
|
async withTyping(fn) {
|
|
292
238
|
await this.typing(true);
|
|
293
239
|
try {
|
|
@@ -297,22 +243,35 @@ export class Context {
|
|
|
297
243
|
await this.typing(false);
|
|
298
244
|
}
|
|
299
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Change the text of one of this bot's own messages. Pass what `reply()`
|
|
248
|
+
* or `send()` returned, or its id. Someone else's message is
|
|
249
|
+
* `MessageNotYours`. Returns the updated message.
|
|
250
|
+
*/
|
|
300
251
|
async edit(message, text) {
|
|
301
|
-
return this.#http.editMessage(messageId(message), text);
|
|
252
|
+
return messageFromWire(await this.#http.editMessage(messageId(message), text));
|
|
302
253
|
}
|
|
254
|
+
/** Delete one of this bot's own messages. Someone else's is `MessageNotYours`. */
|
|
303
255
|
async delete(message) {
|
|
304
256
|
await this.#http.deleteMessage(messageId(message));
|
|
305
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Put a reaction on a message, one emoji at a time. Reacting twice with the
|
|
260
|
+
* same emoji is a no-op; a string longer than one emoji is
|
|
261
|
+
* `ReactionEmojiTooLong`.
|
|
262
|
+
*/
|
|
306
263
|
async react(message, emoji) {
|
|
307
264
|
await this.#http.setReaction(messageId(message), emoji);
|
|
308
265
|
}
|
|
266
|
+
/** Take a reaction off. Removing one that is not there is a no-op. */
|
|
309
267
|
async unreact(message, emoji) {
|
|
310
268
|
await this.#http.unsetReaction(messageId(message), emoji);
|
|
311
269
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
270
|
+
/**
|
|
271
|
+
* One page of who is in a chat, bots included — this chat by default.
|
|
272
|
+
* Check `hasMore` and pass `nextCursor` back as `cursor` for the next page;
|
|
273
|
+
* `ctx.chat.member_count` is the total without a call.
|
|
274
|
+
*/
|
|
316
275
|
async members(chat, options = {}) {
|
|
317
276
|
const resolved = chat !== undefined ? chatId(chat) : this.chat.id;
|
|
318
277
|
if (resolved === '') {
|
|
@@ -322,4 +281,232 @@ export class Context {
|
|
|
322
281
|
return memberPageFromEnvelope(envelope);
|
|
323
282
|
}
|
|
324
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* What a `bot.command()` handler receives. Built by `bot.ts`'s dispatch
|
|
286
|
+
* closure from one `command.invoked` event — `Socket` never constructs one.
|
|
287
|
+
* `sender` and `message` are always set: the server never emits a command
|
|
288
|
+
* without both.
|
|
289
|
+
*/
|
|
290
|
+
export class Context extends BaseContext {
|
|
291
|
+
/** The command name as the server matched it, without the slash. */
|
|
292
|
+
command;
|
|
293
|
+
/** Everything after the command name, untrimmed of its inner spaces. `''` when there was nothing. */
|
|
294
|
+
arguments;
|
|
295
|
+
/** Who typed the command. */
|
|
296
|
+
sender;
|
|
297
|
+
/** The message that carried the command. `reply()` quotes it. */
|
|
298
|
+
message;
|
|
299
|
+
constructor(init) {
|
|
300
|
+
super(init);
|
|
301
|
+
this.command = init.command;
|
|
302
|
+
this.arguments = init.arguments;
|
|
303
|
+
this.sender = init.sender;
|
|
304
|
+
this.message = init.message;
|
|
305
|
+
}
|
|
306
|
+
quotes() {
|
|
307
|
+
return this.message.id === '' ? null : this.message.id;
|
|
308
|
+
}
|
|
309
|
+
/** Build straight from a `command.invoked` event's raw `data`. */
|
|
310
|
+
static fromEvent(event, http) {
|
|
311
|
+
const data = event.data;
|
|
312
|
+
const invokingMessage = asRecord(data['invoking_message']);
|
|
313
|
+
const ref = data['message'];
|
|
314
|
+
let message;
|
|
315
|
+
if (invokingMessage) {
|
|
316
|
+
// BA-R42: the invoking message travels with the event as a full object
|
|
317
|
+
// under `invoking_message`. Prefer that.
|
|
318
|
+
message = messageFromWire(invokingMessage);
|
|
319
|
+
}
|
|
320
|
+
else if (typeof ref === 'string') {
|
|
321
|
+
// `message` (the bare id string) is UNCHANGED wire compatibility — an
|
|
322
|
+
// old server that has not deployed BA-R42 yet sends only that string,
|
|
323
|
+
// so we fall back to an id-only Message, keeping a new SDK working
|
|
324
|
+
// against an old server.
|
|
325
|
+
message = messageFromRef(ref);
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
message = EMPTY_MESSAGE;
|
|
329
|
+
}
|
|
330
|
+
return new Context({
|
|
331
|
+
command: asString(data['command']),
|
|
332
|
+
arguments: asString(data['arguments']),
|
|
333
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
334
|
+
sender: userField(data, 'sender'),
|
|
335
|
+
message,
|
|
336
|
+
event,
|
|
337
|
+
http,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/** `member.joined` / `member.left`: someone came into, or left, a group chat this bot is in. */
|
|
342
|
+
export class MemberContext extends BaseContext {
|
|
343
|
+
/** Who joined or left. Never the bot itself — that is `bot.added` / `bot.removed`. */
|
|
344
|
+
user;
|
|
345
|
+
constructor(init) {
|
|
346
|
+
super(init);
|
|
347
|
+
this.user = init.user;
|
|
348
|
+
}
|
|
349
|
+
static fromEvent(event, http) {
|
|
350
|
+
const data = event.data;
|
|
351
|
+
return new MemberContext({
|
|
352
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
353
|
+
user: userField(data, 'user'),
|
|
354
|
+
event,
|
|
355
|
+
http,
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
/** `bot.added` / `bot.removed`: this bot was put into, or taken out of, a chat. */
|
|
360
|
+
export class BotContext extends BaseContext {
|
|
361
|
+
/** The person who added or removed the bot. */
|
|
362
|
+
actor;
|
|
363
|
+
constructor(init) {
|
|
364
|
+
super(init);
|
|
365
|
+
this.actor = init.actor;
|
|
366
|
+
}
|
|
367
|
+
static fromEvent(event, http) {
|
|
368
|
+
const data = event.data;
|
|
369
|
+
return new BotContext({
|
|
370
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
371
|
+
actor: userField(data, 'actor'),
|
|
372
|
+
event,
|
|
373
|
+
http,
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
/** `reaction.added`: someone reacted to one of this bot's own messages. */
|
|
378
|
+
export class ReactionContext extends BaseContext {
|
|
379
|
+
/** Who reacted. */
|
|
380
|
+
sender;
|
|
381
|
+
/** The bot's message they reacted to — id only; the text is not re-sent. `reply()` quotes it. */
|
|
382
|
+
message;
|
|
383
|
+
/** The emoji, as one string. */
|
|
384
|
+
emoji;
|
|
385
|
+
constructor(init) {
|
|
386
|
+
super(init);
|
|
387
|
+
this.sender = init.sender;
|
|
388
|
+
this.message = init.message;
|
|
389
|
+
this.emoji = init.emoji;
|
|
390
|
+
}
|
|
391
|
+
quotes() {
|
|
392
|
+
return this.message.id === '' ? null : this.message.id;
|
|
393
|
+
}
|
|
394
|
+
static fromEvent(event, http) {
|
|
395
|
+
const data = event.data;
|
|
396
|
+
return new ReactionContext({
|
|
397
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
398
|
+
sender: userField(data, 'sender'),
|
|
399
|
+
message: optionalMessageRef(data) ?? EMPTY_MESSAGE,
|
|
400
|
+
emoji: asString(data['emoji']),
|
|
401
|
+
event,
|
|
402
|
+
http,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
/** `button.pressed`: someone pressed a button on one of this bot's own messages (AMENDMENT-05). */
|
|
407
|
+
export class ButtonContext extends BaseContext {
|
|
408
|
+
#http;
|
|
409
|
+
/** Who pressed the button. */
|
|
410
|
+
user;
|
|
411
|
+
/** The bot's message the button lives on — id only; the text is not re-sent. `reply()` quotes it. */
|
|
412
|
+
message;
|
|
413
|
+
/** The pressed button's id. */
|
|
414
|
+
button;
|
|
415
|
+
/** The interaction id — `ack()` posts to `/v1/interactions/{interaction}/ack`. */
|
|
416
|
+
interaction;
|
|
417
|
+
constructor(init) {
|
|
418
|
+
super(init);
|
|
419
|
+
this.#http = init.http;
|
|
420
|
+
this.user = init.user;
|
|
421
|
+
this.message = init.message;
|
|
422
|
+
this.button = init.button;
|
|
423
|
+
this.interaction = init.interaction;
|
|
424
|
+
}
|
|
425
|
+
quotes() {
|
|
426
|
+
return this.message.id === '' ? null : this.message.id;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Acknowledge the button press — `POST /v1/interactions/{interaction}/ack`,
|
|
430
|
+
* 204 no body. Acking twice is `InteractionAlreadyUsed` (surfaced through
|
|
431
|
+
* the existing code -> class mapping; there is no dedicated class here).
|
|
432
|
+
*/
|
|
433
|
+
async ack() {
|
|
434
|
+
await this.#http.ackInteraction(this.interaction);
|
|
435
|
+
}
|
|
436
|
+
static fromEvent(event, http) {
|
|
437
|
+
const data = event.data;
|
|
438
|
+
const ref = data['message'];
|
|
439
|
+
return new ButtonContext({
|
|
440
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
441
|
+
user: userField(data, 'user'),
|
|
442
|
+
message: typeof ref === 'string' ? messageFromRef(ref) : EMPTY_MESSAGE,
|
|
443
|
+
button: asString(data['button']),
|
|
444
|
+
interaction: asString(data['interaction']),
|
|
445
|
+
event,
|
|
446
|
+
http,
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* An event type this SDK does not name yet. Nothing is pinned, so every
|
|
452
|
+
* field is read off the frame if it is there and `null` if it is not —
|
|
453
|
+
* whatever the wire carries is surfaced rather than discarded, and building
|
|
454
|
+
* one never throws.
|
|
455
|
+
*/
|
|
456
|
+
export class EventContext extends BaseContext {
|
|
457
|
+
sender;
|
|
458
|
+
user;
|
|
459
|
+
actor;
|
|
460
|
+
message;
|
|
461
|
+
emoji;
|
|
462
|
+
constructor(init) {
|
|
463
|
+
super(init);
|
|
464
|
+
this.sender = init.sender;
|
|
465
|
+
this.user = init.user;
|
|
466
|
+
this.actor = init.actor;
|
|
467
|
+
this.message = init.message;
|
|
468
|
+
this.emoji = init.emoji;
|
|
469
|
+
}
|
|
470
|
+
quotes() {
|
|
471
|
+
return this.message === null || this.message.id === '' ? null : this.message.id;
|
|
472
|
+
}
|
|
473
|
+
static fromEvent(event, http) {
|
|
474
|
+
const data = event.data;
|
|
475
|
+
const emoji = data['emoji'];
|
|
476
|
+
return new EventContext({
|
|
477
|
+
chat: chatFromWire(asRecord(data['chat']) ?? {}),
|
|
478
|
+
sender: optionalUser(data, 'sender'),
|
|
479
|
+
user: optionalUser(data, 'user'),
|
|
480
|
+
actor: optionalUser(data, 'actor'),
|
|
481
|
+
message: optionalMessageRef(data),
|
|
482
|
+
emoji: typeof emoji === 'string' ? emoji : null,
|
|
483
|
+
event,
|
|
484
|
+
http,
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* The context class for an event, by its type. `command.invoked` gets
|
|
490
|
+
* `Context`; the four named families get theirs; anything else gets
|
|
491
|
+
* `EventContext`. The dispatch side of BA-R68 — `bot.ts` calls this and
|
|
492
|
+
* hands the result to every handler registered for the type.
|
|
493
|
+
*/
|
|
494
|
+
export function contextFor(event, http) {
|
|
495
|
+
switch (event.type) {
|
|
496
|
+
case 'command.invoked':
|
|
497
|
+
return Context.fromEvent(event, http);
|
|
498
|
+
case 'member.joined':
|
|
499
|
+
case 'member.left':
|
|
500
|
+
return MemberContext.fromEvent(event, http);
|
|
501
|
+
case 'bot.added':
|
|
502
|
+
case 'bot.removed':
|
|
503
|
+
return BotContext.fromEvent(event, http);
|
|
504
|
+
case 'reaction.added':
|
|
505
|
+
return ReactionContext.fromEvent(event, http);
|
|
506
|
+
case 'button.pressed':
|
|
507
|
+
return ButtonContext.fromEvent(event, http);
|
|
508
|
+
default:
|
|
509
|
+
return EventContext.fromEvent(event, http);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
325
512
|
//# sourceMappingURL=events.js.map
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class HttpClient {
|
|
|
39
39
|
*/
|
|
40
40
|
sendMessage(chat: string, text: string, idempotencyKey: string, replyTo?: string | null, mentions?: Array<{
|
|
41
41
|
user: string;
|
|
42
|
-
}
|
|
42
|
+
}>, embeds?: Array<Record<string, unknown>>, buttons?: Array<Record<string, unknown>>): Promise<Record<string, unknown>>;
|
|
43
43
|
/** `POST .../typing` body is `{"is_typing": true|false}` — never `state`. */
|
|
44
44
|
setTyping(chat: string, isTyping: boolean): Promise<void>;
|
|
45
45
|
editMessage(message: string, text: string): Promise<Record<string, unknown>>;
|
|
@@ -47,6 +47,8 @@ export declare class HttpClient {
|
|
|
47
47
|
/** The emoji is percent-encoded — it travels in the path, not the body. */
|
|
48
48
|
setReaction(message: string, emoji: string): Promise<void>;
|
|
49
49
|
unsetReaction(message: string, emoji: string): Promise<void>;
|
|
50
|
+
/** `POST /v1/interactions/{interaction}/ack` -> 204, no body. `interaction` is the `button.pressed` event id (`evt_…`), unrewritten. */
|
|
51
|
+
ackInteraction(interaction: string): Promise<void>;
|
|
50
52
|
/** GET, so no idempotency key — reads are never retried-as-a-write. */
|
|
51
53
|
listMembers(chat: string, cursor?: string): Promise<Record<string, unknown>>;
|
|
52
54
|
syncCommands(bot: string, commands: Array<{
|