@elizaos/plugin-discord 2.0.0-alpha.9 → 2.0.0-beta.1
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/LICENSE +21 -0
- package/README.md +532 -0
- package/dist/account-client-pool.d.ts +35 -0
- package/dist/account-client-pool.d.ts.map +1 -0
- package/dist/accounts.d.ts.map +1 -1
- package/dist/actions/actionResultSemantics.d.ts +9 -0
- package/dist/actions/actionResultSemantics.d.ts.map +1 -0
- package/dist/actions/setup-credentials.d.ts +25 -0
- package/dist/actions/setup-credentials.d.ts.map +1 -0
- package/dist/addressing.d.ts +15 -0
- package/dist/addressing.d.ts.map +1 -0
- package/dist/allowlist.d.ts.map +1 -1
- package/dist/attachments.d.ts +1 -0
- package/dist/attachments.d.ts.map +1 -1
- package/dist/auto-enable.d.ts +4 -0
- package/dist/auto-enable.d.ts.map +1 -0
- package/dist/banner.d.ts.map +1 -1
- package/dist/compat.d.ts +4 -3
- package/dist/compat.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/connector-account-provider.d.ts +26 -0
- package/dist/connector-account-provider.d.ts.map +1 -0
- package/dist/debouncer.d.ts +28 -0
- package/dist/debouncer.d.ts.map +1 -0
- package/dist/discord-avatar-cache.d.ts +10 -0
- package/dist/discord-avatar-cache.d.ts.map +1 -0
- package/dist/discord-commands.d.ts +16 -0
- package/dist/discord-commands.d.ts.map +1 -0
- package/dist/discord-events.d.ts +56 -0
- package/dist/discord-events.d.ts.map +1 -0
- package/dist/discord-history.d.ts +56 -0
- package/dist/discord-history.d.ts.map +1 -0
- package/dist/discord-interactions.d.ts +47 -0
- package/dist/discord-interactions.d.ts.map +1 -0
- package/dist/discord-local-service.d.ts +94 -0
- package/dist/discord-local-service.d.ts.map +1 -0
- package/dist/discord-profiles.d.ts +26 -0
- package/dist/discord-profiles.d.ts.map +1 -0
- package/dist/discord-reactions.d.ts +30 -0
- package/dist/discord-reactions.d.ts.map +1 -0
- package/dist/draft-chunking.d.ts +9 -0
- package/dist/draft-chunking.d.ts.map +1 -0
- package/dist/draft-stream.d.ts +23 -0
- package/dist/draft-stream.d.ts.map +1 -0
- package/dist/environment.d.ts +1 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/generated/specs/spec-helpers.d.ts +4 -17
- package/dist/generated/specs/spec-helpers.d.ts.map +1 -1
- package/dist/generated/specs/specs.d.ts +13 -48
- package/dist/generated/specs/specs.d.ts.map +1 -1
- package/dist/identity.d.ts +8 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/inbound-envelope.d.ts +8 -0
- package/dist/inbound-envelope.d.ts.map +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.d.ts +22 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10171 -10073
- package/dist/index.js.map +49 -125
- package/dist/message-coalesce.d.ts +31 -0
- package/dist/message-coalesce.d.ts.map +1 -0
- package/dist/messages.d.ts +13 -2
- package/dist/messages.d.ts.map +1 -1
- package/dist/messaging.d.ts.map +1 -1
- package/dist/native-commands.d.ts.map +1 -1
- package/dist/owner-pairing-service.d.ts +73 -0
- package/dist/owner-pairing-service.d.ts.map +1 -0
- package/dist/permissionEvents.d.ts.map +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/profileSync.d.ts +8 -0
- package/dist/profileSync.d.ts.map +1 -0
- package/dist/reasoning-tags.d.ts +2 -0
- package/dist/reasoning-tags.d.ts.map +1 -0
- package/dist/service.d.ts +156 -261
- package/dist/service.d.ts.map +1 -1
- package/dist/setup-routes.d.ts +23 -0
- package/dist/setup-routes.d.ts.map +1 -0
- package/dist/slash-commands.d.ts +39 -0
- package/dist/slash-commands.d.ts.map +1 -0
- package/dist/staleness.d.ts +25 -0
- package/dist/staleness.d.ts.map +1 -0
- package/dist/status-reactions.d.ts +11 -0
- package/dist/status-reactions.d.ts.map +1 -0
- package/dist/tests.d.ts.map +1 -1
- package/dist/types.d.ts +27 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/typing.d.ts +7 -0
- package/dist/typing.d.ts.map +1 -0
- package/dist/user-account-scraper/discord-browser-scraper.d.ts +118 -0
- package/dist/user-account-scraper/discord-browser-scraper.d.ts.map +1 -0
- package/dist/user-account-scraper/discord-desktop-cdp.d.ts +33 -0
- package/dist/user-account-scraper/discord-desktop-cdp.d.ts.map +1 -0
- package/dist/user-account-scraper/index.d.ts +15 -0
- package/dist/user-account-scraper/index.d.ts.map +1 -0
- package/dist/user-account-scraper/service.d.ts +92 -0
- package/dist/user-account-scraper/service.d.ts.map +1 -0
- package/dist/utils.d.ts +11 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/voice.d.ts +8 -3
- package/dist/voice.d.ts.map +1 -1
- package/package.json +23 -20
- package/dist/actions/chatWithAttachments.d.ts +0 -4
- package/dist/actions/chatWithAttachments.d.ts.map +0 -1
- package/dist/actions/createPoll.d.ts +0 -4
- package/dist/actions/createPoll.d.ts.map +0 -1
- package/dist/actions/deleteMessage.d.ts +0 -4
- package/dist/actions/deleteMessage.d.ts.map +0 -1
- package/dist/actions/downloadMedia.d.ts +0 -4
- package/dist/actions/downloadMedia.d.ts.map +0 -1
- package/dist/actions/editMessage.d.ts +0 -4
- package/dist/actions/editMessage.d.ts.map +0 -1
- package/dist/actions/getUserInfo.d.ts +0 -4
- package/dist/actions/getUserInfo.d.ts.map +0 -1
- package/dist/actions/joinChannel.d.ts +0 -4
- package/dist/actions/joinChannel.d.ts.map +0 -1
- package/dist/actions/leaveChannel.d.ts +0 -4
- package/dist/actions/leaveChannel.d.ts.map +0 -1
- package/dist/actions/listChannels.d.ts +0 -4
- package/dist/actions/listChannels.d.ts.map +0 -1
- package/dist/actions/pinMessage.d.ts +0 -4
- package/dist/actions/pinMessage.d.ts.map +0 -1
- package/dist/actions/reactToMessage.d.ts +0 -4
- package/dist/actions/reactToMessage.d.ts.map +0 -1
- package/dist/actions/readChannel.d.ts +0 -4
- package/dist/actions/readChannel.d.ts.map +0 -1
- package/dist/actions/searchMessages.d.ts +0 -4
- package/dist/actions/searchMessages.d.ts.map +0 -1
- package/dist/actions/sendDM.d.ts +0 -4
- package/dist/actions/sendDM.d.ts.map +0 -1
- package/dist/actions/sendMessage.d.ts +0 -4
- package/dist/actions/sendMessage.d.ts.map +0 -1
- package/dist/actions/serverInfo.d.ts +0 -4
- package/dist/actions/serverInfo.d.ts.map +0 -1
- package/dist/actions/summarizeConversation.d.ts +0 -4
- package/dist/actions/summarizeConversation.d.ts.map +0 -1
- package/dist/actions/transcribeMedia.d.ts +0 -4
- package/dist/actions/transcribeMedia.d.ts.map +0 -1
- package/dist/actions/unpinMessage.d.ts +0 -4
- package/dist/actions/unpinMessage.d.ts.map +0 -1
- package/dist/generated/prompts/typescript/prompts.d.ts +0 -44
- package/dist/generated/prompts/typescript/prompts.d.ts.map +0 -1
- package/dist/providers/channelState.d.ts +0 -14
- package/dist/providers/channelState.d.ts.map +0 -1
- package/dist/providers/guildInfo.d.ts +0 -15
- package/dist/providers/guildInfo.d.ts.map +0 -1
- package/dist/providers/voiceState.d.ts +0 -12
- package/dist/providers/voiceState.d.ts.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Message as DiscordMessage } from "discord.js";
|
|
2
|
+
export type StatusReactionScope = "all" | "group-mentions" | "none";
|
|
3
|
+
export interface StatusReactionController {
|
|
4
|
+
setQueued: () => void;
|
|
5
|
+
setThinking: () => void;
|
|
6
|
+
setDone: () => void;
|
|
7
|
+
setError: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function shouldShowStatusReaction(scope: StatusReactionScope, message: DiscordMessage, botId: string | undefined): boolean;
|
|
10
|
+
export declare function createStatusReactionController(message: DiscordMessage): StatusReactionController;
|
|
11
|
+
//# sourceMappingURL=status-reactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-reactions.d.ts","sourceRoot":"","sources":["../status-reactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACxC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACrB;AAOD,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAkBT;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,cAAc,GACrB,wBAAwB,CA6C1B"}
|
package/dist/tests.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAMN,KAAK,eAAe,EAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,KAAK,aAAa,EAGlB,KAAK,SAAS,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,iBAAiB,EAGjB,KAAK,KAAK,EAEV,KAAK,WAAW,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD;;;;;;;GAOG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IACjD,IAAI,SAAa;IACjB,OAAO,CAAC,aAAa,CAAkB;IACvC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,EAAE,CAAC;IAEzE;;;;;OAKG;;IA8BH;;;;;;OAMG;IACG,yBAAyB,CAAC,OAAO,EAAE,aAAa;IAgCtD;;;;;;OAMG;IACG,yBAAyB,CAAC,OAAO,EAAE,aAAa;IAkDtD;;;;;OAKG;IACG,0BAA0B,CAAC,OAAO,EAAE,aAAa;IAqCvD;;;;OAIG;IACG,wBAAwB,CAAC,OAAO,EAAE,aAAa;IA0DrD;;;;;;OAMG;IACG,sBAAsB,CAAC,OAAO,EAAE,aAAa;IAoBnD;;;;;OAKG;IACG,mBAAmB,CAAC,OAAO,EAAE,aAAa;IAgEhD;;;;;;OAMG;IACG,cAAc,CAAC,OAAO,EAAE,aAAa;IAgB3C;;;;;;;;OAQG;IACG,oBAAoB,CACzB,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,iBAAiB,EAAE;IAqB3B;;;;;;OAMG;IACG,eAAe,CACpB,cAAc,EAAE,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,QAAQ,EACjE,UAAU,EAAE,eAAe;IA4B5B;;;;;;OAMG;IACG,cAAc,CAAC,aAAa,EAAE,cAAc;IAiBlD;;;;;;OAMG;YACW,wBAAwB;IAqBtC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAWzB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelType, Character, EntityPayload, EventPayload, IAgentRuntime, Media, Memory, MessagePayload, WorldPayload } from "@elizaos/core";
|
|
1
|
+
import type { ChannelType, Character, EntityPayload, EventPayload, IAgentRuntime, Media, Memory, MessagePayload, ReplyToMode, WorldPayload } from "@elizaos/core";
|
|
2
2
|
import type { Channel, Client as DiscordJsClient, Guild, GuildMember, Interaction, Message, MessageReaction, User, VoiceState } from "discord.js";
|
|
3
3
|
/**
|
|
4
4
|
* Discord-specific event types
|
|
@@ -25,13 +25,16 @@ export declare enum DiscordEventTypes {
|
|
|
25
25
|
}
|
|
26
26
|
export interface DiscordMessageReceivedPayload extends MessagePayload {
|
|
27
27
|
originalMessage: Message;
|
|
28
|
+
accountId?: string;
|
|
28
29
|
}
|
|
29
30
|
export interface DiscordMessageSentPayload extends MessagePayload {
|
|
30
31
|
originalMessages: Message[];
|
|
32
|
+
accountId?: string;
|
|
31
33
|
}
|
|
32
34
|
export interface DiscordReactionPayload extends MessagePayload {
|
|
33
35
|
originalReaction: MessageReaction;
|
|
34
36
|
user: User;
|
|
37
|
+
accountId?: string;
|
|
35
38
|
}
|
|
36
39
|
export interface DiscordServerPayload extends WorldPayload {
|
|
37
40
|
server: Guild;
|
|
@@ -49,11 +52,13 @@ export interface DiscordListenChannelPayload {
|
|
|
49
52
|
runtime: IAgentRuntime;
|
|
50
53
|
message: Memory;
|
|
51
54
|
source: string;
|
|
55
|
+
accountId?: string;
|
|
52
56
|
}
|
|
53
57
|
export interface DiscordNotInChannelsPayload {
|
|
54
58
|
runtime: IAgentRuntime;
|
|
55
59
|
message: Message;
|
|
56
60
|
source: string;
|
|
61
|
+
accountId?: string;
|
|
57
62
|
}
|
|
58
63
|
export type PermissionState = "ALLOW" | "DENY" | "NEUTRAL";
|
|
59
64
|
export interface PermissionDiff {
|
|
@@ -153,6 +158,7 @@ export interface DiscordSlashCommandPayload extends EventPayload {
|
|
|
153
158
|
interaction: Interaction;
|
|
154
159
|
client: DiscordJsClient;
|
|
155
160
|
commands: DiscordSlashCommand[];
|
|
161
|
+
accountId?: string;
|
|
156
162
|
}
|
|
157
163
|
export interface DiscordEventPayloadMap {
|
|
158
164
|
[DiscordEventTypes.MESSAGE_RECEIVED]: DiscordMessageReceivedPayload;
|
|
@@ -184,11 +190,14 @@ export interface BuildMemoryFromMessageOptions {
|
|
|
184
190
|
processedContent?: string;
|
|
185
191
|
processedAttachments?: Media[];
|
|
186
192
|
extraContent?: JsonObject;
|
|
187
|
-
extraMetadata?:
|
|
193
|
+
extraMetadata?: Record<string, unknown>;
|
|
194
|
+
accountId?: string;
|
|
188
195
|
}
|
|
189
196
|
export interface IDiscordService {
|
|
197
|
+
accountId?: string;
|
|
190
198
|
client: DiscordJsClient | null;
|
|
191
199
|
character: Character;
|
|
200
|
+
discordSettings?: DiscordSettings;
|
|
192
201
|
getChannelType: (channel: Channel) => Promise<ChannelType>;
|
|
193
202
|
buildMemoryFromMessage: (message: Message, options?: BuildMemoryFromMessageOptions) => Promise<Memory | null>;
|
|
194
203
|
}
|
|
@@ -227,10 +236,24 @@ export interface DiscordSettings {
|
|
|
227
236
|
shouldIgnoreBotMessages?: boolean;
|
|
228
237
|
shouldIgnoreDirectMessages?: boolean;
|
|
229
238
|
shouldRespondOnlyToMentions?: boolean;
|
|
230
|
-
|
|
239
|
+
replyToMode?: ReplyToMode;
|
|
240
|
+
/** DM access policy (default: "pairing") */
|
|
231
241
|
dmPolicy?: DiscordDmPolicy;
|
|
232
242
|
/** List of allowed Discord user IDs for allowlist policy */
|
|
233
243
|
allowFrom?: string[];
|
|
244
|
+
/** Whether the connector should synchronize the bot profile on startup. */
|
|
245
|
+
syncProfile?: boolean;
|
|
246
|
+
/** Optional explicit bot username override; falls back to character.name. */
|
|
247
|
+
profileName?: string;
|
|
248
|
+
/** Optional avatar source (https URL, data URI, or local file path). */
|
|
249
|
+
profileAvatar?: string;
|
|
250
|
+
/**
|
|
251
|
+
* When false (default), inbound messages are ingested into memory but the
|
|
252
|
+
* agent does NOT auto-generate a reply. Sends only happen when the user
|
|
253
|
+
* explicitly dispatches via LifeOps or chat command. Opt in by setting
|
|
254
|
+
* DISCORD_AUTO_REPLY=true.
|
|
255
|
+
*/
|
|
256
|
+
autoReply?: boolean;
|
|
234
257
|
}
|
|
235
258
|
export interface ChannelSpiderState {
|
|
236
259
|
channelId: string;
|
|
@@ -247,6 +270,7 @@ export type BatchHandler = (batch: Memory[], stats: {
|
|
|
247
270
|
totalStored: number;
|
|
248
271
|
}) => Promise<boolean | undefined> | boolean | undefined;
|
|
249
272
|
export interface ChannelHistoryOptions {
|
|
273
|
+
accountId?: string;
|
|
250
274
|
limit?: number;
|
|
251
275
|
force?: boolean;
|
|
252
276
|
onBatch?: BatchHandler;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
package/dist/typing.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TextChannel } from "discord.js";
|
|
2
|
+
export interface TypingController {
|
|
3
|
+
start: () => void;
|
|
4
|
+
stop: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function createTypingController(channel: TextChannel, maxDurationMs?: number): TypingController;
|
|
7
|
+
//# sourceMappingURL=typing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CACjB;AAKD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,WAAW,EACpB,aAAa,GAAE,MAAgC,GAC7C,gBAAgB,CAgDlB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { BrowserBridgePageContext } from "@elizaos/plugin-browser";
|
|
2
|
+
export declare const DISCORD_PROVIDER_ID = "discord";
|
|
3
|
+
export declare const DISCORD_APP_URL = "https://discord.com/channels/@me";
|
|
4
|
+
export interface DiscordTabIdentity {
|
|
5
|
+
id: string | null;
|
|
6
|
+
username: string | null;
|
|
7
|
+
discriminator: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface DiscordVisibleDmPreview {
|
|
10
|
+
channelId: string | null;
|
|
11
|
+
href: string | null;
|
|
12
|
+
label: string;
|
|
13
|
+
selected: boolean;
|
|
14
|
+
unread: boolean;
|
|
15
|
+
snippet: string | null;
|
|
16
|
+
}
|
|
17
|
+
export interface DiscordDmInboxProbe {
|
|
18
|
+
visible: boolean;
|
|
19
|
+
count: number;
|
|
20
|
+
selectedChannelId: string | null;
|
|
21
|
+
previews: DiscordVisibleDmPreview[];
|
|
22
|
+
}
|
|
23
|
+
export interface DiscordTabProbe {
|
|
24
|
+
loggedIn: boolean;
|
|
25
|
+
url: string | null;
|
|
26
|
+
identity: DiscordTabIdentity;
|
|
27
|
+
rawSnippet: string | null;
|
|
28
|
+
dmInbox: DiscordDmInboxProbe;
|
|
29
|
+
}
|
|
30
|
+
export declare function emptyDiscordDmInboxProbe(): DiscordDmInboxProbe;
|
|
31
|
+
export declare function probeDiscordCapturedPage(page: Pick<BrowserBridgePageContext, "url" | "title" | "mainText" | "links" | "forms"> | {
|
|
32
|
+
url: string | null;
|
|
33
|
+
title?: string | null;
|
|
34
|
+
mainText?: string | null;
|
|
35
|
+
links?: Array<{
|
|
36
|
+
text: string;
|
|
37
|
+
href: string;
|
|
38
|
+
}>;
|
|
39
|
+
forms?: Array<{
|
|
40
|
+
action: string | null;
|
|
41
|
+
fields: string[];
|
|
42
|
+
}>;
|
|
43
|
+
}): DiscordTabProbe;
|
|
44
|
+
export declare function probeDiscordDocumentState(document: Document, url: string | null): DiscordTabProbe;
|
|
45
|
+
export declare function buildDiscordProbeScript(): string;
|
|
46
|
+
export declare function discordBrowserWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve the browser-workspace partition for a Discord user-account scrape
|
|
49
|
+
* session. Each user account gets its own partition so cookies are not shared
|
|
50
|
+
* across accounts. Single-account env-only deployments use DEFAULT_ACCOUNT_ID.
|
|
51
|
+
*/
|
|
52
|
+
export declare function discordUserAccountPartitionFor(accountId?: string): string;
|
|
53
|
+
export declare function ensureDiscordTab(args: {
|
|
54
|
+
/**
|
|
55
|
+
* Connector account ID. The browser partition is keyed off this so cookies
|
|
56
|
+
* stay isolated across multiple Discord user accounts. Defaults to
|
|
57
|
+
* DEFAULT_ACCOUNT_ID when omitted.
|
|
58
|
+
*/
|
|
59
|
+
accountId?: string;
|
|
60
|
+
existingTabId?: string | null;
|
|
61
|
+
show?: boolean;
|
|
62
|
+
env?: NodeJS.ProcessEnv;
|
|
63
|
+
}): Promise<{
|
|
64
|
+
tabId: string;
|
|
65
|
+
url: string;
|
|
66
|
+
}>;
|
|
67
|
+
export declare function navigateDiscordTabToHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
68
|
+
export declare function closeDiscordTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Evaluate a probe inside the Discord tab to determine login state and
|
|
71
|
+
* extract the current user. Returns `loggedIn: false` when the tab is on
|
|
72
|
+
* the login screen, when the tab has not finished loading the app shell,
|
|
73
|
+
* or when the selectors fail — never throws.
|
|
74
|
+
*/
|
|
75
|
+
export declare function probeDiscordTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
|
|
76
|
+
export interface DiscordMessageSearchResult {
|
|
77
|
+
id: string | null;
|
|
78
|
+
content: string;
|
|
79
|
+
authorName: string | null;
|
|
80
|
+
guildId: string | null;
|
|
81
|
+
channelId: string | null;
|
|
82
|
+
timestamp: string | null;
|
|
83
|
+
/** Delivery status indicator derived from DOM state (partial). */
|
|
84
|
+
deliveryStatus: "sent" | "sending" | "failed" | "unknown";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Trigger Discord's native in-app search using the keyboard shortcut, wait
|
|
88
|
+
* for results to render, then scrape them via DOM eval.
|
|
89
|
+
*
|
|
90
|
+
* The search uses Discord's own full-text index — no client-side filtering.
|
|
91
|
+
* Results are scoped to the currently open DM or channel when a `channelId`
|
|
92
|
+
* scope is provided (by navigating to that channel first), or global when
|
|
93
|
+
* no scope is given.
|
|
94
|
+
*
|
|
95
|
+
* Because this relies on the browser workspace eval bridge, it requires a
|
|
96
|
+
* live Discord tab (`tabId`).
|
|
97
|
+
*/
|
|
98
|
+
export declare function searchDiscordMessages(args: {
|
|
99
|
+
tabId: string;
|
|
100
|
+
query: string;
|
|
101
|
+
channelId?: string;
|
|
102
|
+
env?: NodeJS.ProcessEnv;
|
|
103
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Read the delivery status of recently sent messages visible in the currently
|
|
106
|
+
* open Discord channel. Discord renders delivery indicators in the DOM:
|
|
107
|
+
* - No indicator: delivered (server acknowledged).
|
|
108
|
+
* - `[class*="sending"]`: sending in progress.
|
|
109
|
+
* - `[class*="failed"]` / `[aria-label*="failed" i]`: send failed.
|
|
110
|
+
*
|
|
111
|
+
* This is inherently partial — only messages currently rendered in the
|
|
112
|
+
* viewport can be inspected.
|
|
113
|
+
*/
|
|
114
|
+
export declare function captureDiscordDeliveryStatus(args: {
|
|
115
|
+
tabId: string;
|
|
116
|
+
env?: NodeJS.ProcessEnv;
|
|
117
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
118
|
+
//# sourceMappingURL=discord-browser-scraper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-browser-scraper.d.ts","sourceRoot":"","sources":["../../user-account-scraper/discord-browser-scraper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type DiscordTabProbe } from "./discord-browser-scraper";
|
|
2
|
+
export interface DiscordDesktopCdpStatus {
|
|
3
|
+
supported: boolean;
|
|
4
|
+
platform: NodeJS.Platform;
|
|
5
|
+
port: number;
|
|
6
|
+
appRunning: boolean;
|
|
7
|
+
cdpAvailable: boolean;
|
|
8
|
+
browserVersion: string | null;
|
|
9
|
+
targetUrl: string | null;
|
|
10
|
+
targetTitle: string | null;
|
|
11
|
+
webSocketDebuggerUrl: string | null;
|
|
12
|
+
probe: DiscordTabProbe | null;
|
|
13
|
+
lastError: string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function getDiscordDesktopCdpStatus(env?: NodeJS.ProcessEnv): Promise<DiscordDesktopCdpStatus>;
|
|
16
|
+
/**
|
|
17
|
+
* Send a message to a Discord channel by driving the user's Discord Desktop
|
|
18
|
+
* app through CDP. The local-execution path uses the user's own Discord
|
|
19
|
+
* client, so the send appears as if the user typed it. This avoids the bot
|
|
20
|
+
* REST path returning "Missing Access" on channels the bot is not a member
|
|
21
|
+
* of (which is most DMs), and matches the same trust model as reads.
|
|
22
|
+
*/
|
|
23
|
+
export declare function sendDiscordViaDesktopCdp(args: {
|
|
24
|
+
channelId: string;
|
|
25
|
+
text: string;
|
|
26
|
+
env?: NodeJS.ProcessEnv;
|
|
27
|
+
}): Promise<{
|
|
28
|
+
ok: boolean;
|
|
29
|
+
navigatedTo: string | null;
|
|
30
|
+
error: string | null;
|
|
31
|
+
}>;
|
|
32
|
+
export declare function relaunchDiscordDesktopForCdp(env?: NodeJS.ProcessEnv): Promise<DiscordDesktopCdpStatus>;
|
|
33
|
+
//# sourceMappingURL=discord-desktop-cdp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-desktop-cdp.d.ts","sourceRoot":"","sources":["../../user-account-scraper/discord-desktop-cdp.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAyCnC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAiPD,wBAAsB,0BAA0B,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CA0FlC;AA8BD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC;IACV,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC,CA2BD;AA8LD,wBAAsB,4BAA4B,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAmClC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discord user-account scraper — moved out of `app-lifeops` so it lives next
|
|
3
|
+
* to the rest of the Discord connector code. The scraper drives a real Discord
|
|
4
|
+
* web app inside a per-account browser-workspace partition (one set of cookies
|
|
5
|
+
* per ConnectorAccount.id) and reads delivery state, DM previews, and search
|
|
6
|
+
* results back through DOM eval.
|
|
7
|
+
*
|
|
8
|
+
* The desktop CDP path (`discord-desktop-cdp.ts`) is the fallback when the
|
|
9
|
+
* Eliza Desktop Browser workspace is unavailable but a Discord desktop client
|
|
10
|
+
* with the CDP debugger is running locally.
|
|
11
|
+
*/
|
|
12
|
+
export { buildDiscordProbeScript, captureDiscordDeliveryStatus, closeDiscordTab, DISCORD_APP_URL, DISCORD_PROVIDER_ID, type DiscordDmInboxProbe, type DiscordMessageSearchResult, type DiscordTabIdentity, type DiscordTabProbe, type DiscordVisibleDmPreview, discordBrowserWorkspaceAvailable, discordUserAccountPartitionFor, emptyDiscordDmInboxProbe, ensureDiscordTab, navigateDiscordTabToHome, probeDiscordCapturedPage, probeDiscordDocumentState, probeDiscordTab, searchDiscordMessages, } from "./discord-browser-scraper";
|
|
13
|
+
export { type DiscordDesktopCdpStatus, getDiscordDesktopCdpStatus, relaunchDiscordDesktopForCdp, sendDiscordViaDesktopCdp, } from "./discord-desktop-cdp";
|
|
14
|
+
export { DISCORD_USER_ACCOUNT_SCRAPER_SERVICE_TYPE, type DiscordUserAccountScraper, DiscordUserAccountScraperImpl, } from "./service";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../user-account-scraper/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yCAAyC,EACzC,KAAK,yBAAyB,EAC9B,6BAA6B,GAC9B,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DiscordUserAccountScraperService
|
|
3
|
+
*
|
|
4
|
+
* Wraps the per-account Discord browser scraper as an Eliza Service so
|
|
5
|
+
* downstream plugins (e.g. app-lifeops) can resolve it via
|
|
6
|
+
* `runtime.getService('discord_user_account_scraper')` instead of importing
|
|
7
|
+
* the raw module.
|
|
8
|
+
*/
|
|
9
|
+
import { type IAgentRuntime, Service } from "@elizaos/core";
|
|
10
|
+
import { type DiscordMessageSearchResult, type DiscordTabProbe } from "./discord-browser-scraper";
|
|
11
|
+
import { type DiscordDesktopCdpStatus } from "./discord-desktop-cdp";
|
|
12
|
+
export declare const DISCORD_USER_ACCOUNT_SCRAPER_SERVICE_TYPE = "discord_user_account_scraper";
|
|
13
|
+
/**
|
|
14
|
+
* Public surface of the scraper. Each call carries a `accountId` so the
|
|
15
|
+
* underlying browser partition is correctly scoped.
|
|
16
|
+
*/
|
|
17
|
+
export interface DiscordUserAccountScraper {
|
|
18
|
+
isWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
|
|
19
|
+
partitionFor(accountId?: string): string;
|
|
20
|
+
ensureTab(args: {
|
|
21
|
+
accountId?: string;
|
|
22
|
+
existingTabId?: string | null;
|
|
23
|
+
show?: boolean;
|
|
24
|
+
env?: NodeJS.ProcessEnv;
|
|
25
|
+
}): Promise<{
|
|
26
|
+
tabId: string;
|
|
27
|
+
url: string;
|
|
28
|
+
}>;
|
|
29
|
+
navigateTabHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
30
|
+
closeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
31
|
+
probeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
|
|
32
|
+
searchMessages(args: {
|
|
33
|
+
tabId: string;
|
|
34
|
+
query: string;
|
|
35
|
+
channelId?: string;
|
|
36
|
+
env?: NodeJS.ProcessEnv;
|
|
37
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
38
|
+
captureDelivery(args: {
|
|
39
|
+
tabId: string;
|
|
40
|
+
env?: NodeJS.ProcessEnv;
|
|
41
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
42
|
+
desktopCdpStatus(): Promise<DiscordDesktopCdpStatus>;
|
|
43
|
+
relaunchDesktopForCdp(): Promise<DiscordDesktopCdpStatus>;
|
|
44
|
+
sendViaDesktopCdp(args: {
|
|
45
|
+
channelId: string;
|
|
46
|
+
text: string;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
ok: boolean;
|
|
49
|
+
error?: string;
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
declare class DiscordUserAccountScraperImpl extends Service implements DiscordUserAccountScraper {
|
|
53
|
+
static serviceType: string;
|
|
54
|
+
capabilityDescription: string;
|
|
55
|
+
static start(runtime: IAgentRuntime): Promise<Service>;
|
|
56
|
+
stop(): Promise<void>;
|
|
57
|
+
isWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
|
|
58
|
+
partitionFor(accountId?: string): string;
|
|
59
|
+
ensureTab(args: {
|
|
60
|
+
accountId?: string;
|
|
61
|
+
existingTabId?: string | null;
|
|
62
|
+
show?: boolean;
|
|
63
|
+
env?: NodeJS.ProcessEnv;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
tabId: string;
|
|
66
|
+
url: string;
|
|
67
|
+
}>;
|
|
68
|
+
navigateTabHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
69
|
+
closeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
70
|
+
probeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
|
|
71
|
+
searchMessages(args: {
|
|
72
|
+
tabId: string;
|
|
73
|
+
query: string;
|
|
74
|
+
channelId?: string;
|
|
75
|
+
env?: NodeJS.ProcessEnv;
|
|
76
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
77
|
+
captureDelivery(args: {
|
|
78
|
+
tabId: string;
|
|
79
|
+
env?: NodeJS.ProcessEnv;
|
|
80
|
+
}): Promise<DiscordMessageSearchResult[]>;
|
|
81
|
+
desktopCdpStatus(): Promise<DiscordDesktopCdpStatus>;
|
|
82
|
+
relaunchDesktopForCdp(): Promise<DiscordDesktopCdpStatus>;
|
|
83
|
+
sendViaDesktopCdp(args: {
|
|
84
|
+
channelId: string;
|
|
85
|
+
text: string;
|
|
86
|
+
}): Promise<{
|
|
87
|
+
ok: boolean;
|
|
88
|
+
error?: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
export { DiscordUserAccountScraperImpl };
|
|
92
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../user-account-scraper/service.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { type IAgentRuntime, type Media } from "@elizaos/core";
|
|
1
|
+
import { type IAgentRuntime, type Media, type ReplyToMode } from "@elizaos/core";
|
|
2
2
|
import { type AttachmentBuilder, ChannelType, type Message as DiscordMessage, type TextChannel, ThreadChannel } from "discord.js";
|
|
3
|
-
import type { DiscordActionRow } from "./types";
|
|
3
|
+
import type { DiscordActionRow, JsonValue } from "./types";
|
|
4
4
|
export interface MessagingAPI {
|
|
5
|
-
|
|
5
|
+
handleMessage?: (agentId: string, message: unknown, options?: {
|
|
6
|
+
onResponse?: unknown;
|
|
7
|
+
}) => Promise<unknown>;
|
|
8
|
+
sendMessage?: (agentId: string, message: unknown, options?: {
|
|
6
9
|
onResponse?: unknown;
|
|
7
10
|
}) => Promise<unknown>;
|
|
8
11
|
}
|
|
@@ -17,6 +20,10 @@ export declare function hasMessageService(runtime: IAgentRuntime): boolean;
|
|
|
17
20
|
export declare function getMessagingAPI(runtime: IAgentRuntime): MessagingAPI | null;
|
|
18
21
|
export declare function getMessageService(runtime: IAgentRuntime): MessageServiceAPI | null;
|
|
19
22
|
export declare const MAX_MESSAGE_LENGTH = 1900;
|
|
23
|
+
export declare function parseJsonObjectFromText(text: string): Record<string, unknown> | null;
|
|
24
|
+
export declare function getActionParameters(options: unknown): Record<string, unknown>;
|
|
25
|
+
export declare function parseJsonArrayFromText(text: string): JsonValue[] | null;
|
|
26
|
+
export declare function normalizeDiscordMessageText(value: unknown): string;
|
|
20
27
|
export declare function cleanUrl(url: string): string;
|
|
21
28
|
export declare function extractUrls(text: string, runtime?: IAgentRuntime): string[];
|
|
22
29
|
export declare function getAttachmentFileName(media: Media): string;
|
|
@@ -27,7 +34,7 @@ export declare function generateSummary(runtime: IAgentRuntime, text: string): P
|
|
|
27
34
|
export declare function sendMessageInChunks(channel: TextChannel, content: string, inReplyTo: string, files: Array<AttachmentBuilder | {
|
|
28
35
|
attachment: Buffer | string;
|
|
29
36
|
name: string;
|
|
30
|
-
}>, components?: DiscordActionRow[], runtime?: IAgentRuntime): Promise<DiscordMessage[]>;
|
|
37
|
+
}>, components?: DiscordActionRow[], runtime?: IAgentRuntime, replyToMode?: ReplyToMode): Promise<DiscordMessage[]>;
|
|
31
38
|
export declare function needsSmartSplit(content: string): boolean;
|
|
32
39
|
export declare function smartSplitMessage(runtime: IAgentRuntime, content: string, maxLength?: number): Promise<string[]>;
|
|
33
40
|
export declare function splitMessage(content: string, maxLength?: number): string[];
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAEA,wBAUG"}
|
package/dist/voice.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type AudioPlayer, type VoiceConnection } from "@discordjs/voice";
|
|
|
4
4
|
import { ChannelType, type UUID } from "@elizaos/core";
|
|
5
5
|
import { type BaseGuildVoiceChannel, type Channel, type Guild, type VoiceState } from "discord.js";
|
|
6
6
|
import type { ICompatRuntime } from "./compat";
|
|
7
|
-
import type {
|
|
7
|
+
import type { IDiscordService } from "./types";
|
|
8
8
|
/**
|
|
9
9
|
* Class representing an AudioMonitor that listens for audio data from a Readable stream.
|
|
10
10
|
*/
|
|
@@ -65,6 +65,7 @@ export declare class VoiceManager extends EventEmitter {
|
|
|
65
65
|
private activeAudioPlayer;
|
|
66
66
|
private client;
|
|
67
67
|
private runtime;
|
|
68
|
+
private accountId;
|
|
68
69
|
private streams;
|
|
69
70
|
private connections;
|
|
70
71
|
private activeMonitors;
|
|
@@ -72,10 +73,10 @@ export declare class VoiceManager extends EventEmitter {
|
|
|
72
73
|
/**
|
|
73
74
|
* Constructor for initializing a new instance of the class.
|
|
74
75
|
*
|
|
75
|
-
* @param {
|
|
76
|
+
* @param {IDiscordService} service - The Discord service to use.
|
|
76
77
|
* @param {ICompatRuntime} runtime - The runtime for the agent (with cross-core compat).
|
|
77
78
|
*/
|
|
78
|
-
constructor(service:
|
|
79
|
+
constructor(service: Pick<IDiscordService, "accountId" | "client">, runtime: ICompatRuntime);
|
|
79
80
|
/**
|
|
80
81
|
* Asynchronously retrieves the type of the channel.
|
|
81
82
|
* @param {Channel} channel - The channel to get the type for.
|
|
@@ -87,6 +88,10 @@ export declare class VoiceManager extends EventEmitter {
|
|
|
87
88
|
* @param {boolean} status - The status to set.
|
|
88
89
|
*/
|
|
89
90
|
private setReady;
|
|
91
|
+
/**
|
|
92
|
+
* Tears down active voice state so the Discord connector can unload cleanly.
|
|
93
|
+
*/
|
|
94
|
+
stop(): void;
|
|
90
95
|
/**
|
|
91
96
|
* Check if the object is ready.
|
|
92
97
|
*
|
package/dist/voice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../voice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAY,QAAQ,EAAkB,MAAM,aAAa,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../voice.ts"],"names":[],"mappings":"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"}
|