@hardlydifficult/chat 1.1.19 → 1.1.21
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 +47 -3
- package/dist/Channel.d.ts +29 -0
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +61 -110
- package/dist/Channel.js.map +1 -1
- package/dist/Message.d.ts +7 -7
- package/dist/Message.d.ts.map +1 -1
- package/dist/Message.js +5 -6
- package/dist/Message.js.map +1 -1
- package/dist/PendingMessage.d.ts +46 -0
- package/dist/PendingMessage.d.ts.map +1 -0
- package/dist/PendingMessage.js +111 -0
- package/dist/PendingMessage.js.map +1 -0
- package/dist/Thread.d.ts +47 -5
- package/dist/Thread.d.ts.map +1 -1
- package/dist/Thread.js +62 -6
- package/dist/Thread.js.map +1 -1
- package/dist/discord/DiscordChatClient.d.ts +12 -0
- package/dist/discord/DiscordChatClient.d.ts.map +1 -1
- package/dist/discord/DiscordChatClient.js +38 -73
- package/dist/discord/DiscordChatClient.js.map +1 -1
- package/dist/discord/buildMessagePayload.d.ts +23 -0
- package/dist/discord/buildMessagePayload.d.ts.map +1 -0
- package/dist/discord/buildMessagePayload.js +41 -0
- package/dist/discord/buildMessagePayload.js.map +1 -0
- package/dist/discord/threadOperations.d.ts +16 -0
- package/dist/discord/threadOperations.d.ts.map +1 -0
- package/dist/discord/threadOperations.js +48 -0
- package/dist/discord/threadOperations.js.map +1 -0
- package/dist/slack/SlackChatClient.d.ts +13 -0
- package/dist/slack/SlackChatClient.d.ts.map +1 -1
- package/dist/slack/SlackChatClient.js +66 -59
- package/dist/slack/SlackChatClient.js.map +1 -1
- package/dist/slack/buildMessageEvent.d.ts +23 -0
- package/dist/slack/buildMessageEvent.d.ts.map +1 -0
- package/dist/slack/buildMessageEvent.js +44 -0
- package/dist/slack/buildMessageEvent.js.map +1 -0
- package/dist/slack/getThreads.d.ts +7 -0
- package/dist/slack/getThreads.d.ts.map +1 -0
- package/dist/slack/getThreads.js +29 -0
- package/dist/slack/getThreads.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/discord/deleteThread.d.ts +0 -7
- package/dist/discord/deleteThread.d.ts.map +0 -1
- package/dist/discord/deleteThread.js +0 -16
- package/dist/discord/deleteThread.js.map +0 -1
package/README.md
CHANGED
|
@@ -148,14 +148,57 @@ await channel.postDismissable("Build complete!", user.id);
|
|
|
148
148
|
|
|
149
149
|
### Threads
|
|
150
150
|
|
|
151
|
-
Create a thread
|
|
151
|
+
Create a thread, post messages, and listen for replies. The `Thread` object is the primary interface — all threading internals are hidden.
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// Create a thread (posts root message + starts thread)
|
|
155
|
+
const thread = await channel.createThread("Starting a session!", "Session");
|
|
156
|
+
|
|
157
|
+
// Post in the thread
|
|
158
|
+
const msg = await thread.post("How can I help?");
|
|
159
|
+
|
|
160
|
+
// Listen for replies
|
|
161
|
+
thread.onReply(async (msg) => {
|
|
162
|
+
await thread.post(`Got: ${msg.content}`);
|
|
163
|
+
// msg.reply() also posts in the same thread
|
|
164
|
+
await msg.reply("Thanks!");
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// Post with file attachments
|
|
168
|
+
await thread.post("Here's the report", [
|
|
169
|
+
{ content: "# Report\n...", name: "report.md" },
|
|
170
|
+
]);
|
|
171
|
+
|
|
172
|
+
// Stop listening and clean up
|
|
173
|
+
thread.offReply();
|
|
174
|
+
await thread.delete();
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
You can also create a thread from an existing message:
|
|
152
178
|
|
|
153
179
|
```typescript
|
|
154
180
|
const msg = await channel.postMessage("Starting a discussion");
|
|
155
181
|
const thread = await msg.startThread("Discussion Thread", 1440); // auto-archive in minutes
|
|
156
182
|
```
|
|
157
183
|
|
|
158
|
-
|
|
184
|
+
Reconnect to an existing thread by ID (e.g., after a restart):
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
const thread = channel.openThread(savedThreadId);
|
|
188
|
+
await thread.post("I'm back!");
|
|
189
|
+
thread.onReply(async (msg) => { /* ... */ });
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
`msg.reply()` supports file attachments:
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
const msg = await channel.postMessage("Processing...");
|
|
196
|
+
await msg.reply("Done!", [{ content: resultData, name: "result.json" }]);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
> **Note:** `channel.onMessage()` only fires for top-level channel messages, not thread replies. Use `thread.onReply()` to listen for thread messages.
|
|
200
|
+
|
|
201
|
+
> **Slack note:** Slack threads are implicit — `createThread()` posts a root message and uses its timestamp as the thread ID.
|
|
159
202
|
|
|
160
203
|
### Streaming Replies
|
|
161
204
|
|
|
@@ -274,7 +317,8 @@ Both callbacks return an unsubscribe function.
|
|
|
274
317
|
| Incoming messages | Full support | Full support |
|
|
275
318
|
| Typing indicator | Full support | No-op (unsupported by Slack bot API) |
|
|
276
319
|
| File attachments | `AttachmentBuilder` | `filesUploadV2` |
|
|
277
|
-
| Thread creation | Creates named thread on message
|
|
320
|
+
| Thread creation | Creates named thread channel on message | Returns message timestamp (threads are implicit) |
|
|
321
|
+
| Thread replies | Messages arrive with `channelId = threadId` | Messages arrive with `thread_ts` on parent channel |
|
|
278
322
|
| Bulk delete | Native `bulkDelete` API (fast) | One-by-one deletion (slower, may partially fail) |
|
|
279
323
|
| Get threads | `fetchActive` + `fetchArchived` | Scans channel history for threaded messages |
|
|
280
324
|
| Delete thread | `ThreadChannel.delete()` | Deletes parent message and all replies |
|
package/dist/Channel.d.ts
CHANGED
|
@@ -25,6 +25,10 @@ export interface ChannelOperations {
|
|
|
25
25
|
getMembers(channelId: string): Promise<Member[]>;
|
|
26
26
|
onDisconnect(callback: DisconnectCallback): () => void;
|
|
27
27
|
onError(callback: ErrorCallback): () => void;
|
|
28
|
+
subscribeToThread(threadId: string, channelId: string, callback: MessageCallback): () => void;
|
|
29
|
+
postToThread(threadId: string, channelId: string, content: MessageContent, options?: {
|
|
30
|
+
files?: FileAttachment[];
|
|
31
|
+
}): Promise<MessageData>;
|
|
28
32
|
}
|
|
29
33
|
/** A platform-agnostic channel that provides messaging, reactions, typing indicators, and thread management. */
|
|
30
34
|
export declare class Channel {
|
|
@@ -46,6 +50,22 @@ export declare class Channel {
|
|
|
46
50
|
files?: FileAttachment[];
|
|
47
51
|
linkPreviews?: boolean;
|
|
48
52
|
}): Message & PromiseLike<Message>;
|
|
53
|
+
/**
|
|
54
|
+
* Create a thread: posts a root message, starts a thread on it,
|
|
55
|
+
* and returns a Thread with post/onReply/delete capabilities.
|
|
56
|
+
* @param content - Root message content (string or Document)
|
|
57
|
+
* @param name - Thread name (used by Discord, ignored by Slack)
|
|
58
|
+
* @param autoArchiveDuration - Auto-archive in minutes (Discord only: 60, 1440, 4320, 10080)
|
|
59
|
+
* @returns Thread object
|
|
60
|
+
*/
|
|
61
|
+
createThread(content: MessageContent, name: string, autoArchiveDuration?: number): Promise<Thread>;
|
|
62
|
+
/**
|
|
63
|
+
* Reconnect to an existing thread by ID.
|
|
64
|
+
* Use when you have a thread ID from a previous createThread() or msg.startThread() call.
|
|
65
|
+
* @param threadId - The thread ID (Discord: thread channel ID, Slack: parent message ts)
|
|
66
|
+
* @returns Thread object with post/onReply/delete capabilities
|
|
67
|
+
*/
|
|
68
|
+
openThread(threadId: string): Thread;
|
|
49
69
|
/**
|
|
50
70
|
* Emit a reaction event to registered message-specific callbacks
|
|
51
71
|
*/
|
|
@@ -59,6 +79,15 @@ export declare class Channel {
|
|
|
59
79
|
* Create MessageOperations from ChannelOperations
|
|
60
80
|
*/
|
|
61
81
|
private createMessageOperations;
|
|
82
|
+
/**
|
|
83
|
+
* Build a Thread with full messaging operations
|
|
84
|
+
*/
|
|
85
|
+
private buildThread;
|
|
86
|
+
/**
|
|
87
|
+
* Create MessageOperations for messages inside a thread.
|
|
88
|
+
* reply() is wired to post in the same thread.
|
|
89
|
+
*/
|
|
90
|
+
private createThreadMessageOps;
|
|
62
91
|
/**
|
|
63
92
|
* Subscribe to incoming messages in this channel
|
|
64
93
|
* @param callback - Function called with a Message object for each incoming message
|
package/dist/Channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"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"}
|
package/dist/Channel.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Channel = void 0;
|
|
4
4
|
const Message_1 = require("./Message");
|
|
5
|
+
const PendingMessage_1 = require("./PendingMessage");
|
|
5
6
|
const Thread_1 = require("./Thread");
|
|
6
7
|
/** Default interval (ms) for refreshing the typing indicator. Discord expires after ~10s. */
|
|
7
8
|
const TYPING_REFRESH_MS = 8000;
|
|
@@ -30,7 +31,33 @@ class Channel {
|
|
|
30
31
|
postMessage(content, options) {
|
|
31
32
|
const messagePromise = this.operations.postMessage(this.id, content, options);
|
|
32
33
|
// Create a Message that will resolve once the post completes
|
|
33
|
-
return new PendingMessage(messagePromise, this.createMessageOperations(), this.platform);
|
|
34
|
+
return new PendingMessage_1.PendingMessage(messagePromise, this.createMessageOperations(), this.platform);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a thread: posts a root message, starts a thread on it,
|
|
38
|
+
* and returns a Thread with post/onReply/delete capabilities.
|
|
39
|
+
* @param content - Root message content (string or Document)
|
|
40
|
+
* @param name - Thread name (used by Discord, ignored by Slack)
|
|
41
|
+
* @param autoArchiveDuration - Auto-archive in minutes (Discord only: 60, 1440, 4320, 10080)
|
|
42
|
+
* @returns Thread object
|
|
43
|
+
*/
|
|
44
|
+
async createThread(content, name, autoArchiveDuration) {
|
|
45
|
+
const rootMsg = await this.operations.postMessage(this.id, content);
|
|
46
|
+
const threadData = await this.operations.startThread(rootMsg.id, this.id, name, autoArchiveDuration);
|
|
47
|
+
return this.buildThread(threadData);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Reconnect to an existing thread by ID.
|
|
51
|
+
* Use when you have a thread ID from a previous createThread() or msg.startThread() call.
|
|
52
|
+
* @param threadId - The thread ID (Discord: thread channel ID, Slack: parent message ts)
|
|
53
|
+
* @returns Thread object with post/onReply/delete capabilities
|
|
54
|
+
*/
|
|
55
|
+
openThread(threadId) {
|
|
56
|
+
return this.buildThread({
|
|
57
|
+
id: threadId,
|
|
58
|
+
channelId: this.id,
|
|
59
|
+
platform: this.platform,
|
|
60
|
+
});
|
|
34
61
|
}
|
|
35
62
|
/**
|
|
36
63
|
* Emit a reaction event to registered message-specific callbacks
|
|
@@ -73,10 +100,39 @@ class Channel {
|
|
|
73
100
|
removeAllReactions: (messageId, channelId) => this.operations.removeAllReactions(messageId, channelId),
|
|
74
101
|
updateMessage: (messageId, channelId, content) => this.operations.updateMessage(messageId, channelId, content),
|
|
75
102
|
deleteMessage: (messageId, channelId) => this.operations.deleteMessage(messageId, channelId),
|
|
76
|
-
reply: async (channelId, threadTs, content) => this.operations.postMessage(channelId, content, { threadTs }),
|
|
103
|
+
reply: async (channelId, threadTs, content, files) => this.operations.postMessage(channelId, content, { threadTs, files }),
|
|
77
104
|
subscribeToReactions: (messageId, callback) => this.subscribeToMessageReactions(messageId, callback),
|
|
78
|
-
startThread: (messageId, channelId, name, autoArchiveDuration) =>
|
|
79
|
-
|
|
105
|
+
startThread: async (messageId, channelId, name, autoArchiveDuration) => {
|
|
106
|
+
const data = await this.operations.startThread(messageId, channelId, name, autoArchiveDuration);
|
|
107
|
+
return this.buildThread(data);
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Build a Thread with full messaging operations
|
|
113
|
+
*/
|
|
114
|
+
buildThread(data) {
|
|
115
|
+
const ops = {
|
|
116
|
+
delete: () => this.operations.deleteThread(data.id, data.channelId),
|
|
117
|
+
post: (content, files) => this.operations.postToThread(data.id, data.channelId, content, {
|
|
118
|
+
files,
|
|
119
|
+
}),
|
|
120
|
+
subscribe: (callback) => this.operations.subscribeToThread(data.id, data.channelId, callback),
|
|
121
|
+
createMessageOps: () => this.createThreadMessageOps(data),
|
|
122
|
+
};
|
|
123
|
+
return new Thread_1.Thread(data, ops);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create MessageOperations for messages inside a thread.
|
|
127
|
+
* reply() is wired to post in the same thread.
|
|
128
|
+
*/
|
|
129
|
+
createThreadMessageOps(data) {
|
|
130
|
+
const baseOps = this.createMessageOperations();
|
|
131
|
+
return {
|
|
132
|
+
...baseOps,
|
|
133
|
+
reply: async (_channelId, _threadTs, content, files) => this.operations.postToThread(data.id, data.channelId, content, {
|
|
134
|
+
files,
|
|
135
|
+
}),
|
|
80
136
|
};
|
|
81
137
|
}
|
|
82
138
|
/**
|
|
@@ -188,7 +244,7 @@ class Channel {
|
|
|
188
244
|
*/
|
|
189
245
|
async getThreads() {
|
|
190
246
|
const threadsData = await this.operations.getThreads(this.id);
|
|
191
|
-
return threadsData.map((data) =>
|
|
247
|
+
return threadsData.map((data) => this.buildThread(data));
|
|
192
248
|
}
|
|
193
249
|
/**
|
|
194
250
|
* Get all members of this channel
|
|
@@ -214,109 +270,4 @@ class Channel {
|
|
|
214
270
|
}
|
|
215
271
|
}
|
|
216
272
|
exports.Channel = Channel;
|
|
217
|
-
/**
|
|
218
|
-
* A Message that is still being posted.
|
|
219
|
-
* Implements PromiseLike so it can be directly awaited:
|
|
220
|
-
* const msg = await channel.postMessage('Hello');
|
|
221
|
-
*
|
|
222
|
-
* Also supports synchronous chaining before awaiting:
|
|
223
|
-
* await channel.postMessage('Vote!').addReactions(['👍', '👎']).onReaction(cb);
|
|
224
|
-
*/
|
|
225
|
-
class PendingMessage extends Message_1.Message {
|
|
226
|
-
postPromise;
|
|
227
|
-
deferredReactionCallbacks = [];
|
|
228
|
-
resolved = false;
|
|
229
|
-
constructor(postPromise, operations, platform) {
|
|
230
|
-
// Initialize with placeholder data using the correct platform
|
|
231
|
-
super({ id: "", channelId: "", platform }, operations);
|
|
232
|
-
this.postPromise = postPromise;
|
|
233
|
-
// Update our data when the post resolves and subscribe any deferred listeners
|
|
234
|
-
this.postPromise
|
|
235
|
-
.then((data) => {
|
|
236
|
-
// Update the readonly properties via Object.defineProperty
|
|
237
|
-
Object.defineProperty(this, "id", { value: data.id });
|
|
238
|
-
Object.defineProperty(this, "channelId", { value: data.channelId });
|
|
239
|
-
Object.defineProperty(this, "platform", { value: data.platform });
|
|
240
|
-
// Subscribe deferred reaction callbacks now that we have the message ID
|
|
241
|
-
for (const callback of this.deferredReactionCallbacks) {
|
|
242
|
-
const unsubscribe = this.operations.subscribeToReactions(data.id, callback);
|
|
243
|
-
this.reactionUnsubscribers.push(unsubscribe);
|
|
244
|
-
}
|
|
245
|
-
this.resolved = true;
|
|
246
|
-
})
|
|
247
|
-
.catch(() => {
|
|
248
|
-
// Errors surfaced when awaited via then()
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Override addReactions to wait for post to complete first
|
|
253
|
-
*/
|
|
254
|
-
addReactions(emojis) {
|
|
255
|
-
// Chain after the post completes, capturing current pendingReactions
|
|
256
|
-
const currentPendingReactions = this.pendingReactions;
|
|
257
|
-
this.pendingReactions = this.postPromise.then(() => currentPendingReactions);
|
|
258
|
-
for (const emoji of emojis) {
|
|
259
|
-
this.pendingReactions = this.pendingReactions.then(() => this.operations.addReaction(this.id, this.channelId, emoji));
|
|
260
|
-
}
|
|
261
|
-
return this;
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Override removeReactions to wait for post to complete first
|
|
265
|
-
*/
|
|
266
|
-
removeReactions(emojis) {
|
|
267
|
-
const currentPendingReactions = this.pendingReactions;
|
|
268
|
-
this.pendingReactions = this.postPromise.then(() => currentPendingReactions);
|
|
269
|
-
for (const emoji of emojis) {
|
|
270
|
-
this.pendingReactions = this.pendingReactions.then(() => this.operations.removeReaction(this.id, this.channelId, emoji));
|
|
271
|
-
}
|
|
272
|
-
return this;
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Override removeAllReactions to wait for post to complete first
|
|
276
|
-
*/
|
|
277
|
-
removeAllReactions() {
|
|
278
|
-
const currentPendingReactions = this.pendingReactions;
|
|
279
|
-
this.pendingReactions = this.postPromise.then(() => currentPendingReactions);
|
|
280
|
-
this.pendingReactions = this.pendingReactions.then(() => this.operations.removeAllReactions(this.id, this.channelId));
|
|
281
|
-
return this;
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Override onReaction to defer subscription until post completes
|
|
285
|
-
*/
|
|
286
|
-
onReaction(callback) {
|
|
287
|
-
if (this.resolved) {
|
|
288
|
-
super.onReaction(callback);
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
this.deferredReactionCallbacks.push(callback);
|
|
292
|
-
}
|
|
293
|
-
return this;
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Override offReaction to also clear deferred callbacks
|
|
297
|
-
*/
|
|
298
|
-
offReaction() {
|
|
299
|
-
this.deferredReactionCallbacks = [];
|
|
300
|
-
super.offReaction();
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Makes PendingMessage directly awaitable.
|
|
304
|
-
* Resolves to a plain Message (not thenable) to prevent infinite await loops.
|
|
305
|
-
*/
|
|
306
|
-
then(onfulfilled, onrejected) {
|
|
307
|
-
const resolved = this.postPromise.then(async () => {
|
|
308
|
-
await this.pendingReactions;
|
|
309
|
-
// Return a plain Message (no then()) to stop await from recursing
|
|
310
|
-
return this.toSnapshot();
|
|
311
|
-
});
|
|
312
|
-
return resolved.then(onfulfilled, onrejected);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Wait for post and all pending reactions to complete.
|
|
316
|
-
*/
|
|
317
|
-
async waitForReactions() {
|
|
318
|
-
await this.postPromise;
|
|
319
|
-
await this.pendingReactions;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
273
|
//# sourceMappingURL=Channel.js.map
|
package/dist/Channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":";;;AAAA,uCAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"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"}
|
package/dist/Message.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StreamingReply } from "./StreamingReply";
|
|
2
|
-
import { Thread } from "./Thread";
|
|
3
|
-
import type { Attachment, MessageContent, MessageData, Platform, ReactionCallback,
|
|
2
|
+
import type { Thread } from "./Thread";
|
|
3
|
+
import type { Attachment, FileAttachment, MessageContent, MessageData, Platform, ReactionCallback, User } from "./types";
|
|
4
4
|
/**
|
|
5
5
|
* Interface for message operations (reactions, updates, deletes, replies)
|
|
6
6
|
*/
|
|
@@ -10,10 +10,9 @@ export interface MessageOperations {
|
|
|
10
10
|
removeAllReactions(messageId: string, channelId: string): Promise<void>;
|
|
11
11
|
updateMessage(messageId: string, channelId: string, content: MessageContent): Promise<void>;
|
|
12
12
|
deleteMessage(messageId: string, channelId: string): Promise<void>;
|
|
13
|
-
reply(channelId: string, threadTs: string, content: MessageContent): Promise<MessageData>;
|
|
13
|
+
reply(channelId: string, threadTs: string, content: MessageContent, files?: FileAttachment[]): Promise<MessageData>;
|
|
14
14
|
subscribeToReactions(messageId: string, callback: ReactionCallback): () => void;
|
|
15
|
-
startThread(messageId: string, channelId: string, name: string, autoArchiveDuration?: number): Promise<
|
|
16
|
-
deleteThread(threadId: string, channelId: string): Promise<void>;
|
|
15
|
+
startThread(messageId: string, channelId: string, name: string, autoArchiveDuration?: number): Promise<Thread>;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Represents a posted message with chainable reaction methods
|
|
@@ -85,9 +84,10 @@ export declare class Message {
|
|
|
85
84
|
/**
|
|
86
85
|
* Reply in this message's thread
|
|
87
86
|
* @param content - Reply content (string or Document)
|
|
87
|
+
* @param files - Optional file attachments
|
|
88
88
|
* @returns ReplyMessage that can be awaited to handle success/failure
|
|
89
89
|
*/
|
|
90
|
-
reply(content: MessageContent): Message & PromiseLike<Message>;
|
|
90
|
+
reply(content: MessageContent, files?: FileAttachment[]): Message & PromiseLike<Message>;
|
|
91
91
|
/**
|
|
92
92
|
* Stream replies to this message's thread by buffering text and
|
|
93
93
|
* flushing it at a fixed interval. Long text is automatically
|
|
@@ -100,7 +100,7 @@ export declare class Message {
|
|
|
100
100
|
* Create a thread from this message
|
|
101
101
|
* @param name - Thread name
|
|
102
102
|
* @param autoArchiveDuration - Auto-archive duration in minutes (60, 1440, 4320, 10080)
|
|
103
|
-
* @returns Thread with delete
|
|
103
|
+
* @returns Thread with post, onReply, and delete capabilities
|
|
104
104
|
*/
|
|
105
105
|
startThread(name: string, autoArchiveDuration?: number): Promise<Thread>;
|
|
106
106
|
/**
|
package/dist/Message.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":"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"}
|
package/dist/Message.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReplyMessage = exports.Message = void 0;
|
|
4
4
|
const StreamingReply_1 = require("./StreamingReply");
|
|
5
|
-
const Thread_1 = require("./Thread");
|
|
6
5
|
/**
|
|
7
6
|
* Represents a posted message with chainable reaction methods
|
|
8
7
|
*/
|
|
@@ -132,10 +131,11 @@ class Message {
|
|
|
132
131
|
/**
|
|
133
132
|
* Reply in this message's thread
|
|
134
133
|
* @param content - Reply content (string or Document)
|
|
134
|
+
* @param files - Optional file attachments
|
|
135
135
|
* @returns ReplyMessage that can be awaited to handle success/failure
|
|
136
136
|
*/
|
|
137
|
-
reply(content) {
|
|
138
|
-
const replyPromise = this.operations.reply(this.channelId, this.id, content);
|
|
137
|
+
reply(content, files) {
|
|
138
|
+
const replyPromise = this.operations.reply(this.channelId, this.id, content, files);
|
|
139
139
|
return new ReplyMessage(replyPromise, this.operations, this.platform);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
@@ -152,11 +152,10 @@ class Message {
|
|
|
152
152
|
* Create a thread from this message
|
|
153
153
|
* @param name - Thread name
|
|
154
154
|
* @param autoArchiveDuration - Auto-archive duration in minutes (60, 1440, 4320, 10080)
|
|
155
|
-
* @returns Thread with delete
|
|
155
|
+
* @returns Thread with post, onReply, and delete capabilities
|
|
156
156
|
*/
|
|
157
157
|
async startThread(name, autoArchiveDuration) {
|
|
158
|
-
|
|
159
|
-
return new Thread_1.Thread(data, () => this.operations.deleteThread(data.id, data.channelId));
|
|
158
|
+
return this.operations.startThread(this.id, this.channelId, name, autoArchiveDuration);
|
|
160
159
|
}
|
|
161
160
|
/**
|
|
162
161
|
* Update this message's content
|
package/dist/Message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Message, type MessageOperations } from "./Message.js";
|
|
2
|
+
import type { MessageData, Platform, ReactionCallback } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A Message that is still being posted.
|
|
5
|
+
* Implements PromiseLike so it can be directly awaited:
|
|
6
|
+
* const msg = await channel.postMessage('Hello');
|
|
7
|
+
*
|
|
8
|
+
* Also supports synchronous chaining before awaiting:
|
|
9
|
+
* await channel.postMessage('Vote!').addReactions(['👍', '👎']).onReaction(cb);
|
|
10
|
+
*/
|
|
11
|
+
export declare class PendingMessage extends Message implements PromiseLike<Message> {
|
|
12
|
+
private postPromise;
|
|
13
|
+
private deferredReactionCallbacks;
|
|
14
|
+
private resolved;
|
|
15
|
+
constructor(postPromise: Promise<MessageData>, operations: MessageOperations, platform: Platform);
|
|
16
|
+
/**
|
|
17
|
+
* Override addReactions to wait for post to complete first
|
|
18
|
+
*/
|
|
19
|
+
addReactions(emojis: string[]): this;
|
|
20
|
+
/**
|
|
21
|
+
* Override removeReactions to wait for post to complete first
|
|
22
|
+
*/
|
|
23
|
+
removeReactions(emojis: string[]): this;
|
|
24
|
+
/**
|
|
25
|
+
* Override removeAllReactions to wait for post to complete first
|
|
26
|
+
*/
|
|
27
|
+
removeAllReactions(): this;
|
|
28
|
+
/**
|
|
29
|
+
* Override onReaction to defer subscription until post completes
|
|
30
|
+
*/
|
|
31
|
+
onReaction(callback: ReactionCallback): this;
|
|
32
|
+
/**
|
|
33
|
+
* Override offReaction to also clear deferred callbacks
|
|
34
|
+
*/
|
|
35
|
+
offReaction(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Makes PendingMessage directly awaitable.
|
|
38
|
+
* Resolves to a plain Message (not thenable) to prevent infinite await loops.
|
|
39
|
+
*/
|
|
40
|
+
then<TResult1 = Message, TResult2 = never>(onfulfilled?: ((value: Message) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
41
|
+
/**
|
|
42
|
+
* Wait for post and all pending reactions to complete.
|
|
43
|
+
*/
|
|
44
|
+
waitForReactions(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=PendingMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingMessage.d.ts","sourceRoot":"","sources":["../src/PendingMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,OAAQ,YAAW,WAAW,CAAC,OAAO,CAAC;IACzE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAS;gBAGvB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EACjC,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,QAAQ;IA6BpB;;OAEG;IACM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAc7C;;OAEG;IACM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAahD;;OAEG;IACM,kBAAkB,IAAI,IAAI;IAWnC;;OAEG;IACM,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IASrD;;OAEG;IACM,WAAW,IAAI,IAAI;IAK5B;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,GAAG,KAAK,EACvC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EAC3E,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAC1E,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAS/B;;OAEG;IACY,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjD"}
|