baff.js 0.0.0-stage → 0.1.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/CHANGELOG.md +25 -0
- package/LICENSE +7 -0
- package/README.md +244 -3
- package/dist/cjs/builders/EmbedBuilder.d.ts +51 -0
- package/dist/cjs/builders/EmbedBuilder.js +150 -0
- package/dist/cjs/builders/SlashCommandBuilder.d.ts +69 -0
- package/dist/cjs/builders/SlashCommandBuilder.js +185 -0
- package/dist/cjs/builders/components/ActionRowBuilder.d.ts +14 -0
- package/dist/cjs/builders/components/ActionRowBuilder.js +53 -0
- package/dist/cjs/builders/components/ButtonBuilder.d.ts +19 -0
- package/dist/cjs/builders/components/ButtonBuilder.js +69 -0
- package/dist/cjs/builders/components/LayoutBuilders.d.ts +63 -0
- package/dist/cjs/builders/components/LayoutBuilders.js +179 -0
- package/dist/cjs/builders/components/ModalBuilder.d.ts +36 -0
- package/dist/cjs/builders/components/ModalBuilder.js +118 -0
- package/dist/cjs/builders/components/SelectMenuBuilder.d.ts +80 -0
- package/dist/cjs/builders/components/SelectMenuBuilder.js +192 -0
- package/dist/cjs/builders/components/shared.d.ts +16 -0
- package/dist/cjs/builders/components/shared.js +32 -0
- package/dist/cjs/builders/messagePayload.d.ts +35 -0
- package/dist/cjs/builders/messagePayload.js +88 -0
- package/dist/cjs/builders/validate.d.ts +12 -0
- package/dist/cjs/builders/validate.js +54 -0
- package/dist/cjs/client/Client.d.ts +63 -0
- package/dist/cjs/client/Client.js +152 -0
- package/dist/cjs/client/dispatch.d.ts +2 -0
- package/dist/cjs/client/dispatch.js +224 -0
- package/dist/cjs/client/events.d.ts +129 -0
- package/dist/cjs/client/events.js +2 -0
- package/dist/cjs/collectors/Collector.d.ts +37 -0
- package/dist/cjs/collectors/Collector.js +84 -0
- package/dist/cjs/collectors/InteractionCollector.d.ts +21 -0
- package/dist/cjs/collectors/InteractionCollector.js +44 -0
- package/dist/cjs/collectors/MessageCollector.d.ts +14 -0
- package/dist/cjs/collectors/MessageCollector.js +23 -0
- package/dist/cjs/errors/BaffError.d.ts +26 -0
- package/dist/cjs/errors/BaffError.js +39 -0
- package/dist/cjs/gateway/Gateway.d.ts +53 -0
- package/dist/cjs/gateway/Gateway.js +128 -0
- package/dist/cjs/http/handler.d.ts +11 -0
- package/dist/cjs/http/handler.js +72 -0
- package/dist/cjs/http/verify.d.ts +11 -0
- package/dist/cjs/http/verify.js +28 -0
- package/dist/cjs/index.d.ts +51 -0
- package/dist/cjs/index.js +185 -0
- package/dist/cjs/managers/CachedManager.d.ts +16 -0
- package/dist/cjs/managers/CachedManager.js +18 -0
- package/dist/cjs/managers/ChannelManager.d.ts +23 -0
- package/dist/cjs/managers/ChannelManager.js +85 -0
- package/dist/cjs/managers/CommandManager.d.ts +32 -0
- package/dist/cjs/managers/CommandManager.js +72 -0
- package/dist/cjs/managers/EventManager.d.ts +15 -0
- package/dist/cjs/managers/EventManager.js +36 -0
- package/dist/cjs/managers/ExpressionManagers.d.ts +36 -0
- package/dist/cjs/managers/ExpressionManagers.js +73 -0
- package/dist/cjs/managers/InviteManager.d.ts +17 -0
- package/dist/cjs/managers/InviteManager.js +26 -0
- package/dist/cjs/managers/MemberManager.d.ts +31 -0
- package/dist/cjs/managers/MemberManager.js +62 -0
- package/dist/cjs/managers/MessageManager.d.ts +32 -0
- package/dist/cjs/managers/MessageManager.js +79 -0
- package/dist/cjs/managers/RoleManager.d.ts +22 -0
- package/dist/cjs/managers/RoleManager.js +73 -0
- package/dist/cjs/managers/ServerChannelManager.d.ts +20 -0
- package/dist/cjs/managers/ServerChannelManager.js +30 -0
- package/dist/cjs/managers/ServerManager.d.ts +12 -0
- package/dist/cjs/managers/ServerManager.js +62 -0
- package/dist/cjs/managers/ThreadManager.d.ts +12 -0
- package/dist/cjs/managers/ThreadManager.js +20 -0
- package/dist/cjs/managers/UserManager.d.ts +11 -0
- package/dist/cjs/managers/UserManager.js +38 -0
- package/dist/cjs/managers/VoiceManager.d.ts +8 -0
- package/dist/cjs/managers/VoiceManager.js +17 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/rest/REST.d.ts +58 -0
- package/dist/cjs/rest/REST.js +193 -0
- package/dist/cjs/rest/Routes.d.ts +54 -0
- package/dist/cjs/rest/Routes.js +58 -0
- package/dist/cjs/rest/files.d.ts +19 -0
- package/dist/cjs/rest/files.js +37 -0
- package/dist/cjs/structures/Base.d.ts +13 -0
- package/dist/cjs/structures/Base.js +30 -0
- package/dist/cjs/structures/Message.d.ts +91 -0
- package/dist/cjs/structures/Message.js +200 -0
- package/dist/cjs/structures/Role.d.ts +34 -0
- package/dist/cjs/structures/Role.js +84 -0
- package/dist/cjs/structures/ScheduledEvent.d.ts +37 -0
- package/dist/cjs/structures/ScheduledEvent.js +73 -0
- package/dist/cjs/structures/Server.d.ts +68 -0
- package/dist/cjs/structures/Server.js +124 -0
- package/dist/cjs/structures/ServerAssets.d.ts +48 -0
- package/dist/cjs/structures/ServerAssets.js +104 -0
- package/dist/cjs/structures/ServerMember.d.ts +47 -0
- package/dist/cjs/structures/ServerMember.js +138 -0
- package/dist/cjs/structures/User.d.ts +35 -0
- package/dist/cjs/structures/User.js +87 -0
- package/dist/cjs/structures/Webhook.d.ts +30 -0
- package/dist/cjs/structures/Webhook.js +68 -0
- package/dist/cjs/structures/channels/BaseChannel.d.ts +49 -0
- package/dist/cjs/structures/channels/BaseChannel.js +81 -0
- package/dist/cjs/structures/channels/DMChannel.d.ts +9 -0
- package/dist/cjs/structures/channels/DMChannel.js +21 -0
- package/dist/cjs/structures/channels/ServerChannels.d.ts +57 -0
- package/dist/cjs/structures/channels/ServerChannels.js +138 -0
- package/dist/cjs/structures/channels/TextBasedChannel.d.ts +25 -0
- package/dist/cjs/structures/channels/TextBasedChannel.js +53 -0
- package/dist/cjs/structures/interactions/BaseInteraction.d.ts +74 -0
- package/dist/cjs/structures/interactions/BaseInteraction.js +221 -0
- package/dist/cjs/structures/interactions/CommandInteraction.d.ts +44 -0
- package/dist/cjs/structures/interactions/CommandInteraction.js +109 -0
- package/dist/cjs/structures/interactions/ComponentInteraction.d.ts +44 -0
- package/dist/cjs/structures/interactions/ComponentInteraction.js +64 -0
- package/dist/cjs/structures/interactions/ModalSubmitInteraction.d.ts +29 -0
- package/dist/cjs/structures/interactions/ModalSubmitInteraction.js +42 -0
- package/dist/cjs/structures/interactions/createInteraction.d.ts +4 -0
- package/dist/cjs/structures/interactions/createInteraction.js +34 -0
- package/dist/cjs/types.d.ts +369 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/util/Collection.d.ts +32 -0
- package/dist/cjs/util/Collection.js +145 -0
- package/dist/cjs/util/Permissions.d.ts +87 -0
- package/dist/cjs/util/Permissions.js +115 -0
- package/dist/cjs/util/Snowflake.d.ts +20 -0
- package/dist/cjs/util/Snowflake.js +40 -0
- package/dist/cjs/util/TypedEmitter.d.ts +17 -0
- package/dist/cjs/util/TypedEmitter.js +5 -0
- package/dist/cjs/util/constants.d.ts +78 -0
- package/dist/cjs/util/constants.js +81 -0
- package/dist/cjs/util/emoji.d.ts +8 -0
- package/dist/cjs/util/emoji.js +10 -0
- package/dist/cjs/util/formatters.d.ts +29 -0
- package/dist/cjs/util/formatters.js +55 -0
- package/dist/esm/builders/EmbedBuilder.d.ts +51 -0
- package/dist/esm/builders/EmbedBuilder.js +145 -0
- package/dist/esm/builders/SlashCommandBuilder.d.ts +69 -0
- package/dist/esm/builders/SlashCommandBuilder.js +170 -0
- package/dist/esm/builders/components/ActionRowBuilder.d.ts +14 -0
- package/dist/esm/builders/components/ActionRowBuilder.js +49 -0
- package/dist/esm/builders/components/ButtonBuilder.d.ts +19 -0
- package/dist/esm/builders/components/ButtonBuilder.js +65 -0
- package/dist/esm/builders/components/LayoutBuilders.d.ts +63 -0
- package/dist/esm/builders/components/LayoutBuilders.js +169 -0
- package/dist/esm/builders/components/ModalBuilder.d.ts +36 -0
- package/dist/esm/builders/components/ModalBuilder.js +113 -0
- package/dist/esm/builders/components/SelectMenuBuilder.d.ts +80 -0
- package/dist/esm/builders/components/SelectMenuBuilder.js +183 -0
- package/dist/esm/builders/components/shared.d.ts +16 -0
- package/dist/esm/builders/components/shared.js +26 -0
- package/dist/esm/builders/messagePayload.d.ts +35 -0
- package/dist/esm/builders/messagePayload.js +83 -0
- package/dist/esm/builders/validate.d.ts +12 -0
- package/dist/esm/builders/validate.js +46 -0
- package/dist/esm/client/Client.d.ts +63 -0
- package/dist/esm/client/Client.js +147 -0
- package/dist/esm/client/dispatch.d.ts +2 -0
- package/dist/esm/client/dispatch.js +221 -0
- package/dist/esm/client/events.d.ts +129 -0
- package/dist/esm/client/events.js +1 -0
- package/dist/esm/collectors/Collector.d.ts +37 -0
- package/dist/esm/collectors/Collector.js +78 -0
- package/dist/esm/collectors/InteractionCollector.d.ts +21 -0
- package/dist/esm/collectors/InteractionCollector.js +40 -0
- package/dist/esm/collectors/MessageCollector.d.ts +14 -0
- package/dist/esm/collectors/MessageCollector.js +19 -0
- package/dist/esm/errors/BaffError.d.ts +26 -0
- package/dist/esm/errors/BaffError.js +33 -0
- package/dist/esm/gateway/Gateway.d.ts +53 -0
- package/dist/esm/gateway/Gateway.js +124 -0
- package/dist/esm/http/handler.d.ts +11 -0
- package/dist/esm/http/handler.js +68 -0
- package/dist/esm/http/verify.d.ts +11 -0
- package/dist/esm/http/verify.js +22 -0
- package/dist/esm/index.d.ts +51 -0
- package/dist/esm/index.js +49 -0
- package/dist/esm/managers/CachedManager.d.ts +16 -0
- package/dist/esm/managers/CachedManager.js +14 -0
- package/dist/esm/managers/ChannelManager.d.ts +23 -0
- package/dist/esm/managers/ChannelManager.js +81 -0
- package/dist/esm/managers/CommandManager.d.ts +32 -0
- package/dist/esm/managers/CommandManager.js +67 -0
- package/dist/esm/managers/EventManager.d.ts +15 -0
- package/dist/esm/managers/EventManager.js +32 -0
- package/dist/esm/managers/ExpressionManagers.d.ts +36 -0
- package/dist/esm/managers/ExpressionManagers.js +68 -0
- package/dist/esm/managers/InviteManager.d.ts +17 -0
- package/dist/esm/managers/InviteManager.js +22 -0
- package/dist/esm/managers/MemberManager.d.ts +31 -0
- package/dist/esm/managers/MemberManager.js +58 -0
- package/dist/esm/managers/MessageManager.d.ts +32 -0
- package/dist/esm/managers/MessageManager.js +75 -0
- package/dist/esm/managers/RoleManager.d.ts +22 -0
- package/dist/esm/managers/RoleManager.js +69 -0
- package/dist/esm/managers/ServerChannelManager.d.ts +20 -0
- package/dist/esm/managers/ServerChannelManager.js +26 -0
- package/dist/esm/managers/ServerManager.d.ts +12 -0
- package/dist/esm/managers/ServerManager.js +58 -0
- package/dist/esm/managers/ThreadManager.d.ts +12 -0
- package/dist/esm/managers/ThreadManager.js +16 -0
- package/dist/esm/managers/UserManager.d.ts +11 -0
- package/dist/esm/managers/UserManager.js +34 -0
- package/dist/esm/managers/VoiceManager.d.ts +8 -0
- package/dist/esm/managers/VoiceManager.js +13 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/rest/REST.d.ts +58 -0
- package/dist/esm/rest/REST.js +188 -0
- package/dist/esm/rest/Routes.d.ts +54 -0
- package/dist/esm/rest/Routes.js +55 -0
- package/dist/esm/rest/files.d.ts +19 -0
- package/dist/esm/rest/files.js +31 -0
- package/dist/esm/structures/Base.d.ts +13 -0
- package/dist/esm/structures/Base.js +25 -0
- package/dist/esm/structures/Message.d.ts +91 -0
- package/dist/esm/structures/Message.js +194 -0
- package/dist/esm/structures/Role.d.ts +34 -0
- package/dist/esm/structures/Role.js +79 -0
- package/dist/esm/structures/ScheduledEvent.d.ts +37 -0
- package/dist/esm/structures/ScheduledEvent.js +68 -0
- package/dist/esm/structures/Server.d.ts +68 -0
- package/dist/esm/structures/Server.js +120 -0
- package/dist/esm/structures/ServerAssets.d.ts +48 -0
- package/dist/esm/structures/ServerAssets.js +98 -0
- package/dist/esm/structures/ServerMember.d.ts +47 -0
- package/dist/esm/structures/ServerMember.js +133 -0
- package/dist/esm/structures/User.d.ts +35 -0
- package/dist/esm/structures/User.js +82 -0
- package/dist/esm/structures/Webhook.d.ts +30 -0
- package/dist/esm/structures/Webhook.js +63 -0
- package/dist/esm/structures/channels/BaseChannel.d.ts +49 -0
- package/dist/esm/structures/channels/BaseChannel.js +77 -0
- package/dist/esm/structures/channels/DMChannel.d.ts +9 -0
- package/dist/esm/structures/channels/DMChannel.js +17 -0
- package/dist/esm/structures/channels/ServerChannels.d.ts +57 -0
- package/dist/esm/structures/channels/ServerChannels.js +129 -0
- package/dist/esm/structures/channels/TextBasedChannel.d.ts +25 -0
- package/dist/esm/structures/channels/TextBasedChannel.js +49 -0
- package/dist/esm/structures/interactions/BaseInteraction.d.ts +74 -0
- package/dist/esm/structures/interactions/BaseInteraction.js +217 -0
- package/dist/esm/structures/interactions/CommandInteraction.d.ts +44 -0
- package/dist/esm/structures/interactions/CommandInteraction.js +104 -0
- package/dist/esm/structures/interactions/ComponentInteraction.d.ts +44 -0
- package/dist/esm/structures/interactions/ComponentInteraction.js +53 -0
- package/dist/esm/structures/interactions/ModalSubmitInteraction.d.ts +29 -0
- package/dist/esm/structures/interactions/ModalSubmitInteraction.js +37 -0
- package/dist/esm/structures/interactions/createInteraction.d.ts +4 -0
- package/dist/esm/structures/interactions/createInteraction.js +31 -0
- package/dist/esm/types.d.ts +369 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/util/Collection.d.ts +32 -0
- package/dist/esm/util/Collection.js +141 -0
- package/dist/esm/util/Permissions.d.ts +87 -0
- package/dist/esm/util/Permissions.js +111 -0
- package/dist/esm/util/Snowflake.d.ts +20 -0
- package/dist/esm/util/Snowflake.js +37 -0
- package/dist/esm/util/TypedEmitter.d.ts +17 -0
- package/dist/esm/util/TypedEmitter.js +2 -0
- package/dist/esm/util/constants.d.ts +78 -0
- package/dist/esm/util/constants.js +78 -0
- package/dist/esm/util/emoji.d.ts +8 -0
- package/dist/esm/util/emoji.js +7 -0
- package/dist/esm/util/formatters.d.ts +29 -0
- package/dist/esm/util/formatters.js +34 -0
- package/package.json +57 -5
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare class Collection<K, V> extends Map<K, V> {
|
|
2
|
+
ensure(key: K, make: (key: K, collection: this) => V): V;
|
|
3
|
+
hasAll(...keys: K[]): boolean;
|
|
4
|
+
hasAny(...keys: K[]): boolean;
|
|
5
|
+
first(): V | undefined;
|
|
6
|
+
first(amount: number): V[];
|
|
7
|
+
firstKey(): K | undefined;
|
|
8
|
+
last(): V | undefined;
|
|
9
|
+
last(amount: number): V[];
|
|
10
|
+
lastKey(): K | undefined;
|
|
11
|
+
at(index: number): V | undefined;
|
|
12
|
+
random(): V | undefined;
|
|
13
|
+
find(fn: (value: V, key: K, collection: this) => boolean): V | undefined;
|
|
14
|
+
findKey(fn: (value: V, key: K, collection: this) => boolean): K | undefined;
|
|
15
|
+
filter(fn: (value: V, key: K, collection: this) => boolean): Collection<K, V>;
|
|
16
|
+
partition(fn: (value: V, key: K, collection: this) => boolean): [Collection<K, V>, Collection<K, V>];
|
|
17
|
+
map<T>(fn: (value: V, key: K, collection: this) => T): T[];
|
|
18
|
+
mapValues<T>(fn: (value: V, key: K, collection: this) => T): Collection<K, T>;
|
|
19
|
+
flatMap<T>(fn: (value: V, key: K, collection: this) => T[]): T[];
|
|
20
|
+
some(fn: (value: V, key: K, collection: this) => boolean): boolean;
|
|
21
|
+
every(fn: (value: V, key: K, collection: this) => boolean): boolean;
|
|
22
|
+
reduce<T>(fn: (acc: T, value: V, key: K, collection: this) => T, initial: T): T;
|
|
23
|
+
each(fn: (value: V, key: K, collection: this) => void): this;
|
|
24
|
+
tap(fn: (collection: this) => void): this;
|
|
25
|
+
sweep(fn: (value: V, key: K, collection: this) => boolean): number;
|
|
26
|
+
sort(compare?: (a: V, b: V, aKey: K, bKey: K) => number): this;
|
|
27
|
+
toSorted(compare?: (a: V, b: V, aKey: K, bKey: K) => number): Collection<K, V>;
|
|
28
|
+
clone(): Collection<K, V>;
|
|
29
|
+
concat(...others: Collection<K, V>[]): Collection<K, V>;
|
|
30
|
+
toJSON(): V[];
|
|
31
|
+
private static defaultCompare;
|
|
32
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Collection = void 0;
|
|
4
|
+
class Collection extends Map {
|
|
5
|
+
ensure(key, make) {
|
|
6
|
+
if (this.has(key))
|
|
7
|
+
return this.get(key);
|
|
8
|
+
const value = make(key, this);
|
|
9
|
+
this.set(key, value);
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
hasAll(...keys) {
|
|
13
|
+
return keys.every((key) => this.has(key));
|
|
14
|
+
}
|
|
15
|
+
hasAny(...keys) {
|
|
16
|
+
return keys.some((key) => this.has(key));
|
|
17
|
+
}
|
|
18
|
+
first(amount) {
|
|
19
|
+
if (amount === undefined)
|
|
20
|
+
return this.values().next().value;
|
|
21
|
+
return [...this.values()].slice(0, Math.max(0, amount));
|
|
22
|
+
}
|
|
23
|
+
firstKey() {
|
|
24
|
+
return this.keys().next().value;
|
|
25
|
+
}
|
|
26
|
+
last(amount) {
|
|
27
|
+
const values = [...this.values()];
|
|
28
|
+
if (amount === undefined)
|
|
29
|
+
return values[values.length - 1];
|
|
30
|
+
return amount <= 0 ? [] : values.slice(-amount);
|
|
31
|
+
}
|
|
32
|
+
lastKey() {
|
|
33
|
+
const keys = [...this.keys()];
|
|
34
|
+
return keys[keys.length - 1];
|
|
35
|
+
}
|
|
36
|
+
at(index) {
|
|
37
|
+
return [...this.values()].at(index);
|
|
38
|
+
}
|
|
39
|
+
random() {
|
|
40
|
+
const values = [...this.values()];
|
|
41
|
+
return values[Math.floor(Math.random() * values.length)];
|
|
42
|
+
}
|
|
43
|
+
find(fn) {
|
|
44
|
+
for (const [key, value] of this)
|
|
45
|
+
if (fn(value, key, this))
|
|
46
|
+
return value;
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
findKey(fn) {
|
|
50
|
+
for (const [key, value] of this)
|
|
51
|
+
if (fn(value, key, this))
|
|
52
|
+
return key;
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
filter(fn) {
|
|
56
|
+
const out = new Collection();
|
|
57
|
+
for (const [key, value] of this)
|
|
58
|
+
if (fn(value, key, this))
|
|
59
|
+
out.set(key, value);
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
partition(fn) {
|
|
63
|
+
const yes = new Collection();
|
|
64
|
+
const no = new Collection();
|
|
65
|
+
for (const [key, value] of this)
|
|
66
|
+
(fn(value, key, this) ? yes : no).set(key, value);
|
|
67
|
+
return [yes, no];
|
|
68
|
+
}
|
|
69
|
+
map(fn) {
|
|
70
|
+
const out = [];
|
|
71
|
+
for (const [key, value] of this)
|
|
72
|
+
out.push(fn(value, key, this));
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
mapValues(fn) {
|
|
76
|
+
const out = new Collection();
|
|
77
|
+
for (const [key, value] of this)
|
|
78
|
+
out.set(key, fn(value, key, this));
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
flatMap(fn) {
|
|
82
|
+
return this.map(fn).flat();
|
|
83
|
+
}
|
|
84
|
+
some(fn) {
|
|
85
|
+
for (const [key, value] of this)
|
|
86
|
+
if (fn(value, key, this))
|
|
87
|
+
return true;
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
every(fn) {
|
|
91
|
+
for (const [key, value] of this)
|
|
92
|
+
if (!fn(value, key, this))
|
|
93
|
+
return false;
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
reduce(fn, initial) {
|
|
97
|
+
let acc = initial;
|
|
98
|
+
for (const [key, value] of this)
|
|
99
|
+
acc = fn(acc, value, key, this);
|
|
100
|
+
return acc;
|
|
101
|
+
}
|
|
102
|
+
each(fn) {
|
|
103
|
+
for (const [key, value] of this)
|
|
104
|
+
fn(value, key, this);
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
tap(fn) {
|
|
108
|
+
fn(this);
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
sweep(fn) {
|
|
112
|
+
const before = this.size;
|
|
113
|
+
for (const [key, value] of [...this])
|
|
114
|
+
if (fn(value, key, this))
|
|
115
|
+
this.delete(key);
|
|
116
|
+
return before - this.size;
|
|
117
|
+
}
|
|
118
|
+
sort(compare = Collection.defaultCompare) {
|
|
119
|
+
const sorted = [...this].sort((a, b) => compare(a[1], b[1], a[0], b[0]));
|
|
120
|
+
this.clear();
|
|
121
|
+
for (const [key, value] of sorted)
|
|
122
|
+
this.set(key, value);
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
125
|
+
toSorted(compare = Collection.defaultCompare) {
|
|
126
|
+
return this.clone().sort(compare);
|
|
127
|
+
}
|
|
128
|
+
clone() {
|
|
129
|
+
return new Collection(this);
|
|
130
|
+
}
|
|
131
|
+
concat(...others) {
|
|
132
|
+
const out = this.clone();
|
|
133
|
+
for (const other of others)
|
|
134
|
+
for (const [key, value] of other)
|
|
135
|
+
out.set(key, value);
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
138
|
+
toJSON() {
|
|
139
|
+
return [...this.values()];
|
|
140
|
+
}
|
|
141
|
+
static defaultCompare(a, b) {
|
|
142
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.Collection = Collection;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export declare const PermissionFlagsBits: {
|
|
2
|
+
readonly Administrator: bigint;
|
|
3
|
+
readonly ManageServer: bigint;
|
|
4
|
+
readonly ManageRoles: bigint;
|
|
5
|
+
readonly ManageChannels: bigint;
|
|
6
|
+
readonly KickMembers: bigint;
|
|
7
|
+
readonly BanMembers: bigint;
|
|
8
|
+
readonly CreateInvite: bigint;
|
|
9
|
+
readonly SendMessages: bigint;
|
|
10
|
+
readonly ManageMessages: bigint;
|
|
11
|
+
readonly AttachFiles: bigint;
|
|
12
|
+
readonly AddReactions: bigint;
|
|
13
|
+
readonly ManageExpressions: bigint;
|
|
14
|
+
readonly MentionEveryone: bigint;
|
|
15
|
+
readonly ViewChannel: bigint;
|
|
16
|
+
readonly ManageWebhooks: bigint;
|
|
17
|
+
readonly Connect: bigint;
|
|
18
|
+
readonly Speak: bigint;
|
|
19
|
+
readonly Video: bigint;
|
|
20
|
+
readonly BaffleUpload: bigint;
|
|
21
|
+
readonly BaffleWithdraw: bigint;
|
|
22
|
+
readonly ManageBaffles: bigint;
|
|
23
|
+
readonly ModerateMembers: bigint;
|
|
24
|
+
readonly ViewAuditLog: bigint;
|
|
25
|
+
readonly UseSoundboard: bigint;
|
|
26
|
+
readonly ManageThreads: bigint;
|
|
27
|
+
readonly ManageStage: bigint;
|
|
28
|
+
readonly ChangeNickname: bigint;
|
|
29
|
+
readonly ManageNicknames: bigint;
|
|
30
|
+
readonly ManageEvents: bigint;
|
|
31
|
+
readonly SetVoiceChannelStatus: bigint;
|
|
32
|
+
readonly RequestToSpeak: bigint;
|
|
33
|
+
};
|
|
34
|
+
export type PermissionString = keyof typeof PermissionFlagsBits;
|
|
35
|
+
export type PermissionResolvable = PermissionString | `${bigint}` | bigint | number | PermissionsBitField | readonly PermissionResolvable[];
|
|
36
|
+
export declare class PermissionsBitField {
|
|
37
|
+
static readonly Flags: {
|
|
38
|
+
readonly Administrator: bigint;
|
|
39
|
+
readonly ManageServer: bigint;
|
|
40
|
+
readonly ManageRoles: bigint;
|
|
41
|
+
readonly ManageChannels: bigint;
|
|
42
|
+
readonly KickMembers: bigint;
|
|
43
|
+
readonly BanMembers: bigint;
|
|
44
|
+
readonly CreateInvite: bigint;
|
|
45
|
+
readonly SendMessages: bigint;
|
|
46
|
+
readonly ManageMessages: bigint;
|
|
47
|
+
readonly AttachFiles: bigint;
|
|
48
|
+
readonly AddReactions: bigint;
|
|
49
|
+
readonly ManageExpressions: bigint;
|
|
50
|
+
readonly MentionEveryone: bigint;
|
|
51
|
+
readonly ViewChannel: bigint;
|
|
52
|
+
readonly ManageWebhooks: bigint;
|
|
53
|
+
readonly Connect: bigint;
|
|
54
|
+
readonly Speak: bigint;
|
|
55
|
+
readonly Video: bigint;
|
|
56
|
+
readonly BaffleUpload: bigint;
|
|
57
|
+
readonly BaffleWithdraw: bigint;
|
|
58
|
+
readonly ManageBaffles: bigint;
|
|
59
|
+
readonly ModerateMembers: bigint;
|
|
60
|
+
readonly ViewAuditLog: bigint;
|
|
61
|
+
readonly UseSoundboard: bigint;
|
|
62
|
+
readonly ManageThreads: bigint;
|
|
63
|
+
readonly ManageStage: bigint;
|
|
64
|
+
readonly ChangeNickname: bigint;
|
|
65
|
+
readonly ManageNicknames: bigint;
|
|
66
|
+
readonly ManageEvents: bigint;
|
|
67
|
+
readonly SetVoiceChannelStatus: bigint;
|
|
68
|
+
readonly RequestToSpeak: bigint;
|
|
69
|
+
};
|
|
70
|
+
static readonly All: PermissionsBitField;
|
|
71
|
+
readonly bitfield: bigint;
|
|
72
|
+
constructor(bits?: PermissionResolvable);
|
|
73
|
+
static fromBits(bits: string | number | bigint): PermissionsBitField;
|
|
74
|
+
static resolve(bits: PermissionResolvable): bigint;
|
|
75
|
+
has(permission: PermissionResolvable, checkAdmin?: boolean): boolean;
|
|
76
|
+
any(permission: PermissionResolvable, checkAdmin?: boolean): boolean;
|
|
77
|
+
missing(permission: PermissionResolvable, checkAdmin?: boolean): PermissionString[];
|
|
78
|
+
add(...permissions: PermissionResolvable[]): PermissionsBitField;
|
|
79
|
+
remove(...permissions: PermissionResolvable[]): PermissionsBitField;
|
|
80
|
+
equals(other: PermissionResolvable): boolean;
|
|
81
|
+
toArray(): PermissionString[];
|
|
82
|
+
serialize(checkAdmin?: boolean): Record<PermissionString, boolean>;
|
|
83
|
+
toJSON(): string;
|
|
84
|
+
toString(): string;
|
|
85
|
+
valueOf(): bigint;
|
|
86
|
+
private static names;
|
|
87
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PermissionsBitField = exports.PermissionFlagsBits = void 0;
|
|
4
|
+
const BaffError_js_1 = require("../errors/BaffError.js");
|
|
5
|
+
exports.PermissionFlagsBits = {
|
|
6
|
+
Administrator: 1n << 0n,
|
|
7
|
+
ManageServer: 1n << 1n,
|
|
8
|
+
ManageRoles: 1n << 2n,
|
|
9
|
+
ManageChannels: 1n << 3n,
|
|
10
|
+
KickMembers: 1n << 4n,
|
|
11
|
+
BanMembers: 1n << 5n,
|
|
12
|
+
CreateInvite: 1n << 6n,
|
|
13
|
+
SendMessages: 1n << 7n,
|
|
14
|
+
ManageMessages: 1n << 8n,
|
|
15
|
+
AttachFiles: 1n << 9n,
|
|
16
|
+
AddReactions: 1n << 10n,
|
|
17
|
+
ManageExpressions: 1n << 11n,
|
|
18
|
+
MentionEveryone: 1n << 12n,
|
|
19
|
+
ViewChannel: 1n << 13n,
|
|
20
|
+
ManageWebhooks: 1n << 14n,
|
|
21
|
+
Connect: 1n << 15n,
|
|
22
|
+
Speak: 1n << 16n,
|
|
23
|
+
Video: 1n << 17n,
|
|
24
|
+
BaffleUpload: 1n << 18n,
|
|
25
|
+
BaffleWithdraw: 1n << 19n,
|
|
26
|
+
ManageBaffles: 1n << 20n,
|
|
27
|
+
ModerateMembers: 1n << 21n,
|
|
28
|
+
ViewAuditLog: 1n << 22n,
|
|
29
|
+
UseSoundboard: 1n << 23n,
|
|
30
|
+
ManageThreads: 1n << 24n,
|
|
31
|
+
ManageStage: 1n << 25n,
|
|
32
|
+
ChangeNickname: 1n << 26n,
|
|
33
|
+
ManageNicknames: 1n << 27n,
|
|
34
|
+
ManageEvents: 1n << 28n,
|
|
35
|
+
SetVoiceChannelStatus: 1n << 29n,
|
|
36
|
+
RequestToSpeak: 1n << 30n
|
|
37
|
+
};
|
|
38
|
+
const ALL = Object.values(exports.PermissionFlagsBits).reduce((acc, bit) => acc | bit, 0n);
|
|
39
|
+
class PermissionsBitField {
|
|
40
|
+
static Flags = exports.PermissionFlagsBits;
|
|
41
|
+
static All = new PermissionsBitField(ALL);
|
|
42
|
+
bitfield;
|
|
43
|
+
constructor(bits = 0n) {
|
|
44
|
+
this.bitfield = PermissionsBitField.resolve(bits);
|
|
45
|
+
}
|
|
46
|
+
static fromBits(bits) {
|
|
47
|
+
return new PermissionsBitField(BigInt(bits));
|
|
48
|
+
}
|
|
49
|
+
static resolve(bits) {
|
|
50
|
+
if (bits instanceof PermissionsBitField)
|
|
51
|
+
return bits.bitfield;
|
|
52
|
+
if (typeof bits === 'bigint')
|
|
53
|
+
return bits;
|
|
54
|
+
if (typeof bits === 'number')
|
|
55
|
+
return BigInt(bits);
|
|
56
|
+
if (Array.isArray(bits))
|
|
57
|
+
return bits.reduce((acc, bit) => acc | PermissionsBitField.resolve(bit), 0n);
|
|
58
|
+
if (typeof bits === 'string') {
|
|
59
|
+
if (/^\d+$/.test(bits))
|
|
60
|
+
return BigInt(bits);
|
|
61
|
+
const flag = exports.PermissionFlagsBits[bits];
|
|
62
|
+
if (flag === undefined)
|
|
63
|
+
throw new BaffError_js_1.BaffError('INVALID_PERMISSION', `Unknown permission "${bits}".`);
|
|
64
|
+
return flag;
|
|
65
|
+
}
|
|
66
|
+
throw new BaffError_js_1.BaffError('INVALID_PERMISSION', `Cannot read ${String(bits)} as a permission.`);
|
|
67
|
+
}
|
|
68
|
+
has(permission, checkAdmin = true) {
|
|
69
|
+
// Resolve first, so a misspelled name throws for administrators too.
|
|
70
|
+
const bit = PermissionsBitField.resolve(permission);
|
|
71
|
+
if (checkAdmin && (this.bitfield & exports.PermissionFlagsBits.Administrator) !== 0n)
|
|
72
|
+
return true;
|
|
73
|
+
return (this.bitfield & bit) === bit;
|
|
74
|
+
}
|
|
75
|
+
any(permission, checkAdmin = true) {
|
|
76
|
+
const bit = PermissionsBitField.resolve(permission);
|
|
77
|
+
if (checkAdmin && (this.bitfield & exports.PermissionFlagsBits.Administrator) !== 0n)
|
|
78
|
+
return true;
|
|
79
|
+
return (this.bitfield & bit) !== 0n;
|
|
80
|
+
}
|
|
81
|
+
missing(permission, checkAdmin = true) {
|
|
82
|
+
return PermissionsBitField.names(PermissionsBitField.resolve(permission)).filter((name) => !this.has(name, checkAdmin));
|
|
83
|
+
}
|
|
84
|
+
add(...permissions) {
|
|
85
|
+
return new PermissionsBitField(permissions.reduce((acc, p) => acc | PermissionsBitField.resolve(p), this.bitfield));
|
|
86
|
+
}
|
|
87
|
+
remove(...permissions) {
|
|
88
|
+
return new PermissionsBitField(permissions.reduce((acc, p) => acc & ~PermissionsBitField.resolve(p), this.bitfield));
|
|
89
|
+
}
|
|
90
|
+
equals(other) {
|
|
91
|
+
return this.bitfield === PermissionsBitField.resolve(other);
|
|
92
|
+
}
|
|
93
|
+
toArray() {
|
|
94
|
+
return PermissionsBitField.names(this.bitfield);
|
|
95
|
+
}
|
|
96
|
+
serialize(checkAdmin = true) {
|
|
97
|
+
const out = {};
|
|
98
|
+
for (const name of Object.keys(exports.PermissionFlagsBits))
|
|
99
|
+
out[name] = this.has(name, checkAdmin);
|
|
100
|
+
return out;
|
|
101
|
+
}
|
|
102
|
+
toJSON() {
|
|
103
|
+
return this.bitfield.toString();
|
|
104
|
+
}
|
|
105
|
+
toString() {
|
|
106
|
+
return this.bitfield.toString();
|
|
107
|
+
}
|
|
108
|
+
valueOf() {
|
|
109
|
+
return this.bitfield;
|
|
110
|
+
}
|
|
111
|
+
static names(bits) {
|
|
112
|
+
return Object.keys(exports.PermissionFlagsBits).filter((name) => (bits & exports.PermissionFlagsBits[name]) !== 0n);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.PermissionsBitField = PermissionsBitField;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface DeconstructedSnowflake {
|
|
2
|
+
timestamp: number;
|
|
3
|
+
date: Date;
|
|
4
|
+
workerId: number;
|
|
5
|
+
sequence: number;
|
|
6
|
+
binary: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SnowflakeParts {
|
|
9
|
+
timestamp?: number | Date;
|
|
10
|
+
workerId?: number;
|
|
11
|
+
sequence?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const Snowflake: {
|
|
14
|
+
EPOCH: number;
|
|
15
|
+
deconstruct(id: string | bigint): DeconstructedSnowflake;
|
|
16
|
+
timestampOf(id: string | bigint): number;
|
|
17
|
+
generate({ timestamp, workerId, sequence }?: SnowflakeParts): string;
|
|
18
|
+
compare(a: string, b: string): -1 | 0 | 1;
|
|
19
|
+
isValid(value: unknown): value is string;
|
|
20
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Snowflake = void 0;
|
|
4
|
+
const EPOCH = 1767225600000n;
|
|
5
|
+
const WORKER_BITS = 10n;
|
|
6
|
+
const SEQUENCE_BITS = 12n;
|
|
7
|
+
const WORKER_MASK = (1n << WORKER_BITS) - 1n;
|
|
8
|
+
const SEQUENCE_MASK = (1n << SEQUENCE_BITS) - 1n;
|
|
9
|
+
exports.Snowflake = {
|
|
10
|
+
EPOCH: Number(EPOCH),
|
|
11
|
+
deconstruct(id) {
|
|
12
|
+
const value = BigInt(id);
|
|
13
|
+
const timestamp = Number((value >> (WORKER_BITS + SEQUENCE_BITS)) + EPOCH);
|
|
14
|
+
return {
|
|
15
|
+
timestamp,
|
|
16
|
+
date: new Date(timestamp),
|
|
17
|
+
workerId: Number((value >> SEQUENCE_BITS) & WORKER_MASK),
|
|
18
|
+
sequence: Number(value & SEQUENCE_MASK),
|
|
19
|
+
binary: value.toString(2).padStart(64, '0')
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
timestampOf(id) {
|
|
23
|
+
return exports.Snowflake.deconstruct(id).timestamp;
|
|
24
|
+
},
|
|
25
|
+
generate({ timestamp = Date.now(), workerId = 0, sequence = 0 } = {}) {
|
|
26
|
+
const ms = BigInt(timestamp instanceof Date ? timestamp.getTime() : timestamp);
|
|
27
|
+
if (ms < EPOCH)
|
|
28
|
+
throw new RangeError('Timestamp is before the baff.gg epoch (2026-01-01T00:00:00Z).');
|
|
29
|
+
const id = ((ms - EPOCH) << (WORKER_BITS + SEQUENCE_BITS)) | ((BigInt(workerId) & WORKER_MASK) << SEQUENCE_BITS) | (BigInt(sequence) & SEQUENCE_MASK);
|
|
30
|
+
return id.toString();
|
|
31
|
+
},
|
|
32
|
+
compare(a, b) {
|
|
33
|
+
const x = BigInt(a);
|
|
34
|
+
const y = BigInt(b);
|
|
35
|
+
return x < y ? -1 : x > y ? 1 : 0;
|
|
36
|
+
},
|
|
37
|
+
isValid(value) {
|
|
38
|
+
return typeof value === 'string' && /^\d{1,19}$/.test(value) && BigInt(value) < 1n << 63n;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type EventMap = {
|
|
2
|
+
[event: string]: unknown[];
|
|
3
|
+
};
|
|
4
|
+
export interface TypedEmitterShape<E extends EventMap> {
|
|
5
|
+
on<K extends keyof E & string>(event: K, listener: (...args: E[K]) => void): this;
|
|
6
|
+
once<K extends keyof E & string>(event: K, listener: (...args: E[K]) => void): this;
|
|
7
|
+
off<K extends keyof E & string>(event: K, listener: (...args: E[K]) => void): this;
|
|
8
|
+
addListener<K extends keyof E & string>(event: K, listener: (...args: E[K]) => void): this;
|
|
9
|
+
removeListener<K extends keyof E & string>(event: K, listener: (...args: E[K]) => void): this;
|
|
10
|
+
removeAllListeners(event?: keyof E & string): this;
|
|
11
|
+
emit<K extends keyof E & string>(event: K, ...args: E[K]): boolean;
|
|
12
|
+
listenerCount(event: keyof E & string): number;
|
|
13
|
+
setMaxListeners(n: number): this;
|
|
14
|
+
}
|
|
15
|
+
export declare const TypedEmitter: new <E extends EventMap>(options?: {
|
|
16
|
+
captureRejections?: boolean;
|
|
17
|
+
}) => TypedEmitterShape<E>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export declare const Colors: {
|
|
2
|
+
readonly Default: 0;
|
|
3
|
+
readonly White: 16777215;
|
|
4
|
+
readonly Ink: 270365;
|
|
5
|
+
readonly Baff: 3065014;
|
|
6
|
+
readonly Green: 3066993;
|
|
7
|
+
readonly Red: 15158332;
|
|
8
|
+
readonly Orange: 15105570;
|
|
9
|
+
readonly Yellow: 15844367;
|
|
10
|
+
readonly Blue: 3447003;
|
|
11
|
+
readonly Pink: 15277667;
|
|
12
|
+
readonly Grey: 9807270;
|
|
13
|
+
readonly DarkGrey: 5533306;
|
|
14
|
+
};
|
|
15
|
+
export declare const MessageFlags: {
|
|
16
|
+
readonly Ephemeral: number;
|
|
17
|
+
readonly IsComponentsV2: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const ComponentType: {
|
|
20
|
+
readonly ActionRow: 1;
|
|
21
|
+
readonly Button: 2;
|
|
22
|
+
readonly StringSelect: 3;
|
|
23
|
+
readonly TextInput: 4;
|
|
24
|
+
readonly UserSelect: 5;
|
|
25
|
+
readonly RoleSelect: 6;
|
|
26
|
+
readonly MentionableSelect: 7;
|
|
27
|
+
readonly ChannelSelect: 8;
|
|
28
|
+
readonly Section: 9;
|
|
29
|
+
readonly TextDisplay: 10;
|
|
30
|
+
readonly Thumbnail: 11;
|
|
31
|
+
readonly MediaGallery: 12;
|
|
32
|
+
readonly Separator: 14;
|
|
33
|
+
readonly Container: 17;
|
|
34
|
+
};
|
|
35
|
+
export declare const ButtonStyle: {
|
|
36
|
+
readonly Primary: 1;
|
|
37
|
+
readonly Secondary: 2;
|
|
38
|
+
readonly Success: 3;
|
|
39
|
+
readonly Danger: 4;
|
|
40
|
+
readonly Link: 5;
|
|
41
|
+
};
|
|
42
|
+
export declare const TextInputStyle: {
|
|
43
|
+
readonly Short: 1;
|
|
44
|
+
readonly Paragraph: 2;
|
|
45
|
+
};
|
|
46
|
+
export declare const SeparatorSpacing: {
|
|
47
|
+
readonly Small: 1;
|
|
48
|
+
readonly Large: 2;
|
|
49
|
+
};
|
|
50
|
+
export declare const ChannelType: {
|
|
51
|
+
readonly Text: "text";
|
|
52
|
+
readonly Announcement: "announcement";
|
|
53
|
+
readonly Forum: "forum";
|
|
54
|
+
readonly Voice: "voice";
|
|
55
|
+
readonly Stage: "stage";
|
|
56
|
+
readonly Category: "category";
|
|
57
|
+
readonly Thread: "thread";
|
|
58
|
+
};
|
|
59
|
+
export declare const ApplicationCommandOptionType: {
|
|
60
|
+
readonly Subcommand: "subcommand";
|
|
61
|
+
readonly SubcommandGroup: "subcommand_group";
|
|
62
|
+
readonly String: "string";
|
|
63
|
+
readonly Integer: "integer";
|
|
64
|
+
readonly Number: "number";
|
|
65
|
+
readonly Boolean: "boolean";
|
|
66
|
+
readonly User: "user";
|
|
67
|
+
readonly Channel: "channel";
|
|
68
|
+
readonly Role: "role";
|
|
69
|
+
};
|
|
70
|
+
export declare const PresenceStatus: {
|
|
71
|
+
readonly Online: "online";
|
|
72
|
+
readonly Idle: "idle";
|
|
73
|
+
readonly DoNotDisturb: "dnd";
|
|
74
|
+
readonly Invisible: "invisible";
|
|
75
|
+
};
|
|
76
|
+
export declare const DEFAULT_API_URL = "https://baff.gg/api";
|
|
77
|
+
export declare const DEFAULT_GATEWAY_URL = "wss://baff.gg/api/gateway";
|
|
78
|
+
export declare const VERSION = "0.1.1";
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION = exports.DEFAULT_GATEWAY_URL = exports.DEFAULT_API_URL = exports.PresenceStatus = exports.ApplicationCommandOptionType = exports.ChannelType = exports.SeparatorSpacing = exports.TextInputStyle = exports.ButtonStyle = exports.ComponentType = exports.MessageFlags = exports.Colors = void 0;
|
|
4
|
+
exports.Colors = {
|
|
5
|
+
Default: 0x000000,
|
|
6
|
+
White: 0xffffff,
|
|
7
|
+
Ink: 0x04201d,
|
|
8
|
+
Baff: 0x2ec4b6,
|
|
9
|
+
Green: 0x2ecc71,
|
|
10
|
+
Red: 0xe74c3c,
|
|
11
|
+
Orange: 0xe67e22,
|
|
12
|
+
Yellow: 0xf1c40f,
|
|
13
|
+
Blue: 0x3498db,
|
|
14
|
+
Pink: 0xe91e63,
|
|
15
|
+
Grey: 0x95a5a6,
|
|
16
|
+
DarkGrey: 0x546e7a
|
|
17
|
+
};
|
|
18
|
+
exports.MessageFlags = {
|
|
19
|
+
Ephemeral: 1 << 6,
|
|
20
|
+
IsComponentsV2: 1 << 15
|
|
21
|
+
};
|
|
22
|
+
exports.ComponentType = {
|
|
23
|
+
ActionRow: 1,
|
|
24
|
+
Button: 2,
|
|
25
|
+
StringSelect: 3,
|
|
26
|
+
TextInput: 4,
|
|
27
|
+
UserSelect: 5,
|
|
28
|
+
RoleSelect: 6,
|
|
29
|
+
MentionableSelect: 7,
|
|
30
|
+
ChannelSelect: 8,
|
|
31
|
+
Section: 9,
|
|
32
|
+
TextDisplay: 10,
|
|
33
|
+
Thumbnail: 11,
|
|
34
|
+
MediaGallery: 12,
|
|
35
|
+
Separator: 14,
|
|
36
|
+
Container: 17
|
|
37
|
+
};
|
|
38
|
+
exports.ButtonStyle = {
|
|
39
|
+
Primary: 1,
|
|
40
|
+
Secondary: 2,
|
|
41
|
+
Success: 3,
|
|
42
|
+
Danger: 4,
|
|
43
|
+
Link: 5
|
|
44
|
+
};
|
|
45
|
+
exports.TextInputStyle = {
|
|
46
|
+
Short: 1,
|
|
47
|
+
Paragraph: 2
|
|
48
|
+
};
|
|
49
|
+
exports.SeparatorSpacing = {
|
|
50
|
+
Small: 1,
|
|
51
|
+
Large: 2
|
|
52
|
+
};
|
|
53
|
+
exports.ChannelType = {
|
|
54
|
+
Text: 'text',
|
|
55
|
+
Announcement: 'announcement',
|
|
56
|
+
Forum: 'forum',
|
|
57
|
+
Voice: 'voice',
|
|
58
|
+
Stage: 'stage',
|
|
59
|
+
Category: 'category',
|
|
60
|
+
Thread: 'thread'
|
|
61
|
+
};
|
|
62
|
+
exports.ApplicationCommandOptionType = {
|
|
63
|
+
Subcommand: 'subcommand',
|
|
64
|
+
SubcommandGroup: 'subcommand_group',
|
|
65
|
+
String: 'string',
|
|
66
|
+
Integer: 'integer',
|
|
67
|
+
Number: 'number',
|
|
68
|
+
Boolean: 'boolean',
|
|
69
|
+
User: 'user',
|
|
70
|
+
Channel: 'channel',
|
|
71
|
+
Role: 'role'
|
|
72
|
+
};
|
|
73
|
+
exports.PresenceStatus = {
|
|
74
|
+
Online: 'online',
|
|
75
|
+
Idle: 'idle',
|
|
76
|
+
DoNotDisturb: 'dnd',
|
|
77
|
+
Invisible: 'invisible'
|
|
78
|
+
};
|
|
79
|
+
exports.DEFAULT_API_URL = 'https://baff.gg/api';
|
|
80
|
+
exports.DEFAULT_GATEWAY_URL = 'wss://baff.gg/api/gateway';
|
|
81
|
+
exports.VERSION = '0.1.1';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveEmoji = resolveEmoji;
|
|
4
|
+
const CUSTOM = /^<(a?):(\w{2,32}):(\d+)>$/;
|
|
5
|
+
function resolveEmoji(emoji) {
|
|
6
|
+
if (typeof emoji === 'object')
|
|
7
|
+
return 'identifier' in emoji ? emoji.identifier : `${emoji.animated ? 'a:' : ''}${emoji.name}:${emoji.id}`;
|
|
8
|
+
const match = CUSTOM.exec(emoji.trim());
|
|
9
|
+
return match ? `${match[1] ? 'a:' : ''}${match[2]}:${match[3]}` : emoji;
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const userMention: (id: string) => `<@${string}>`;
|
|
2
|
+
export declare const roleMention: (id: string) => `<@&${string}>`;
|
|
3
|
+
export declare const channelMention: (id: string) => `<#${string}>`;
|
|
4
|
+
export declare const everyoneMention = "@everyone";
|
|
5
|
+
export declare const hereMention = "@here";
|
|
6
|
+
export declare const formatEmoji: (id: string, name: string, animated?: boolean) => string;
|
|
7
|
+
export declare const bold: (text: string) => string;
|
|
8
|
+
export declare const italic: (text: string) => string;
|
|
9
|
+
export declare const underline: (text: string) => string;
|
|
10
|
+
export declare const strikethrough: (text: string) => string;
|
|
11
|
+
export declare const spoiler: (text: string) => string;
|
|
12
|
+
export declare const inlineCode: (text: string) => string;
|
|
13
|
+
export declare const codeBlock: (content: string, language?: string) => string;
|
|
14
|
+
export declare const quote: (text: string) => string;
|
|
15
|
+
export declare const blockQuote: (text: string) => string;
|
|
16
|
+
export declare const heading: (text: string, level?: 1 | 2 | 3) => string;
|
|
17
|
+
export declare const subtext: (text: string) => string;
|
|
18
|
+
export declare const hyperlink: (text: string, url: string) => string;
|
|
19
|
+
export declare const hideLinkEmbed: (url: string) => string;
|
|
20
|
+
export interface EscapeOptions {
|
|
21
|
+
codeBlock?: boolean;
|
|
22
|
+
inlineCode?: boolean;
|
|
23
|
+
bold?: boolean;
|
|
24
|
+
italic?: boolean;
|
|
25
|
+
underline?: boolean;
|
|
26
|
+
strikethrough?: boolean;
|
|
27
|
+
spoiler?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function escapeMarkdown(text: string, options?: EscapeOptions): string;
|