lunibee 0.2.3 → 0.3.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 +3 -3
- package/dist/builders/attachment.d.ts +8 -4
- package/dist/builders/commands.d.ts +122 -149
- package/dist/builders/components.d.ts +10 -150
- package/dist/builders/embed.d.ts +66 -37
- package/dist/builders/index.d.ts +0 -4
- package/dist/builders/index.js +112 -221
- package/dist/builders/index.js.map +10 -9
- package/dist/collection/cache.d.ts +15 -6
- package/dist/collection/index.d.ts +92 -17
- package/dist/collection/index.js +471 -279
- package/dist/collection/index.js.map +4 -4
- package/dist/core/api.d.ts +130 -0
- package/dist/core/channel-create.d.ts +72 -0
- package/dist/core/commands.d.ts +232 -0
- package/dist/core/events.d.ts +24 -7
- package/dist/core/handles.d.ts +157 -0
- package/dist/core/index.d.ts +68 -4
- package/dist/core/index.js +2639 -493
- package/dist/core/index.js.map +47 -37
- package/dist/core/permissions.d.ts +7 -7
- package/dist/formatters/index.js +9 -5
- package/dist/formatters/index.js.map +3 -3
- package/dist/handlers/index.js +5 -10
- package/dist/handlers/index.js.map +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9527 -7809
- package/dist/index.js.map +63 -53
- package/dist/managers/advanced.d.ts +29 -1
- package/dist/managers/base.d.ts +22 -14
- package/dist/managers/emoji.d.ts +0 -2
- package/dist/managers/guild-resources.d.ts +13 -5
- package/dist/managers/guild.d.ts +40 -4
- package/dist/managers/index.d.ts +21 -13
- package/dist/managers/index.js +969 -386
- package/dist/managers/index.js.map +30 -25
- package/dist/managers/member.d.ts +9 -2
- package/dist/managers/message.d.ts +10 -15
- package/dist/managers/role.d.ts +18 -10
- package/dist/managers/thread.d.ts +68 -0
- package/dist/managers/user.d.ts +18 -0
- package/dist/rest/errors.d.ts +14 -7
- package/dist/rest/index.d.ts +24 -12
- package/dist/rest/index.js +70 -20
- package/dist/rest/index.js.map +9 -9
- package/dist/rest/redis.d.ts +1 -1
- package/dist/rest/route.d.ts +8 -4
- package/dist/rest/routes.d.ts +122 -48
- package/dist/rest/transport.d.ts +10 -5
- package/dist/rest/webhook.d.ts +9 -5
- package/dist/sharding/bus.d.ts +47 -19
- package/dist/sharding/cluster.d.ts +11 -0
- package/dist/sharding/gateway-bot.d.ts +18 -0
- package/dist/sharding/index.d.ts +64 -25
- package/dist/sharding/index.js +439 -124
- package/dist/sharding/index.js.map +19 -14
- package/dist/sharding/supervisor.d.ts +32 -0
- package/dist/sharding/transport.d.ts +45 -0
- package/dist/structures/audit-log.d.ts +99 -2
- package/dist/structures/base.d.ts +40 -23
- package/dist/structures/channels.d.ts +45 -14
- package/dist/structures/index.d.ts +8 -12
- package/dist/structures/index.js +280 -132
- package/dist/structures/index.js.map +21 -15
- package/dist/structures/interactions.d.ts +91 -63
- package/dist/structures/resources.d.ts +99 -52
- package/dist/structures/sticker.d.ts +33 -0
- package/dist/types/channel-kind.d.ts +26 -0
- package/dist/types/gateway.d.ts +24 -12
- package/dist/types/index.d.ts +115 -113
- package/dist/types/index.js +53 -48
- package/dist/types/index.js.map +6 -5
- package/dist/voice/index.d.ts +12 -4
- package/dist/voice/index.js +14 -18
- package/dist/voice/index.js.map +3 -3
- package/dist/ws/decoder.d.ts +6 -2
- package/dist/ws/dispatcher.d.ts +19 -0
- package/dist/ws/index.d.ts +61 -15
- package/dist/ws/index.js +194 -77
- package/dist/ws/index.js.map +13 -11
- package/dist/ws/protocol.d.ts +10 -2
- package/dist/ws/reconnect.d.ts +10 -0
- package/dist/ws/send-budget.d.ts +6 -2
- package/dist/ws/session.d.ts +14 -4
- package/dist/ws/state.d.ts +22 -11
- package/package.json +20 -16
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Manager } from "./base.js";
|
|
2
2
|
import { type REST } from "@lunibee/rest";
|
|
3
|
-
import type { APIEntitlement, APISKU, APISoundboardSound, APISticker, APISubscription } from "@lunibee/types";
|
|
3
|
+
import type { APIEmoji, APIEntitlement, APISKU, APISoundboardSound, APISticker, APISubscription } from "@lunibee/types";
|
|
4
4
|
export type { APIEntitlement, APISKU, APISoundboardSound, APISubscription, } from "@lunibee/types";
|
|
5
5
|
/** Fields for {@link GuildStickerManager.create}. */
|
|
6
6
|
export interface GuildStickerCreateOptions {
|
|
@@ -114,3 +114,31 @@ export declare class MonetizationManager extends Manager<string, APIEntitlement>
|
|
|
114
114
|
/** Fetches one subscription. */
|
|
115
115
|
fetchSubscription(skuId: string, subscriptionId: string): Promise<APISubscription>;
|
|
116
116
|
}
|
|
117
|
+
/** Fields for {@link ApplicationEmojiManager.create}. */
|
|
118
|
+
export interface ApplicationEmojiCreateOptions {
|
|
119
|
+
/** 2-32 characters: letters, digits and underscores. */
|
|
120
|
+
name: string;
|
|
121
|
+
/** The image as a data URI (PNG, JPEG, GIF or WebP, up to 256 KB). */
|
|
122
|
+
image: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The application's own emojis: they belong to the bot, not to a guild, so any
|
|
126
|
+
* server can show them. Cached by emoji ID.
|
|
127
|
+
*/
|
|
128
|
+
export declare class ApplicationEmojiManager extends Manager<string, APIEmoji> {
|
|
129
|
+
#private;
|
|
130
|
+
readonly applicationId: string;
|
|
131
|
+
constructor(rest: REST, applicationId: string);
|
|
132
|
+
/** Fetches every application emoji, replacing the cache. */
|
|
133
|
+
fetchAll(): Promise<APIEmoji[]>;
|
|
134
|
+
/** Fetches one application emoji. */
|
|
135
|
+
fetch(emojiId: string): Promise<APIEmoji>;
|
|
136
|
+
/** Uploads a new application emoji. */
|
|
137
|
+
create(options: ApplicationEmojiCreateOptions): Promise<APIEmoji>;
|
|
138
|
+
/** Renames an application emoji. */
|
|
139
|
+
edit(emojiId: string, options: {
|
|
140
|
+
name: string;
|
|
141
|
+
}): Promise<APIEmoji>;
|
|
142
|
+
/** Deletes an application emoji. */
|
|
143
|
+
remove(emojiId: string): Promise<void>;
|
|
144
|
+
}
|
package/dist/managers/base.d.ts
CHANGED
|
@@ -6,9 +6,12 @@ export declare function splitReason<T extends {
|
|
|
6
6
|
/** Generic cache manager. @typeParam K Cache key type. @typeParam V Cached value type. */
|
|
7
7
|
export declare class Manager<K, V> {
|
|
8
8
|
#private;
|
|
9
|
-
/** Authoritative resource state. Entries never expire: see {@link Manager.set}. */
|
|
10
|
-
|
|
11
|
-
/**
|
|
9
|
+
/** Authoritative resource state. Entries never expire: see {@link Manager.set}. */
|
|
10
|
+
readonly cache: Collection<K, V>;
|
|
11
|
+
/** Gets a cached value. @param id Cache key. @returns Cached value. */
|
|
12
|
+
get(id: K): V | undefined;
|
|
13
|
+
/** Checks whether a value is cached. @param id Cache key. @returns True when cached. */
|
|
14
|
+
has(id: K): boolean;
|
|
12
15
|
/**
|
|
13
16
|
* Runs a REST load for one key. Concurrent loads of that key share a
|
|
14
17
|
* single request. If the key is written (e.g. by a Gateway update) or
|
|
@@ -18,17 +21,22 @@ export declare class Manager<K, V> {
|
|
|
18
21
|
* @param store Stores a fresh result and returns the canonical instance.
|
|
19
22
|
*/
|
|
20
23
|
protected fetchOnce(id: K, load: () => Promise<V>, store?: (value: V) => V): Promise<V>;
|
|
21
|
-
/** Stores a resource with `setWithoutTTL()`, so it leaves only on an explicit delete (e.g. a Gateway `*_DELETE`), never through TTL. @param id Cache key. @param value Value. @returns This manager. */
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
/** Stores a resource with `setWithoutTTL()`, so it leaves only on an explicit delete (e.g. a Gateway `*_DELETE`), never through TTL. @param id Cache key. @param value Value. @returns This manager. */
|
|
25
|
+
set(id: K, value: V): this;
|
|
26
|
+
/** Deletes a cached value. @param id Cache key. @returns True when deleted. */
|
|
27
|
+
delete(id: K): boolean;
|
|
28
|
+
/** Clears the cache. @returns Nothing. */
|
|
29
|
+
clear(): void;
|
|
30
|
+
/** Gets cache size. @returns Number of cached values. */
|
|
31
|
+
get size(): number;
|
|
32
|
+
/** Gets the first cached value. @returns First value. */
|
|
33
|
+
first(): V | undefined;
|
|
34
|
+
/** Returns cached values. @returns Array of values. */
|
|
35
|
+
values(): V[];
|
|
36
|
+
/** Finds a cached value. @param predicate Predicate. @returns Matching value. */
|
|
37
|
+
find(predicate: (value: V, key: K) => boolean): V | undefined;
|
|
38
|
+
/** Iterates cached entries. @returns Cache iterator. */
|
|
39
|
+
[Symbol.iterator](): IterableIterator<[K, V]>;
|
|
32
40
|
}
|
|
33
41
|
/** Generic REST-backed resource manager. @typeParam K Resource key type. @typeParam V Resource type. */
|
|
34
42
|
export declare class ResourceManager<K, V> extends Manager<K, V> {
|
package/dist/managers/emoji.d.ts
CHANGED
|
@@ -35,8 +35,6 @@ export declare class EmojiManager extends Manager<string, Emoji> {
|
|
|
35
35
|
edit(emojiId: string, options: EmojiEditOptions): Promise<Emoji>;
|
|
36
36
|
/** Deletes a custom emoji. @param reason Audit-log reason. */
|
|
37
37
|
remove(emojiId: string, reason?: string): Promise<void>;
|
|
38
|
-
/** @deprecated Use {@link EmojiManager.remove}, which also takes an audit-log reason. Removed in 0.3.0. */
|
|
39
|
-
deleteEmoji(emojiId: string): Promise<void>;
|
|
40
38
|
/** Upserts an emoji into the manager cache. Custom emojis are keyed by their
|
|
41
39
|
* snowflake ID; unicode emojis (no ID) are keyed by `unicode:${name}` so repeated
|
|
42
40
|
* upserts reuse the same cached instance instead of allocating a new one each call. */
|
|
@@ -28,6 +28,14 @@ export declare class GuildBanManager extends Manager<string, APIBan> {
|
|
|
28
28
|
}): Promise<APIBan[]>;
|
|
29
29
|
/** Bans a user. */
|
|
30
30
|
create(userId: string, options?: GuildBanCreateOptions): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Bans up to 200 users at once. Users that cannot be banned (already
|
|
33
|
+
* banned, higher role, owner) come back in `failed`, not as an error.
|
|
34
|
+
*/
|
|
35
|
+
bulk(userIds: readonly string[], options?: GuildBanCreateOptions): Promise<{
|
|
36
|
+
banned: string[];
|
|
37
|
+
failed: string[];
|
|
38
|
+
}>;
|
|
31
39
|
/** Lifts a ban. */
|
|
32
40
|
remove(userId: string, reason?: string): Promise<void>;
|
|
33
41
|
}
|
|
@@ -50,9 +58,9 @@ export declare class GuildScheduledEventManager extends Manager<string, APIGuild
|
|
|
50
58
|
withUserCount?: boolean;
|
|
51
59
|
}): Promise<APIGuildScheduledEvent[]>;
|
|
52
60
|
/** Creates an event. */
|
|
53
|
-
create(options: GuildScheduledEventOptions
|
|
61
|
+
create(options: GuildScheduledEventOptions): Promise<APIGuildScheduledEvent>;
|
|
54
62
|
/** Edits an event. */
|
|
55
|
-
edit(eventId: string, options: GuildScheduledEventOptions
|
|
63
|
+
edit(eventId: string, options: GuildScheduledEventOptions): Promise<APIGuildScheduledEvent>;
|
|
56
64
|
/** Deletes an event. @param reason Audit-log reason. */
|
|
57
65
|
remove(eventId: string, reason?: string): Promise<void>;
|
|
58
66
|
/** Fetches users subscribed to an event (`limit` 1-100). */
|
|
@@ -80,7 +88,7 @@ export declare class StageInstanceManager extends Manager<string, APIStageInstan
|
|
|
80
88
|
#private;
|
|
81
89
|
constructor(rest: REST);
|
|
82
90
|
/** Starts a stage instance in a stage channel. */
|
|
83
|
-
create(channelId: string, options: StageInstanceCreateOptions
|
|
91
|
+
create(channelId: string, options: StageInstanceCreateOptions): Promise<APIStageInstance>;
|
|
84
92
|
/** Fetches the stage instance of a stage channel. */
|
|
85
93
|
fetch(channelId: string): Promise<APIStageInstance>;
|
|
86
94
|
/** Edits a stage instance's topic or privacy level. */
|
|
@@ -88,7 +96,7 @@ export declare class StageInstanceManager extends Manager<string, APIStageInstan
|
|
|
88
96
|
topic?: string;
|
|
89
97
|
privacyLevel?: number;
|
|
90
98
|
reason?: string;
|
|
91
|
-
}
|
|
99
|
+
}): Promise<APIStageInstance>;
|
|
92
100
|
/** Ends a stage instance. */
|
|
93
101
|
remove(channelId: string, reason?: string): Promise<void>;
|
|
94
102
|
}
|
|
@@ -131,7 +139,7 @@ export declare class PermissionOverwriteManager {
|
|
|
131
139
|
reason?: string;
|
|
132
140
|
}): Promise<void>;
|
|
133
141
|
/** Creates or replaces the overwrite for a role or member. */
|
|
134
|
-
edit(overwriteId: string, options: PermissionOverwriteOptions
|
|
142
|
+
edit(overwriteId: string, options: PermissionOverwriteOptions): Promise<void>;
|
|
135
143
|
/** Deletes the overwrite for a role or member. */
|
|
136
144
|
remove(overwriteId: string, reason?: string): Promise<void>;
|
|
137
145
|
}
|
package/dist/managers/guild.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { GuildSoundboardManager, GuildStickerManager } from "./advanced.js";
|
|
|
4
4
|
import { GuildMemberManager } from "./member.js";
|
|
5
5
|
import { RoleManager } from "./role.js";
|
|
6
6
|
import { GuildBanManager, GuildScheduledEventManager } from "./guild-resources.js";
|
|
7
|
-
import { Guild, AutoModerationRule, type ResourceContext } from "@lunibee/structures";
|
|
7
|
+
import { AuditLog, Guild, AutoModerationRule, type ResourceContext } from "@lunibee/structures";
|
|
8
8
|
import { type REST } from "@lunibee/rest";
|
|
9
|
-
import { type APIChannel, type APIGuildPreview, type APIInvite, type APIWebhook, type APIAutoModerationRule, type APIInviteCreate, type APIVoiceState } from "@lunibee/types";
|
|
9
|
+
import { type APIChannel, type APIGuildPreview, type APIInvite, type APIWebhook, type APIAutoModerationRule, type APIInviteCreate, type APIVoiceState, type APIPresenceUpdate, type APIWelcomeScreen, type APIWelcomeScreenChannel, type APIGuildOnboarding, type APIOnboardingPrompt } from "@lunibee/types";
|
|
10
10
|
type GuildData = ConstructorParameters<typeof Guild>[0];
|
|
11
11
|
export interface GuildCreateOptions extends Record<string, unknown> {
|
|
12
12
|
name: string;
|
|
@@ -36,6 +36,8 @@ export declare class GuildManager extends ResourceManager<string, Guild> {
|
|
|
36
36
|
soundboard(guildId: string): GuildSoundboardManager;
|
|
37
37
|
/** Voice states by user ID for a guild, kept in sync by `GUILD_CREATE` and `VOICE_STATE_UPDATE`. */
|
|
38
38
|
voiceStates(guildId: string): Manager<string, APIVoiceState>;
|
|
39
|
+
/** Latest presence by user ID for a guild; filled only when `cache.presences` is on. */
|
|
40
|
+
presences(guildId: string): Manager<string, APIPresenceUpdate>;
|
|
39
41
|
/** Auto-moderation rules by ID for a guild, kept in sync by `AUTO_MODERATION_RULE_*` events. */
|
|
40
42
|
autoModerationRules(guildId: string): Manager<string, APIAutoModerationRule>;
|
|
41
43
|
/** Invites by code for a guild, kept in sync by `INVITE_CREATE` / `INVITE_DELETE`. */
|
|
@@ -50,10 +52,38 @@ export declare class GuildManager extends ResourceManager<string, Guild> {
|
|
|
50
52
|
edit(id: string, options: GuildEditOptions): Promise<Guild>;
|
|
51
53
|
/** Deletes a guild permanently. The bot must own it. */
|
|
52
54
|
remove(id: string): Promise<void>;
|
|
53
|
-
/** @deprecated Use {@link GuildManager.remove}. Removed in 0.3.0. */
|
|
54
|
-
deleteGuild(id: string): Promise<void>;
|
|
55
55
|
/** Fetches a guild's preview (even if the bot is not in the guild). */
|
|
56
56
|
fetchPreview(id: string): Promise<APIGuildPreview>;
|
|
57
|
+
/** Fetches the welcome screen of a community guild. */
|
|
58
|
+
fetchWelcomeScreen(id: string): Promise<APIWelcomeScreen>;
|
|
59
|
+
/** Edits the welcome screen (needs Manage Guild and the Community feature). */
|
|
60
|
+
editWelcomeScreen(id: string, options: {
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
description?: string | null;
|
|
63
|
+
welcomeChannels?: APIWelcomeScreenChannel[] | null;
|
|
64
|
+
reason?: string;
|
|
65
|
+
}): Promise<APIWelcomeScreen>;
|
|
66
|
+
/** Fetches a guild's onboarding: prompts, default channels and mode. */
|
|
67
|
+
fetchOnboarding(id: string): Promise<APIGuildOnboarding>;
|
|
68
|
+
/** Replaces parts of a guild's onboarding (needs Manage Guild and Manage Roles). */
|
|
69
|
+
editOnboarding(id: string, options: {
|
|
70
|
+
prompts?: APIOnboardingPrompt[];
|
|
71
|
+
defaultChannelIds?: string[];
|
|
72
|
+
enabled?: boolean;
|
|
73
|
+
mode?: number;
|
|
74
|
+
reason?: string;
|
|
75
|
+
}): Promise<APIGuildOnboarding>;
|
|
76
|
+
/**
|
|
77
|
+
* Edits a voice state in a stage channel: unsuppress the bot to speak, or
|
|
78
|
+
* move a speaker back to the audience. `userId` may be `"@me"`.
|
|
79
|
+
*/
|
|
80
|
+
editVoiceState(id: string, userId: string, options: {
|
|
81
|
+
channelId: string;
|
|
82
|
+
suppress?: boolean;
|
|
83
|
+
requestToSpeakTimestamp?: string | null;
|
|
84
|
+
}): Promise<void>;
|
|
85
|
+
/** Removes an integration (and the bot or role it created) from a guild. */
|
|
86
|
+
removeIntegration(id: string, integrationId: string, reason?: string): Promise<void>;
|
|
57
87
|
/** Fetches all active threads in the guild. */
|
|
58
88
|
fetchActiveThreads(id: string): Promise<{
|
|
59
89
|
threads: APIChannel[];
|
|
@@ -76,6 +106,12 @@ export declare class GuildManager extends ResourceManager<string, Guild> {
|
|
|
76
106
|
after?: string;
|
|
77
107
|
limit?: number;
|
|
78
108
|
}): Promise<AuditLogResponse>;
|
|
109
|
+
/**
|
|
110
|
+
* Fetches the audit log as an {@link AuditLog}: typed `info` per action
|
|
111
|
+
* type, and `find()` / `filter()` by type, target, user and time.
|
|
112
|
+
* @example const kick = (await guilds.fetchAuditLogEntries(id, { actionType: AuditLogEvent.MemberKick })).find({ targetId: userId, since: Date.now() - 60_000 });
|
|
113
|
+
*/
|
|
114
|
+
fetchAuditLogEntries(guildId: string, options?: Parameters<GuildManager["fetchAuditLog"]>[1]): Promise<AuditLog>;
|
|
79
115
|
/**
|
|
80
116
|
* Fetches members from a guild (paginated).
|
|
81
117
|
* @param guildId Guild identifier.
|
package/dist/managers/index.d.ts
CHANGED
|
@@ -3,17 +3,15 @@ export { Manager, ResourceManager } from "./base.js";
|
|
|
3
3
|
/** Discord.js-familiar alias for {@link ResourceManager}. */
|
|
4
4
|
export { ResourceManager as CachedManager } from "./base.js";
|
|
5
5
|
import { REST } from "@lunibee/rest";
|
|
6
|
+
import type { AllowedMentions, APIForumTag, ForumTagInput, MessageCreateOptions, MessageEditOptions } from "@lunibee/types";
|
|
6
7
|
import { Channel, Message, User } from "@lunibee/structures";
|
|
7
|
-
import { MessageManager, type MessageCacheOptions
|
|
8
|
+
import { MessageManager, type MessageCacheOptions } from "./message.js";
|
|
8
9
|
import { ThreadManager } from "./thread.js";
|
|
9
10
|
export { UserManager } from "./user.js";
|
|
10
11
|
export { GuildManager } from "./guild.js";
|
|
11
12
|
export type { AuditLogEntry, AuditLogResponse } from "./guild.js";
|
|
12
13
|
export { AuditLogEvent } from "./guild.js";
|
|
13
|
-
export type MessageCreateOptions
|
|
14
|
-
export type MessageEditOptions = Record<string, unknown> & {
|
|
15
|
-
content?: string;
|
|
16
|
-
};
|
|
14
|
+
export type { MessageCreateOptions, MessageEditOptions } from "./message.js";
|
|
17
15
|
export interface MessageFetchOptions {
|
|
18
16
|
cache?: boolean;
|
|
19
17
|
}
|
|
@@ -53,7 +51,7 @@ export declare class ChannelManager extends Manager<string, Channel> {
|
|
|
53
51
|
*/
|
|
54
52
|
constructor(rest: REST, options?: {
|
|
55
53
|
messageCache?: MessageCacheOptions;
|
|
56
|
-
allowedMentions?:
|
|
54
|
+
allowedMentions?: AllowedMentions;
|
|
57
55
|
});
|
|
58
56
|
messages(channelId: string): MessageManager;
|
|
59
57
|
/** Permission overwrite manager for a channel. */
|
|
@@ -84,8 +82,6 @@ export declare class ChannelManager extends Manager<string, Channel> {
|
|
|
84
82
|
edit(channelId: string, options: ChannelEditOptions): Promise<Channel>;
|
|
85
83
|
/** Deletes a channel (or closes a DM). @param reason Audit-log reason. */
|
|
86
84
|
remove(channelId: string, reason?: string): Promise<void>;
|
|
87
|
-
/** @deprecated Use {@link ChannelManager.remove}, which also takes an audit-log reason. Removed in 0.3.0. */
|
|
88
|
-
deleteChannel(channelId: string): Promise<void>;
|
|
89
85
|
/** Evicts a channel, dropping its per-channel message manager with it.
|
|
90
86
|
* Overrides {@link Manager.delete} so cache eviction driven by a Gateway
|
|
91
87
|
* `CHANNEL_DELETE`/`THREAD_DELETE` — which calls `delete` rather than
|
|
@@ -93,8 +89,6 @@ export declare class ChannelManager extends Manager<string, Channel> {
|
|
|
93
89
|
* messages too, instead of retaining them for the client's lifetime. */
|
|
94
90
|
delete(channelId: string): boolean;
|
|
95
91
|
send(channelId: string, options: MessageCreateOptions): Promise<Message>;
|
|
96
|
-
/** @deprecated Use {@link ChannelManager.send}. Removed in 0.3.0. */
|
|
97
|
-
sendMessage(channelId: string, options: MessageCreateOptions): Promise<Message>;
|
|
98
92
|
fetchMessage(channelId: string, messageId: string, options?: MessageFetchOptions): Promise<Message>;
|
|
99
93
|
fetchMessages(channelId: string, query: MessageQueryOptions | Iterable<string>): Promise<Message[]>;
|
|
100
94
|
upsertMessage(data: ConstructorParameters<typeof Message>[0]): Message;
|
|
@@ -124,6 +118,22 @@ export declare class ChannelManager extends Manager<string, Channel> {
|
|
|
124
118
|
removeAllReactions(channelId: string, messageId: string): Promise<void>;
|
|
125
119
|
/** Fetches the newest pinned messages (one page, up to 50, like the endpoint it replaces). */
|
|
126
120
|
fetchPinnedMessages(channelId: string): Promise<Message[]>;
|
|
121
|
+
/** Fetches pinned messages a page at a time, newest first (`limit` 1-50, `before` an ISO timestamp from the previous page). */
|
|
122
|
+
fetchPins(channelId: string, options?: {
|
|
123
|
+
before?: string;
|
|
124
|
+
limit?: number;
|
|
125
|
+
}): Promise<{
|
|
126
|
+
messages: Message[];
|
|
127
|
+
hasMore: boolean;
|
|
128
|
+
}>;
|
|
129
|
+
/** Shows "the bot is typing…" for about ten seconds, or until it sends a message. */
|
|
130
|
+
triggerTyping(channelId: string): Promise<void>;
|
|
131
|
+
/** Adds a tag to a forum or media channel and returns the channel's tags. @param reason Audit-log reason. */
|
|
132
|
+
createForumTag(channelId: string, tag: ForumTagInput, reason?: string): Promise<APIForumTag[]>;
|
|
133
|
+
/** Changes a forum tag and returns the channel's tags. */
|
|
134
|
+
editForumTag(channelId: string, tagId: string, changes: Partial<ForumTagInput>, reason?: string): Promise<APIForumTag[]>;
|
|
135
|
+
/** Removes a forum tag and returns the channel's remaining tags. */
|
|
136
|
+
removeForumTag(channelId: string, tagId: string, reason?: string): Promise<APIForumTag[]>;
|
|
127
137
|
/** Pins a message. @param reason Audit-log reason. */
|
|
128
138
|
pinMessage(channelId: string, messageId: string, reason?: string): Promise<void>;
|
|
129
139
|
/** Unpins a message. @param reason Audit-log reason. */
|
|
@@ -147,8 +157,6 @@ export declare class ChannelManager extends Manager<string, Channel> {
|
|
|
147
157
|
after?: string;
|
|
148
158
|
hasMore: boolean;
|
|
149
159
|
}>;
|
|
150
|
-
/** @deprecated Use {@link ChannelManager.bulkDeleteMessages}, which also takes an audit-log reason. Removed in 0.3.0. */
|
|
151
|
-
bulkDelete(channelId: string, messageIds: string[]): Promise<void>;
|
|
152
160
|
clear(): void;
|
|
153
161
|
}
|
|
154
162
|
export type CreateMessageOptions = MessageCreateOptions;
|
|
@@ -159,4 +167,4 @@ export { GuildMemberManager, type MemberEditOptions, type BanOptions, } from "./
|
|
|
159
167
|
export { ApplicationCommandManager } from "./application.js";
|
|
160
168
|
export { GuildBanManager, GuildScheduledEventManager, StageInstanceManager, PermissionOverwriteManager, type APIBan, type GuildBanCreateOptions, type GuildScheduledEventOptions, type StageInstanceCreateOptions, type PermissionOverwriteOptions, type PermissionOverwriteTargetType, type PermissionOverwriteUpdate, } from "./guild-resources.js";
|
|
161
169
|
export { EmojiManager, type EmojiCreateOptions, type EmojiEditOptions, } from "./emoji.js";
|
|
162
|
-
export { GuildStickerManager, GuildSoundboardManager, MonetizationManager, type APIEntitlement, type APISKU, type APISoundboardSound, type APISubscription, type EntitlementQuery, type GuildStickerCreateOptions, type SoundboardSoundCreateOptions, } from "./advanced.js";
|
|
170
|
+
export { GuildStickerManager, GuildSoundboardManager, MonetizationManager, ApplicationEmojiManager, type APIEntitlement, type APISKU, type APISoundboardSound, type APISubscription, type EntitlementQuery, type GuildStickerCreateOptions, type SoundboardSoundCreateOptions, } from "./advanced.js";
|