@hardlydifficult/chat 1.1.161 → 1.1.163
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/dist/Channel.d.ts +8 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +17 -2
- package/dist/Channel.js.map +1 -1
- package/dist/Thread.d.ts +8 -2
- package/dist/Thread.d.ts.map +1 -1
- package/dist/Thread.js +14 -1
- package/dist/Thread.js.map +1 -1
- package/dist/discord/DiscordChatClient.d.ts +2 -111
- package/dist/discord/DiscordChatClient.d.ts.map +1 -1
- package/dist/discord/DiscordChatClient.js +20 -251
- package/dist/discord/DiscordChatClient.js.map +1 -1
- package/dist/discord/eventHandlers.d.ts +16 -0
- package/dist/discord/eventHandlers.d.ts.map +1 -0
- package/dist/discord/eventHandlers.js +113 -0
- package/dist/discord/eventHandlers.js.map +1 -0
- package/dist/discord/messageOperations.d.ts +19 -0
- package/dist/discord/messageOperations.d.ts.map +1 -0
- package/dist/discord/messageOperations.js +43 -0
- package/dist/discord/messageOperations.js.map +1 -0
- package/dist/duplicateCounter.d.ts +27 -0
- package/dist/duplicateCounter.d.ts.map +1 -0
- package/dist/duplicateCounter.js +53 -0
- package/dist/duplicateCounter.js.map +1 -0
- package/dist/slack/SlackChatClient.d.ts +1 -0
- package/dist/slack/SlackChatClient.d.ts.map +1 -1
- package/dist/slack/SlackChatClient.js +6 -0
- package/dist/slack/SlackChatClient.js.map +1 -1
- package/dist/slack/getMessages.d.ts +5 -0
- package/dist/slack/getMessages.d.ts.map +1 -1
- package/dist/slack/getMessages.js +59 -0
- package/dist/slack/getMessages.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/Channel.d.ts
CHANGED
|
@@ -16,7 +16,13 @@ export declare class Channel {
|
|
|
16
16
|
/** @deprecated Use `new Channel({ id, platform, operations })` instead. */
|
|
17
17
|
constructor(id: string, platform: Platform, operations: ChannelOperations);
|
|
18
18
|
/**
|
|
19
|
-
* Post a message to this channel
|
|
19
|
+
* Post a message to this channel.
|
|
20
|
+
*
|
|
21
|
+
* When the new content exactly matches the last bot message, the previous
|
|
22
|
+
* message is edited to append a duplicate counter (x2, x3, …) instead of
|
|
23
|
+
* posting a new message. The returned Message points at the original so
|
|
24
|
+
* that thread replies still target the right place.
|
|
25
|
+
*
|
|
20
26
|
* @param content - Message content (string or Document)
|
|
21
27
|
* @param options - Optional message options (e.g., files for attachments)
|
|
22
28
|
* @returns Message object with chainable reaction methods
|
|
@@ -25,6 +31,7 @@ export declare class Channel {
|
|
|
25
31
|
files?: FileAttachment[];
|
|
26
32
|
linkPreviews?: boolean;
|
|
27
33
|
}): Message & PromiseLike<Message>;
|
|
34
|
+
private deduplicateOrPost;
|
|
28
35
|
/**
|
|
29
36
|
* Create a thread: posts a root message, starts a thread on it,
|
|
30
37
|
* and returns a Thread with post/onReply/delete capabilities.
|
package/dist/Channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"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"}
|
package/dist/Channel.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Channel = void 0;
|
|
4
4
|
const ChannelBatchHelpers_js_1 = require("./ChannelBatchHelpers.js");
|
|
5
5
|
const ChannelRuntimeFeatures_js_1 = require("./ChannelRuntimeFeatures.js");
|
|
6
|
+
const duplicateCounter_js_1 = require("./duplicateCounter.js");
|
|
6
7
|
const memberMatching_js_1 = require("./memberMatching.js");
|
|
7
8
|
const Message_js_1 = require("./Message.js");
|
|
8
9
|
const PendingMessage_js_1 = require("./PendingMessage.js");
|
|
@@ -27,16 +28,29 @@ class Channel {
|
|
|
27
28
|
this.unsubscribeFromPlatform = this.operations.subscribeToReactions(this.id, (event) => this.emitReaction(event));
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
|
-
* Post a message to this channel
|
|
31
|
+
* Post a message to this channel.
|
|
32
|
+
*
|
|
33
|
+
* When the new content exactly matches the last bot message, the previous
|
|
34
|
+
* message is edited to append a duplicate counter (x2, x3, …) instead of
|
|
35
|
+
* posting a new message. The returned Message points at the original so
|
|
36
|
+
* that thread replies still target the right place.
|
|
37
|
+
*
|
|
31
38
|
* @param content - Message content (string or Document)
|
|
32
39
|
* @param options - Optional message options (e.g., files for attachments)
|
|
33
40
|
* @returns Message object with chainable reaction methods
|
|
34
41
|
*/
|
|
35
42
|
postMessage(content, options) {
|
|
36
|
-
const messagePromise = this.
|
|
43
|
+
const messagePromise = this.deduplicateOrPost(content, options);
|
|
37
44
|
// Create a Message that will resolve once the post completes
|
|
38
45
|
return new PendingMessage_js_1.PendingMessage(messagePromise, this.createMessageOperations(), this.platform);
|
|
39
46
|
}
|
|
47
|
+
async deduplicateOrPost(content, options) {
|
|
48
|
+
const deduped = await (0, duplicateCounter_js_1.tryDeduplicateMessage)(content, (queryOpts) => this.operations.getMessages(this.id, queryOpts), (messageId, channelId, newContent) => this.operations.updateMessage(messageId, channelId, newContent), options);
|
|
49
|
+
if (deduped) {
|
|
50
|
+
return deduped;
|
|
51
|
+
}
|
|
52
|
+
return this.operations.postMessage(this.id, content, options);
|
|
53
|
+
}
|
|
40
54
|
/**
|
|
41
55
|
* Create a thread: posts a root message, starts a thread on it,
|
|
42
56
|
* and returns a Thread with post/onReply/delete capabilities.
|
|
@@ -121,6 +135,7 @@ class Channel {
|
|
|
121
135
|
post: (content, files) => this.operations.postToThread(data.id, data.channelId, content, {
|
|
122
136
|
files,
|
|
123
137
|
}),
|
|
138
|
+
getMessages: (options) => this.operations.getThreadMessages(data.id, data.channelId, options),
|
|
124
139
|
subscribe: (callback) => this.operations.subscribeToThread(data.id, data.channelId, callback),
|
|
125
140
|
createMessageOps: () => this.createThreadMessageOps(data),
|
|
126
141
|
};
|
package/dist/Channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":";;;AAAA,qEAOkC;AAClC,2EAGqC;AACrC,2DAA4E;AAC5E,6CAA+D;AAE/D,2DAAqD;AACrD,2CAA4D;
|
|
1
|
+
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"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"}
|
package/dist/Thread.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EditableStreamReply } from "./EditableStreamReply.js";
|
|
2
2
|
import { Message, type MessageOperations } from "./Message.js";
|
|
3
3
|
import { StreamingReply } from "./StreamingReply.js";
|
|
4
|
-
import type { FileAttachment, MessageCallback, MessageContent, MessageData, Platform, ThreadData } from "./types.js";
|
|
4
|
+
import type { FileAttachment, MessageCallback, MessageContent, MessageData, MessageQueryOptions, Platform, ThreadData } from "./types.js";
|
|
5
5
|
/**
|
|
6
6
|
* Internal operations provided by Channel to power Thread methods.
|
|
7
7
|
* Not exported — Thread consumers interact via the public API only.
|
|
@@ -9,6 +9,7 @@ import type { FileAttachment, MessageCallback, MessageContent, MessageData, Plat
|
|
|
9
9
|
export interface ThreadOperations {
|
|
10
10
|
delete: () => Promise<void>;
|
|
11
11
|
post: (content: MessageContent, files?: FileAttachment[]) => Promise<MessageData>;
|
|
12
|
+
getMessages: (options?: MessageQueryOptions) => Promise<MessageData[]>;
|
|
12
13
|
subscribe: (callback: MessageCallback) => () => void;
|
|
13
14
|
createMessageOps: () => MessageOperations;
|
|
14
15
|
}
|
|
@@ -36,7 +37,12 @@ export declare class Thread {
|
|
|
36
37
|
private replyUnsubscribers;
|
|
37
38
|
constructor(data: ThreadData, ops: ThreadOperations);
|
|
38
39
|
/**
|
|
39
|
-
* Post a message in this thread
|
|
40
|
+
* Post a message in this thread.
|
|
41
|
+
*
|
|
42
|
+
* When the new content exactly matches the last bot message in the thread,
|
|
43
|
+
* the previous message is edited to append a duplicate counter (x2, x3, …)
|
|
44
|
+
* instead of posting a new message.
|
|
45
|
+
*
|
|
40
46
|
* @param content - Message content (string or Document)
|
|
41
47
|
* @param files - Optional file attachments
|
|
42
48
|
* @returns Message object for the posted message
|
package/dist/Thread.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../src/Thread.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../src/Thread.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EAEX,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,CACJ,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,cAAc,EAAE,KACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,IAAI,CAAC;IACrD,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,MAAM;IACjB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,kBAAkB,CAAsB;gBAEpC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB;IAOnD;;;;;;;;;;OAUG;IACG,IAAI,CACR,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,cAAc,EAAE,GACvB,OAAO,CAAC,OAAO,CAAC;IAiBnB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,cAAc;IAS1E;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CACZ,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,WAAW,GACxB,mBAAmB;IAStB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI;IAoBzE;;OAEG;IACH,QAAQ,IAAI,IAAI;IAOhB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
|
package/dist/Thread.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Thread = void 0;
|
|
4
|
+
const duplicateCounter_js_1 = require("./duplicateCounter.js");
|
|
4
5
|
const EditableStreamReply_js_1 = require("./EditableStreamReply.js");
|
|
5
6
|
const Message_js_1 = require("./Message.js");
|
|
6
7
|
const StreamingReply_js_1 = require("./StreamingReply.js");
|
|
@@ -33,12 +34,24 @@ class Thread {
|
|
|
33
34
|
this.ops = ops;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
|
-
* Post a message in this thread
|
|
37
|
+
* Post a message in this thread.
|
|
38
|
+
*
|
|
39
|
+
* When the new content exactly matches the last bot message in the thread,
|
|
40
|
+
* the previous message is edited to append a duplicate counter (x2, x3, …)
|
|
41
|
+
* instead of posting a new message.
|
|
42
|
+
*
|
|
37
43
|
* @param content - Message content (string or Document)
|
|
38
44
|
* @param files - Optional file attachments
|
|
39
45
|
* @returns Message object for the posted message
|
|
40
46
|
*/
|
|
41
47
|
async post(content, files) {
|
|
48
|
+
const deduped = await (0, duplicateCounter_js_1.tryDeduplicateMessage)(content, (queryOpts) => this.ops.getMessages(queryOpts), (messageId, channelId, newContent) => {
|
|
49
|
+
const msgOps = this.ops.createMessageOps();
|
|
50
|
+
return msgOps.updateMessage(messageId, channelId, newContent);
|
|
51
|
+
}, files ? { files } : undefined);
|
|
52
|
+
if (deduped) {
|
|
53
|
+
return new Message_js_1.Message(deduped, this.ops.createMessageOps());
|
|
54
|
+
}
|
|
42
55
|
const data = await this.ops.post(content, files);
|
|
43
56
|
return new Message_js_1.Message(data, this.ops.createMessageOps());
|
|
44
57
|
}
|
package/dist/Thread.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../src/Thread.ts"],"names":[],"mappings":";;;AAAA,qEAA+D;AAC/D,6CAA+D;AAC/D,2DAAqD;
|
|
1
|
+
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../src/Thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Channel, type ChannelOperations } from "../Channel.js";
|
|
2
2
|
import { ChatClient } from "../ChatClient.js";
|
|
3
3
|
import type { DeleteMessageOptions, DisconnectCallback, DiscordConfig, ErrorCallback, FileAttachment, Member, MessageCallback, MessageContent, MessageData, MessageQueryOptions, ReactionCallback, ThreadData } from "../types.js";
|
|
4
|
-
/**
|
|
5
|
-
* Discord chat client implementation using discord.js
|
|
6
|
-
*/
|
|
4
|
+
/** Discord chat client implementation using discord.js. */
|
|
7
5
|
export declare class DiscordChatClient extends ChatClient implements ChannelOperations {
|
|
8
6
|
private client;
|
|
9
7
|
private reactionListeners;
|
|
@@ -13,141 +11,34 @@ export declare class DiscordChatClient extends ChatClient implements ChannelOper
|
|
|
13
11
|
private readonly token;
|
|
14
12
|
private readonly guildId;
|
|
15
13
|
constructor(config: DiscordConfig);
|
|
16
|
-
/**
|
|
17
|
-
* Set up the global reaction listener that routes events to channel-specific callbacks
|
|
18
|
-
*/
|
|
19
|
-
private setupReactionListener;
|
|
20
|
-
/**
|
|
21
|
-
* Set up the global message listener that routes events to channel-specific callbacks
|
|
22
|
-
*/
|
|
23
|
-
private setupMessageListener;
|
|
24
|
-
/**
|
|
25
|
-
* Set up connection event forwarding.
|
|
26
|
-
* discord.js handles reconnection internally — these callbacks are for observability.
|
|
27
|
-
*/
|
|
28
|
-
private setupConnectionResilience;
|
|
29
14
|
private fetchTextChannel;
|
|
30
15
|
connect(channelId: string): Promise<Channel>;
|
|
31
|
-
/**
|
|
32
|
-
* Disconnect from Discord
|
|
33
|
-
*/
|
|
34
16
|
disconnect(): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Post a message to a Discord channel
|
|
37
|
-
* @param channelId - Channel to post to
|
|
38
|
-
* @param content - Message content (string or Document)
|
|
39
|
-
* @param options - Optional options including threadTs for replies
|
|
40
|
-
* @returns Message data with ID
|
|
41
|
-
*/
|
|
42
17
|
postMessage(channelId: string, content: MessageContent, options?: {
|
|
43
18
|
threadTs?: string;
|
|
44
19
|
files?: FileAttachment[];
|
|
45
20
|
linkPreviews?: boolean;
|
|
46
21
|
}): Promise<MessageData>;
|
|
47
|
-
/**
|
|
48
|
-
* Update a message in a Discord channel
|
|
49
|
-
* @param messageId - ID of the message to update
|
|
50
|
-
* @param channelId - Channel containing the message
|
|
51
|
-
* @param content - New message content (string or Document)
|
|
52
|
-
*/
|
|
53
22
|
updateMessage(messageId: string, channelId: string, content: MessageContent): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Delete a message and its thread replies from a Discord channel
|
|
56
|
-
* @param messageId - ID of the message to delete
|
|
57
|
-
* @param channelId - Channel containing the message
|
|
58
|
-
*/
|
|
59
23
|
deleteMessage(messageId: string, channelId: string, options?: DeleteMessageOptions): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Add a reaction to a message
|
|
62
|
-
* @param messageId - Message to react to
|
|
63
|
-
* @param channelId - Channel containing the message
|
|
64
|
-
* @param emoji - Emoji to add
|
|
65
|
-
*/
|
|
66
24
|
addReaction(messageId: string, channelId: string, emoji: string): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Remove the bot's own reaction from a message
|
|
69
|
-
* @param messageId - Message to remove reaction from
|
|
70
|
-
* @param channelId - Channel containing the message
|
|
71
|
-
* @param emoji - Emoji to remove
|
|
72
|
-
*/
|
|
73
25
|
removeReaction(messageId: string, channelId: string, emoji: string): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Remove all reactions from a message
|
|
76
|
-
* @param messageId - Message to clear reactions from
|
|
77
|
-
* @param channelId - Channel containing the message
|
|
78
|
-
*/
|
|
79
26
|
removeAllReactions(messageId: string, channelId: string): Promise<void>;
|
|
80
|
-
/**
|
|
81
|
-
* Subscribe to reaction events on a channel
|
|
82
|
-
* @param channelId - Channel to monitor
|
|
83
|
-
* @param callback - Function to call when reactions are added
|
|
84
|
-
* @returns Unsubscribe function
|
|
85
|
-
*/
|
|
86
27
|
subscribeToReactions(channelId: string, callback: ReactionCallback): () => void;
|
|
87
|
-
/**
|
|
88
|
-
* Subscribe to incoming message events on a channel
|
|
89
|
-
* @param channelId - Channel to monitor
|
|
90
|
-
* @param callback - Function to call when messages are received
|
|
91
|
-
* @returns Unsubscribe function
|
|
92
|
-
*/
|
|
93
28
|
subscribeToMessages(channelId: string, callback: MessageCallback): () => void;
|
|
94
|
-
/**
|
|
95
|
-
* Send a typing indicator in a Discord channel
|
|
96
|
-
* @param channelId - Channel to send typing indicator in
|
|
97
|
-
*/
|
|
98
29
|
sendTyping(channelId: string): Promise<void>;
|
|
99
|
-
/**
|
|
100
|
-
* Create a thread from a message
|
|
101
|
-
* @param messageId - Message to create thread from
|
|
102
|
-
* @param channelId - Channel containing the message
|
|
103
|
-
* @param name - Thread name
|
|
104
|
-
* @param autoArchiveDuration - Auto-archive duration in minutes (60, 1440, 4320, 10080)
|
|
105
|
-
* @returns Thread data
|
|
106
|
-
*/
|
|
107
30
|
startThread(messageId: string, channelId: string, name: string, autoArchiveDuration?: number): Promise<ThreadData>;
|
|
108
|
-
/**
|
|
109
|
-
* Bulk delete messages in a Discord channel
|
|
110
|
-
* @param channelId - Channel to delete messages from
|
|
111
|
-
* @param count - Number of recent messages to delete (max 100)
|
|
112
|
-
* @returns Number of messages actually deleted
|
|
113
|
-
*/
|
|
114
31
|
bulkDelete(channelId: string, count: number): Promise<number>;
|
|
115
32
|
getMessages(channelId: string, options?: MessageQueryOptions): Promise<MessageData[]>;
|
|
116
|
-
/**
|
|
117
|
-
* Get all threads (active and archived) in a Discord channel
|
|
118
|
-
* @param channelId - Channel to get threads from
|
|
119
|
-
* @returns Array of thread data
|
|
120
|
-
*/
|
|
121
33
|
getThreads(channelId: string): Promise<ThreadData[]>;
|
|
122
|
-
/**
|
|
123
|
-
* Delete a thread in a Discord channel
|
|
124
|
-
* @param threadId - ID of the thread to delete
|
|
125
|
-
*/
|
|
126
34
|
deleteThread(threadId: string, _channelId: string): Promise<void>;
|
|
127
|
-
|
|
128
|
-
* Post a message to a thread channel
|
|
129
|
-
* In Discord, the threadId IS the channel to post in (threads are channels)
|
|
130
|
-
*/
|
|
35
|
+
getThreadMessages(threadId: string, _channelId: string, options?: MessageQueryOptions): Promise<MessageData[]>;
|
|
131
36
|
postToThread(threadId: string, _channelId: string, content: MessageContent, options?: {
|
|
132
37
|
files?: FileAttachment[];
|
|
133
38
|
}): Promise<MessageData>;
|
|
134
|
-
/**
|
|
135
|
-
* Subscribe to messages in a specific thread
|
|
136
|
-
* In Discord, threadId IS the thread channel — reuse message subscription
|
|
137
|
-
*/
|
|
138
39
|
subscribeToThread(threadId: string, _channelId: string, callback: MessageCallback): () => void;
|
|
139
40
|
getMembers(channelId: string): Promise<Member[]>;
|
|
140
|
-
/**
|
|
141
|
-
* Register a callback for disconnect events
|
|
142
|
-
* @param callback - Function to call when disconnected
|
|
143
|
-
* @returns Unsubscribe function
|
|
144
|
-
*/
|
|
145
41
|
onDisconnect(callback: DisconnectCallback): () => void;
|
|
146
|
-
/**
|
|
147
|
-
* Register a callback for error events
|
|
148
|
-
* @param callback - Function to call when an error occurs
|
|
149
|
-
* @returns Unsubscribe function
|
|
150
|
-
*/
|
|
151
42
|
onError(callback: ErrorCallback): () => void;
|
|
152
43
|
}
|
|
153
44
|
//# sourceMappingURL=DiscordChatClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordChatClient.d.ts","sourceRoot":"","sources":["../../src/discord/DiscordChatClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DiscordChatClient.d.ts","sourceRoot":"","sources":["../../src/discord/DiscordChatClient.ts"],"names":[],"mappings":"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"}
|