dfx 0.35.0 → 0.35.2
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/Cache/prelude.js +2 -2
- package/Cache/prelude.js.map +1 -1
- package/DiscordGateway/DiscordWS.d.ts +5 -4
- package/DiscordGateway/DiscordWS.js +7 -8
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Shard/heartbeats.d.ts +1 -1
- package/DiscordGateway/Shard/heartbeats.js +6 -6
- package/DiscordGateway/Shard/heartbeats.js.map +1 -1
- package/DiscordGateway/Shard/invalidSession.d.ts +2 -2
- package/DiscordGateway/Shard/invalidSession.js +5 -5
- package/DiscordGateway/Shard/invalidSession.js.map +1 -1
- package/DiscordGateway/Shard.d.ts +4 -2
- package/DiscordGateway/Shard.js +27 -26
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +6 -3
- package/DiscordGateway/Sharder.js +7 -6
- package/DiscordGateway/Sharder.js.map +1 -1
- package/DiscordGateway/WS.d.ts +3 -3
- package/DiscordGateway/WS.js +4 -4
- package/DiscordGateway/WS.js.map +1 -1
- package/DiscordGateway.d.ts +1 -1
- package/DiscordREST.d.ts +5 -3
- package/DiscordREST.js +6 -5
- package/DiscordREST.js.map +1 -1
- package/Helpers/intents.js +5 -5
- package/Helpers/intents.js.map +1 -1
- package/Helpers/permissions.d.ts +2 -2
- package/Helpers/permissions.js +13 -12
- package/Helpers/permissions.js.map +1 -1
- package/Interactions/context.js +10 -10
- package/Interactions/context.js.map +1 -1
- package/Interactions/gateway.d.ts +3 -3
- package/Interactions/gateway.js +3 -3
- package/Interactions/gateway.js.map +1 -1
- package/Interactions/handlers.js +2 -2
- package/Interactions/handlers.js.map +1 -1
- package/RateLimit.d.ts +3 -2
- package/RateLimit.js +2 -2
- package/RateLimit.js.map +1 -1
- package/global.d.ts +0 -8
- package/package.json +4 -3
- package/types.d.ts +1324 -1316
- package/types.js +8 -4
- package/types.js.map +1 -1
- package/webhooks.d.ts +4 -3
- package/webhooks.js +4 -3
- package/webhooks.js.map +1 -1
package/Helpers/permissions.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ export declare const has: (flag: string | bigint) => (bits: string | bigint) =>
|
|
|
10
10
|
/**
|
|
11
11
|
* Convert a permissions bitfield to a list of flag names.
|
|
12
12
|
*/
|
|
13
|
-
export declare const toList: (bitfield: bigint) => ("CREATE_INSTANT_INVITE" | "KICK_MEMBERS" | "BAN_MEMBERS" | "ADMINISTRATOR" | "MANAGE_CHANNELS" | "MANAGE_GUILD" | "ADD_REACTIONS" | "VIEW_AUDIT_LOG" | "PRIORITY_SPEAKER" | "STREAM" | "VIEW_CHANNEL" | "SEND_MESSAGES" | "SEND_TTS_MESSAGES" | "MANAGE_MESSAGES" | "EMBED_LINKS" | "ATTACH_FILES" | "READ_MESSAGE_HISTORY" | "MENTION_EVERYONE" | "USE_EXTERNAL_EMOJIS" | "VIEW_GUILD_INSIGHTS" | "CONNECT" | "SPEAK" | "MUTE_MEMBERS" | "DEAFEN_MEMBERS" | "MOVE_MEMBERS" | "USE_VAD" | "CHANGE_NICKNAME" | "MANAGE_NICKNAMES" | "MANAGE_ROLES" | "MANAGE_WEBHOOKS" | "MANAGE_GUILD_EXPRESSIONS" | "USE_APPLICATION_COMMANDS" | "REQUEST_TO_SPEAK" | "MANAGE_EVENTS" | "MANAGE_THREADS" | "CREATE_PUBLIC_THREADS" | "CREATE_PRIVATE_THREADS" | "USE_EXTERNAL_STICKERS" | "SEND_MESSAGES_IN_THREADS" | "USE_EMBEDDED_ACTIVITIES" | "MODERATE_MEMBERS" | "VIEW_CREATOR_MONETIZATION_ANALYTICS" | "USE_SOUNDBOARD")[];
|
|
13
|
+
export declare const toList: (bitfield: bigint) => ("CREATE_INSTANT_INVITE" | "KICK_MEMBERS" | "BAN_MEMBERS" | "ADMINISTRATOR" | "MANAGE_CHANNELS" | "MANAGE_GUILD" | "ADD_REACTIONS" | "VIEW_AUDIT_LOG" | "PRIORITY_SPEAKER" | "STREAM" | "VIEW_CHANNEL" | "SEND_MESSAGES" | "SEND_TTS_MESSAGES" | "MANAGE_MESSAGES" | "EMBED_LINKS" | "ATTACH_FILES" | "READ_MESSAGE_HISTORY" | "MENTION_EVERYONE" | "USE_EXTERNAL_EMOJIS" | "VIEW_GUILD_INSIGHTS" | "CONNECT" | "SPEAK" | "MUTE_MEMBERS" | "DEAFEN_MEMBERS" | "MOVE_MEMBERS" | "USE_VAD" | "CHANGE_NICKNAME" | "MANAGE_NICKNAMES" | "MANAGE_ROLES" | "MANAGE_WEBHOOKS" | "MANAGE_GUILD_EXPRESSIONS" | "USE_APPLICATION_COMMANDS" | "REQUEST_TO_SPEAK" | "MANAGE_EVENTS" | "MANAGE_THREADS" | "CREATE_PUBLIC_THREADS" | "CREATE_PRIVATE_THREADS" | "USE_EXTERNAL_STICKERS" | "SEND_MESSAGES_IN_THREADS" | "USE_EMBEDDED_ACTIVITIES" | "MODERATE_MEMBERS" | "VIEW_CREATOR_MONETIZATION_ANALYTICS" | "USE_SOUNDBOARD" | "SEND_VOICE_MESSAGES")[];
|
|
14
14
|
/**
|
|
15
15
|
* Convert a list of flag names to a bitfield.
|
|
16
16
|
*/
|
|
17
|
-
export declare const fromList: (list: ("CREATE_INSTANT_INVITE" | "KICK_MEMBERS" | "BAN_MEMBERS" | "ADMINISTRATOR" | "MANAGE_CHANNELS" | "MANAGE_GUILD" | "ADD_REACTIONS" | "VIEW_AUDIT_LOG" | "PRIORITY_SPEAKER" | "STREAM" | "VIEW_CHANNEL" | "SEND_MESSAGES" | "SEND_TTS_MESSAGES" | "MANAGE_MESSAGES" | "EMBED_LINKS" | "ATTACH_FILES" | "READ_MESSAGE_HISTORY" | "MENTION_EVERYONE" | "USE_EXTERNAL_EMOJIS" | "VIEW_GUILD_INSIGHTS" | "CONNECT" | "SPEAK" | "MUTE_MEMBERS" | "DEAFEN_MEMBERS" | "MOVE_MEMBERS" | "USE_VAD" | "CHANGE_NICKNAME" | "MANAGE_NICKNAMES" | "MANAGE_ROLES" | "MANAGE_WEBHOOKS" | "MANAGE_GUILD_EXPRESSIONS" | "USE_APPLICATION_COMMANDS" | "REQUEST_TO_SPEAK" | "MANAGE_EVENTS" | "MANAGE_THREADS" | "CREATE_PUBLIC_THREADS" | "CREATE_PRIVATE_THREADS" | "USE_EXTERNAL_STICKERS" | "SEND_MESSAGES_IN_THREADS" | "USE_EMBEDDED_ACTIVITIES" | "MODERATE_MEMBERS" | "VIEW_CREATOR_MONETIZATION_ANALYTICS" | "USE_SOUNDBOARD")[]) => bigint;
|
|
17
|
+
export declare const fromList: (list: ("CREATE_INSTANT_INVITE" | "KICK_MEMBERS" | "BAN_MEMBERS" | "ADMINISTRATOR" | "MANAGE_CHANNELS" | "MANAGE_GUILD" | "ADD_REACTIONS" | "VIEW_AUDIT_LOG" | "PRIORITY_SPEAKER" | "STREAM" | "VIEW_CHANNEL" | "SEND_MESSAGES" | "SEND_TTS_MESSAGES" | "MANAGE_MESSAGES" | "EMBED_LINKS" | "ATTACH_FILES" | "READ_MESSAGE_HISTORY" | "MENTION_EVERYONE" | "USE_EXTERNAL_EMOJIS" | "VIEW_GUILD_INSIGHTS" | "CONNECT" | "SPEAK" | "MUTE_MEMBERS" | "DEAFEN_MEMBERS" | "MOVE_MEMBERS" | "USE_VAD" | "CHANGE_NICKNAME" | "MANAGE_NICKNAMES" | "MANAGE_ROLES" | "MANAGE_WEBHOOKS" | "MANAGE_GUILD_EXPRESSIONS" | "USE_APPLICATION_COMMANDS" | "REQUEST_TO_SPEAK" | "MANAGE_EVENTS" | "MANAGE_THREADS" | "CREATE_PUBLIC_THREADS" | "CREATE_PRIVATE_THREADS" | "USE_EXTERNAL_STICKERS" | "SEND_MESSAGES_IN_THREADS" | "USE_EMBEDDED_ACTIVITIES" | "MODERATE_MEMBERS" | "VIEW_CREATOR_MONETIZATION_ANALYTICS" | "USE_SOUNDBOARD" | "SEND_VOICE_MESSAGES")[]) => bigint;
|
|
18
18
|
/**
|
|
19
19
|
* Reduce a list of roles to a bitfield of all the permissions added together.
|
|
20
20
|
*/
|
package/Helpers/permissions.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "dfx/_common";
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
3
|
-
import * as tsplus_module_3 from "@effect/
|
|
4
|
-
import * as
|
|
2
|
+
import * as tsplus_module_2 from "@effect/data/Function";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
|
+
import * as Flags from "dfx/Helpers/flags";
|
|
5
|
+
import * as Members from "dfx/Helpers/members";
|
|
5
6
|
/**
|
|
6
7
|
* A constant of all the permissions
|
|
7
8
|
*/
|
|
8
|
-
export const ALL =
|
|
9
|
+
export const ALL = Flags.all(tsplus_module_1.Discord.PermissionFlag);
|
|
9
10
|
/**
|
|
10
11
|
* Check if a flag exists in the permissions.
|
|
11
12
|
*/
|
|
12
|
-
export const has =
|
|
13
|
+
export const has = Flags.hasBigInt;
|
|
13
14
|
/**
|
|
14
15
|
* Convert a permissions bitfield to a list of flag names.
|
|
15
16
|
*/
|
|
16
|
-
export const toList =
|
|
17
|
+
export const toList = Flags.toList(tsplus_module_1.Discord.PermissionFlag);
|
|
17
18
|
/**
|
|
18
19
|
* Convert a list of flag names to a bitfield.
|
|
19
20
|
*/
|
|
20
|
-
export const fromList =
|
|
21
|
+
export const fromList = Flags.fromListBigint(tsplus_module_1.Discord.PermissionFlag);
|
|
21
22
|
/**
|
|
22
23
|
* Reduce a list of roles to a bitfield of all the permissions added together.
|
|
23
24
|
*/
|
|
@@ -25,7 +26,7 @@ export const forRoles = (roles) => roles.reduce((permissions, role) => permissio
|
|
|
25
26
|
/**
|
|
26
27
|
* From a list of roles, calculate the permissions bitfield for the member.
|
|
27
28
|
*/
|
|
28
|
-
export const forMember = (roles) => (member) =>
|
|
29
|
+
export const forMember = (roles) => (member) => tsplus_module_2.pipe(Members.roles(roles)(member), forRoles);
|
|
29
30
|
const overwriteIsForMember = (guildId) => (member) => (overwrite) => {
|
|
30
31
|
if (overwrite.type === 0) {
|
|
31
32
|
return overwrite.id === guildId || member.roles.includes(overwrite.id);
|
|
@@ -46,10 +47,10 @@ export const forChannel = (roles) => ({ guild_id, permission_overwrites: overwri
|
|
|
46
47
|
const hasAdmin = has(tsplus_module_1.Discord.PermissionFlag.ADMINISTRATOR);
|
|
47
48
|
let basePermissions;
|
|
48
49
|
let filteredOverwrites;
|
|
49
|
-
if (
|
|
50
|
+
if (Members.is(memberOrRole)) {
|
|
50
51
|
if (memberOrRole.permissions)
|
|
51
52
|
return BigInt(memberOrRole.permissions);
|
|
52
|
-
const memberRoles =
|
|
53
|
+
const memberRoles = Members.roles(roles)(memberOrRole);
|
|
53
54
|
basePermissions = forRoles(memberRoles);
|
|
54
55
|
filteredOverwrites = overwrites.filter(overwriteIsForMember(guild_id)(memberOrRole));
|
|
55
56
|
}
|
|
@@ -68,11 +69,11 @@ export const forChannel = (roles) => ({ guild_id, permission_overwrites: overwri
|
|
|
68
69
|
* Apply permission overwrites to a bitfield.
|
|
69
70
|
*/
|
|
70
71
|
export const applyOverwrites = (permissions) => (overwrites) => overwrites.reduce((permissions, overwrite) => (permissions & ~BigInt(overwrite.deny)) | BigInt(overwrite.allow), permissions);
|
|
71
|
-
export const hasInChannel = (rolesCache, permission) => (channel, memberOrRole) =>
|
|
72
|
+
export const hasInChannel = (rolesCache, permission) => (channel, memberOrRole) => tsplus_module_3.map(rolesCache.getForParent(channel.guild_id), roles => {
|
|
72
73
|
const channelPerms = forChannel([...roles.values()])(channel)(memberOrRole);
|
|
73
74
|
return has(permission)(channelPerms);
|
|
74
75
|
});
|
|
75
|
-
export const hasInGuild = (rolesCache, permission) => (guildId, member) =>
|
|
76
|
+
export const hasInGuild = (rolesCache, permission) => (guildId, member) => tsplus_module_3.map(rolesCache.getForParent(guildId), roles => {
|
|
76
77
|
const hasPerm = has(permission);
|
|
77
78
|
return member.roles.some(id => {
|
|
78
79
|
const role = roles.get(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/Helpers/permissions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/Helpers/permissions.ts"],"names":[],"mappings":"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"}
|
package/Interactions/context.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "dfx/_common";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "
|
|
4
|
-
import * as tsplus_module_4 from "@effect/data/Option";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/data/Option";
|
|
5
4
|
import * as Arr from "@effect/data/ReadonlyArray";
|
|
6
5
|
import { EffectTypeId } from "@effect/io/Effect";
|
|
6
|
+
import * as IxHelpers from "dfx/Helpers/interactions";
|
|
7
7
|
export const InteractionContext = tsplus_module_1.Tag();
|
|
8
8
|
export const ApplicationCommandContext = tsplus_module_1.Tag();
|
|
9
9
|
export const MessageComponentContext = tsplus_module_1.Tag();
|
|
@@ -21,8 +21,8 @@ export class ResolvedDataNotFound {
|
|
|
21
21
|
this.name = name;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
export const resolvedValues = (f) => tsplus_module_2.flatMap(InteractionContext, ix =>
|
|
25
|
-
export const resolved = (name, f) => tsplus_module_2.flatMap(InteractionContext, ix =>
|
|
24
|
+
export const resolvedValues = (f) => tsplus_module_2.flatMap(InteractionContext, ix => tsplus_module_3.match(IxHelpers.resolveValues(f)(ix), () => tsplus_module_2.fail(new ResolvedDataNotFound(ix)), tsplus_module_2.succeed));
|
|
25
|
+
export const resolved = (name, f) => tsplus_module_2.flatMap(InteractionContext, ix => tsplus_module_3.match(IxHelpers.resolveOptionValue(name, f)(ix), () => tsplus_module_2.fail(new ResolvedDataNotFound(ix, name)), tsplus_module_2.succeed));
|
|
26
26
|
export const focusedOptionValue = tsplus_module_2.map(FocusedOptionContext, _ => _.focusedOption.value ?? "");
|
|
27
27
|
export class SubCommandNotFound {
|
|
28
28
|
data;
|
|
@@ -31,11 +31,11 @@ export class SubCommandNotFound {
|
|
|
31
31
|
this.data = data;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
export const handleSubCommands = (commands) => tsplus_module_2.flatMap(ApplicationCommandContext, data => tsplus_module_2.flatMap(tsplus_module_2.mapError(Arr.findFirst(
|
|
34
|
+
export const handleSubCommands = (commands) => tsplus_module_2.flatMap(ApplicationCommandContext, data => tsplus_module_2.flatMap(tsplus_module_2.mapError(Arr.findFirst(IxHelpers.allSubCommands(data), _ => !!commands[_.name]), () => new SubCommandNotFound(data)), command => tsplus_module_2.provideService(commands[command.name], SubCommandContext, {
|
|
35
35
|
command,
|
|
36
36
|
})));
|
|
37
37
|
export const currentSubCommand = tsplus_module_2.map(SubCommandContext, _ => _.command);
|
|
38
|
-
export const optionsMap = tsplus_module_2.map(ApplicationCommandContext,
|
|
38
|
+
export const optionsMap = tsplus_module_2.map(ApplicationCommandContext, IxHelpers.optionsMap);
|
|
39
39
|
export class RequiredOptionNotFound {
|
|
40
40
|
data;
|
|
41
41
|
name;
|
|
@@ -45,8 +45,8 @@ export class RequiredOptionNotFound {
|
|
|
45
45
|
this.name = name;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
export const option = (name) => tsplus_module_2.map(ApplicationCommandContext,
|
|
49
|
-
export const optionValue = (name) => tsplus_module_2.flatMap(option(name), _ =>
|
|
50
|
-
export const optionValueOptional = (name) => tsplus_module_2.map(option(name), o =>
|
|
51
|
-
export const modalValues = tsplus_module_2.map(ModalSubmitContext,
|
|
48
|
+
export const option = (name) => tsplus_module_2.map(ApplicationCommandContext, IxHelpers.getOption(name));
|
|
49
|
+
export const optionValue = (name) => tsplus_module_2.flatMap(option(name), _ => tsplus_module_3.match(tsplus_module_3.flatMapNullable(_, a => a.value), () => tsplus_module_2.flatMap(command, data => tsplus_module_2.fail(new RequiredOptionNotFound(data, name))), tsplus_module_2.succeed));
|
|
50
|
+
export const optionValueOptional = (name) => tsplus_module_2.map(option(name), o => tsplus_module_3.flatMapNullable(o, o => o.value));
|
|
51
|
+
export const modalValues = tsplus_module_2.map(ModalSubmitContext, IxHelpers.componentsMap);
|
|
52
52
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAU,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAA,GAAG,EAAuB,CAAA;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAA,GAAG,EAAmC,CAAA;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAA,GAAG,EAAiC,CAAA;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAA,GAAG,EAA4B,CAAA;AAKjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAA,GAAG,EAAwB,CAAA;AAK/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAA,GAAG,EAAqB,CAAA;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,yBAAyB,CAAA;AAEhD,MAAM,OAAO,oBAAoB;IAEV;IAAoC;IADhD,IAAI,GAAG,sBAAsB,CAAA;IACtC,YAAqB,IAAyB,EAAW,IAAa;QAAjD,SAAI,GAAJ,IAAI,CAAqB;QAAW,SAAI,GAAJ,IAAI,CAAS;IAAG,CAAC;CAC3E;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,CAAwE,EACxE,EAAE,CACF,wBAAA,kBAAkB,EAAS,EAAE,CAAC,EAAE,CAC9B,sBAAA,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,CAAC,qBAAY,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC,0BAEhD,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAY,EACZ,CAAwE,EACxE,EAAE,CACF,wBAAA,kBAAkB,EAAS,EAAE,CAAC,EAAE,CAC9B,sBAAA,SAAS,CAAC,kBAAkB,CAC1B,IAAI,EACJ,CAAC,CACF,CAAC,EAAE,CAAC,EACH,GAAG,EAAE,CAAC,qBAAY,IAAI,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,0BAEtD,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAA,oBAAoB,EACpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CACjC,CAAA;AAED,MAAM,OAAO,kBAAkB;IAER;IADZ,IAAI,GAAG,oBAAoB,CAAA;IACpC,YAAqB,IAAqC;QAArC,SAAI,GAAJ,IAAI,CAAiC;IAAG,CAAC;CAC/D;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAG/B,QAAa,EAmBb,EAAE,CACF,wBAAA,yBAAyB,EAAS,IAAI,CAAC,EAAE,CACvC,wBAAA,yBAAA,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAC1D,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE,CACjB,+BAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAgB,iBAAiB,EAAE;IACvD,OAAO;CACR,CAAC,CACH,CACJ,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAA,iBAAiB,EAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAA,yBAAyB,EAAK,SAAS,CAAC,UAAU,CAAC,CAAA;AAE7E,MAAM,OAAO,sBAAsB;IAGtB;IAGA;IALF,IAAI,GAAG,wBAAwB,CAAA;IACxC,YACW,IAE0C,EAC1C,IAAY;QAHZ,SAAI,GAAJ,IAAI,CAEsC;QAC1C,SAAI,GAAJ,IAAI,CAAQ;IACpB,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,oBAAA,yBAAyB,EAAK,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,wBAAA,MAAM,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC,EAAE,CACvB,sBAAA,gCAAA,CAAC,EAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAC7B,GAAG,EAAE,CACH,wBAAA,OAAO,EAAS,IAAI,CAAC,EAAE,CACrB,qBAAY,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACpD,0BAEJ,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,oBAAA,MAAM,CAAC,IAAI,CAAC,EAAK,CAAC,CAAC,EAAE,CAAC,gCAAA,CAAC,EAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAA,kBAAkB,EAAK,SAAS,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Effect, Discord } from "dfx/_common";
|
|
2
|
-
import { DiscordREST } from "dfx";
|
|
3
2
|
import * as Http from "@effect-http/client";
|
|
4
3
|
import { DefinitionNotFound } from "./handlers.js";
|
|
5
4
|
import { InteractionBuilder } from "./index.js";
|
|
6
|
-
import { DiscordRESTError } from "dfx/DiscordREST";
|
|
5
|
+
import { DiscordREST, DiscordRESTError } from "dfx/DiscordREST";
|
|
6
|
+
import { DiscordGateway } from "dfx/DiscordGateway";
|
|
7
7
|
export interface RunOpts {
|
|
8
8
|
sync?: boolean;
|
|
9
9
|
}
|
|
@@ -11,4 +11,4 @@ export interface RunOpts {
|
|
|
11
11
|
* @tsplus pipeable dfx/InteractionBuilder runGateway
|
|
12
12
|
* @tsplus location "dfx/Interactions/gateway"
|
|
13
13
|
*/
|
|
14
|
-
export declare const run: <R, R2, E, E2>(postHandler: (effect: import("@effect/io/Effect").Effect<R |
|
|
14
|
+
export declare const run: <R, R2, E, E2>(postHandler: (effect: import("@effect/io/Effect").Effect<R | DiscordREST | import("../types.js").Interaction, E | DiscordRESTError | DefinitionNotFound, void>) => import("@effect/io/Effect").Effect<R2, E2, void>, { sync }?: RunOpts) => (ix: InteractionBuilder<R, E>) => import("@effect/io/Effect").Effect<DiscordREST | DiscordGateway | Exclude<R2, import("../types.js").Interaction>, E2 | DiscordRESTError | Http.ResponseDecodeError, void>;
|
package/Interactions/gateway.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/data/Function";
|
|
3
|
-
import * as tsplus_module_3 from "dfx";
|
|
4
|
-
import * as tsplus_module_4 from "dfx/gateway";
|
|
5
3
|
import * as Http from "@effect-http/client";
|
|
6
4
|
import { handlers } from "./handlers.js";
|
|
7
5
|
import { InteractionContext } from "./index.js";
|
|
8
6
|
import { splitDefinitions } from "./utils.js";
|
|
7
|
+
import { DiscordREST } from "dfx/DiscordREST";
|
|
8
|
+
import { DiscordGateway } from "dfx/DiscordGateway";
|
|
9
9
|
/**
|
|
10
10
|
* @tsplus pipeable dfx/InteractionBuilder runGateway
|
|
11
11
|
*/
|
|
12
12
|
export const run = (postHandler, { sync = true } = {}) => (ix) => (() => {
|
|
13
13
|
const { GlobalApplicationCommand, GuildApplicationCommand } = splitDefinitions(ix.definitions);
|
|
14
|
-
return tsplus_module_1.flatMap(
|
|
14
|
+
return tsplus_module_1.flatMap(DiscordGateway, gateway => tsplus_module_1.flatMap(DiscordREST, rest => tsplus_module_1.flatMap(tsplus_module_1.flatMap(rest.getCurrentBotApplicationInformation(), a => a.json), application => {
|
|
15
15
|
const globalSync = rest.bulkOverwriteGlobalApplicationCommands(application.id, { body: Http.body.json(GlobalApplicationCommand.map(a => a.command)) });
|
|
16
16
|
const guildSync = GuildApplicationCommand.length
|
|
17
17
|
? gateway.handleDispatch("GUILD_CREATE", a => rest.bulkOverwriteGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(a => a.command)))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAsB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAsB,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAMnD;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GACd,CACE,WAMyB,EACzB,EAAE,IAAI,GAAG,IAAI,KAAc,EAAE,EAC7B,EAAE,CACJ,CAAC,EAA4B,EAAE,EAAE;IAE7B,MAAM,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,GACzD,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;mCAEhB,cAAc,EAA1B,OAAO,4BACE,WAAW,EAApB,IAAI,4BAGR,wBAAA,IAAI,CAAC,mCAAmC,EAAE,EAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAD3D,WAAW;QAIjB,MAAM,UAAU,GAAG,IAAI,CAAC,sCAAsC,CAC5D,WAAW,CAAC,EAAE,EACd,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CACvE,CAAA;QAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM;YAC9C,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CACzC,IAAI,CAAC,qCAAqC,CACxC,WAAW,CAAC,EAAE,EACd,CAAC,CAAC,EAAE,EACJ,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAQ,CACnD,CACF;YACH,CAAC,CAAC,sBAAa,CAAA;QAEjB,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAC3D,+BAAA,gBAAA,IAAI,CACF,oBAAA,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAK,CAAC,CAAC,EAAE,CACxB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CACjD,EACD,WAAW,CACZ,EAAgB,kBAAkB,EAAE,CAAC,CAAC,CACxC,CAAA;mCAGC,IAAI;YACF,CAAC,CAAC,uBAAA,uBAAA,uBAAA,GAAG,EAAQ,UAAU,CAAC,EAAQ,SAAS,CAAC,EAAQ,OAAO,CAAC,GAAG,CAAC;YAC9D,CAAC,CAAC,GAAG;;IAET,CAAA"}
|
package/Interactions/handlers.js
CHANGED
|
@@ -2,8 +2,8 @@ import * as tsplus_module_1 from "dfx/_common";
|
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
3
|
import * as tsplus_module_3 from "@effect/data/Option";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/data/Function";
|
|
5
|
-
import * as tsplus_module_5 from "dfx";
|
|
6
5
|
import * as Arr from "@effect/data/ReadonlyArray";
|
|
6
|
+
import * as IxHelpers from "dfx/Helpers/interactions";
|
|
7
7
|
import * as Ctx from "./context.js";
|
|
8
8
|
import { splitDefinitions } from "./utils.js";
|
|
9
9
|
export class DefinitionNotFound {
|
|
@@ -48,7 +48,7 @@ export const handlers = (definitions) => {
|
|
|
48
48
|
},
|
|
49
49
|
[4 /* Discord.InteractionType.APPLICATION_COMMAND_AUTOCOMPLETE */]: i => {
|
|
50
50
|
const data = i.data;
|
|
51
|
-
return tsplus_module_3.getOrElse(tsplus_module_3.map(
|
|
51
|
+
return tsplus_module_3.getOrElse(tsplus_module_3.map(IxHelpers.focusedOption(data), focusedOption => tsplus_module_4.pipe(Autocomplete, Arr.map(_ => tsplus_module_2.all({
|
|
52
52
|
command: tsplus_module_2.succeed(_),
|
|
53
53
|
match: _.predicate(data, focusedOption),
|
|
54
54
|
})), _ => tsplus_module_2.provideService(tsplus_module_2.provideService(tsplus_module_2.flatMap(tsplus_module_2.allPar(_), _ => tsplus_module_3.match(Arr.findFirst(_, _ => _.match), () => tsplus_module_2.fail(new DefinitionNotFound(i)), _ => _.command.handle)), Ctx.ApplicationCommandContext, data), Ctx.FocusedOptionContext, { focusedOption }))), () => tsplus_module_2.fail(new DefinitionNotFound(i)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":"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"}
|
package/RateLimit.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Effect, Maybe, Duration } from "dfx/_common";
|
|
2
|
+
import { Log } from "dfx/Log";
|
|
2
3
|
export type BucketDetails = {
|
|
3
4
|
key: "global" | string;
|
|
4
5
|
resetAfter: number;
|
|
@@ -14,11 +15,11 @@ export interface RateLimitStore {
|
|
|
14
15
|
}
|
|
15
16
|
export declare const RateLimitStore: import("@effect/data/Context").Tag<RateLimitStore, RateLimitStore>;
|
|
16
17
|
export declare const LiveMemoryRateLimitStore: import("@effect-http/client/_common").Layer<never, never, RateLimitStore>;
|
|
17
|
-
declare const makeLimiter: import("@effect/io/Effect").Effect<
|
|
18
|
+
declare const makeLimiter: import("@effect/io/Effect").Effect<Log | RateLimitStore, never, {
|
|
18
19
|
maybeWait: (key: string, window: Duration, limit: number, multiplier?: number) => import("@effect/io/Effect").Effect<never, never, void>;
|
|
19
20
|
}>;
|
|
20
21
|
export interface RateLimiter extends Effect.Success<typeof makeLimiter> {
|
|
21
22
|
}
|
|
22
23
|
export declare const RateLimiter: import("@effect/data/Context").Tag<RateLimiter, RateLimiter>;
|
|
23
|
-
export declare const LiveRateLimiter: import("@effect-http/client/_common").Layer<
|
|
24
|
+
export declare const LiveRateLimiter: import("@effect-http/client/_common").Layer<Log | RateLimitStore, never, RateLimiter>;
|
|
24
25
|
export {};
|
package/RateLimit.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "dfx/_common";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Layer";
|
|
3
3
|
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
|
-
import * as tsplus_module_4 from "dfx";
|
|
5
4
|
import { delayFrom } from "./RateLimit/utils.js";
|
|
6
5
|
import * as Memory from "./RateLimit/memory.js";
|
|
6
|
+
import { Log } from "dfx/Log";
|
|
7
7
|
export const RateLimitStore = tsplus_module_1.Tag();
|
|
8
8
|
export const LiveMemoryRateLimitStore = tsplus_module_2.sync(RateLimitStore, Memory.make);
|
|
9
|
-
const makeLimiter = tsplus_module_3.flatMap(RateLimitStore, store => tsplus_module_3.map(
|
|
9
|
+
const makeLimiter = tsplus_module_3.flatMap(RateLimitStore, store => tsplus_module_3.map(Log, log => {
|
|
10
10
|
const maybeWait = (key, window, limit, multiplier = 1.05) => {
|
|
11
11
|
const windowMs = window.millis * multiplier;
|
|
12
12
|
return tsplus_module_3.asUnit(tsplus_module_3.tap(tsplus_module_3.tap(tsplus_module_3.map(store
|
package/RateLimit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateLimit.js","sourceRoot":"","sources":["../src/RateLimit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RateLimit.js","sourceRoot":"","sources":["../src/RateLimit.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AA+B7B,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAW,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAE/E,MAAM,WAAW,2BACC,cAAc,EAAxB,KAAK,wBACG,GAAG,EAAX,GAAG;IAET,MAAM,SAAS,GAAG,CAChB,GAAW,EACX,MAAgB,EAChB,KAAa,EACb,UAAU,GAAG,IAAI,EACjB,EAAE;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;QAE3C,8BAAO,oBAAA,oBAAA,oBAAA,KAAK;aACT,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,EAClC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EACzD,CAAC,CAAC,EAAE,CACP,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACpC,GAAG;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;YACR,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,MAAM;SAChB,CAAC,CACH,EACI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC,CAAC,CAAC,sBAAa,CAAC,CAAC,CAAC,CAAC,EAAO;IACxE,CAAC,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,CAAA;GACpB,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAA,GAAG,EAAe,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAa,WAAW,EAAE,WAAW,CAAC,CAAA"}
|
package/global.d.ts
CHANGED
|
@@ -10,14 +10,6 @@ import { Tag, Discord } from "dfx/_common";
|
|
|
10
10
|
* @tsplus global
|
|
11
11
|
*/
|
|
12
12
|
import { pipe, flow, identity } from "@effect/data/Function";
|
|
13
|
-
/**
|
|
14
|
-
* @tsplus global
|
|
15
|
-
*/
|
|
16
|
-
import { DiscordConfig, RateLimiter, Log, DiscordREST, BucketDetails, Intents, Ix, RateLimitStore, LiveDiscordREST, LiveMemoryRateLimitStore, LiveRateLimiter, Flags, Members, IxHelpers, Perms, } from "dfx";
|
|
17
|
-
/**
|
|
18
|
-
* @tsplus global
|
|
19
|
-
*/
|
|
20
|
-
import { DiscordWS, Gateway, WS, Shard, ShardStore } from "dfx/gateway";
|
|
21
13
|
/**
|
|
22
14
|
* @tsplus global
|
|
23
15
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -26,13 +26,14 @@
|
|
|
26
26
|
"./*": "./*.js"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@tim-smart/discord-api-docs-parser": "^0.5.
|
|
29
|
+
"@tim-smart/discord-api-docs-parser": "^0.5.2",
|
|
30
30
|
"@tsplus-types/effect__data": "0.12.2-3b576ba",
|
|
31
31
|
"@tsplus-types/effect__io": "0.25.2-3b576ba",
|
|
32
32
|
"@tsplus-types/effect__stream": "0.21.0-3b576ba",
|
|
33
33
|
"@types/ws": "^8.5.4",
|
|
34
34
|
"dotenv": "^16.0.3",
|
|
35
35
|
"lerna": "^6.6.1",
|
|
36
|
+
"madge": "^6.0.0",
|
|
36
37
|
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.171/compiler/typescript.tgz"
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
@@ -49,5 +50,5 @@
|
|
|
49
50
|
"ws": "^8.13.0"
|
|
50
51
|
},
|
|
51
52
|
"sideEffects": false,
|
|
52
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "9292e44bd76df8f9481f1d0016245de67f91b118"
|
|
53
54
|
}
|