dfx 0.7.1 → 0.8.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.
@@ -1,4 +1,4 @@
1
- import { Discord, Effect } from "dfx/common";
1
+ import { Discord, Effect, Maybe } from "dfx/common";
2
2
  export type InteractionResponse = {
3
3
  type: Discord.InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE;
4
4
  data: Discord.InteractionCallbackMessage;
@@ -24,38 +24,38 @@ type DescriptionMissing<A> = A extends {
24
24
  export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
25
25
  export declare class GlobalApplicationCommand<R, E> {
26
26
  readonly command: Discord.CreateGlobalApplicationCommandParams;
27
- readonly handle: Effect<R, E, InteractionResponse>;
27
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>;
28
28
  readonly _tag = "GlobalApplicationCommand";
29
- constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: Effect<R, E, InteractionResponse>);
29
+ constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: Effect<R, E, Maybe<InteractionResponse>>);
30
30
  }
31
- export declare const global: <R, E, A extends import("../types.js").CreateGlobalApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : import("../common.js").Effect<R, E, InteractionResponse>) => GlobalApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
31
+ export declare const global: <R, E, A extends import("../types.js").CreateGlobalApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : import("../common.js").Effect<R, E, import("../common.js").Maybe<InteractionResponse>>) => GlobalApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
32
32
  export declare class GuildApplicationCommand<R, E> {
33
33
  readonly command: Discord.CreateGuildApplicationCommandParams;
34
- readonly handle: Effect<R, E, InteractionResponse>;
34
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>;
35
35
  readonly _tag = "GuildApplicationCommand";
36
- constructor(command: Discord.CreateGuildApplicationCommandParams, handle: Effect<R, E, InteractionResponse>);
36
+ constructor(command: Discord.CreateGuildApplicationCommandParams, handle: Effect<R, E, Maybe<InteractionResponse>>);
37
37
  }
38
- export declare const guild: <R, E, A extends import("../types.js").CreateGuildApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : import("../common.js").Effect<R, E, InteractionResponse>) => GuildApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
38
+ export declare const guild: <R, E, A extends import("../types.js").CreateGuildApplicationCommandParams>(command: A, handle: DescriptionMissing<A> extends true ? "command description is missing" : import("../common.js").Effect<R, E, import("../common.js").Maybe<InteractionResponse>>) => GuildApplicationCommand<Exclude<R, import("../types.js").ApplicationCommandDatum | import("../types.js").Interaction>, E>;
39
39
  export declare class MessageComponent<R, E> {
40
40
  readonly predicate: (customId: string) => Effect<R, E, boolean>;
41
- readonly handle: Effect<R, E, InteractionResponse>;
41
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>;
42
42
  readonly _tag = "MessageComponent";
43
- constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, InteractionResponse>);
43
+ constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, Maybe<InteractionResponse>>);
44
44
  }
45
- export declare const messageComponent: <R1, R2, E1, E2>(pred: (customId: string) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, InteractionResponse>) => MessageComponent<Exclude<R1, import("../types.js").Interaction | import("../types.js").MessageComponentDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").MessageComponentDatum>, E1 | E2>;
45
+ export declare const messageComponent: <R1, R2, E1, E2>(pred: (customId: string) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, import("../common.js").Maybe<InteractionResponse>>) => MessageComponent<Exclude<R1, import("../types.js").Interaction | import("../types.js").MessageComponentDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").MessageComponentDatum>, E1 | E2>;
46
46
  export declare class ModalSubmit<R, E> {
47
47
  readonly predicate: (customId: string) => Effect<R, E, boolean>;
48
- readonly handle: Effect<R, E, InteractionResponse>;
48
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>;
49
49
  readonly _tag = "ModalSubmit";
50
- constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, InteractionResponse>);
50
+ constructor(predicate: (customId: string) => Effect<R, E, boolean>, handle: Effect<R, E, Maybe<InteractionResponse>>);
51
51
  }
52
- export declare const modalSubmit: <R1, R2, E1, E2>(pred: (customId: string) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, InteractionResponse>) => ModalSubmit<Exclude<R1, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum>, E1 | E2>;
52
+ export declare const modalSubmit: <R1, R2, E1, E2>(pred: (customId: string) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, import("../common.js").Maybe<InteractionResponse>>) => ModalSubmit<Exclude<R1, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum> | Exclude<R2, import("../types.js").Interaction | import("../types.js").ModalSubmitDatum>, E1 | E2>;
53
53
  export declare class Autocomplete<R, E> {
54
54
  readonly predicate: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>;
55
- readonly handle: Effect<R, E, InteractionResponse>;
55
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>;
56
56
  readonly _tag = "Autocomplete";
57
- constructor(predicate: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>, handle: Effect<R, E, InteractionResponse>);
57
+ constructor(predicate: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => Effect<R, E, boolean>, handle: Effect<R, E, Maybe<InteractionResponse>>);
58
58
  }
59
- export declare const autocomplete: <R1, R2, E1, E2>(pred: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, InteractionResponse>) => Autocomplete<Exclude<R1, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction> | Exclude<R2, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction>, E1 | E2>;
59
+ export declare const autocomplete: <R1, R2, E1, E2>(pred: (focusedOption: Discord.ApplicationCommandInteractionDataOption) => import("../common.js").Effect<R1, E1, boolean>, handle: import("../common.js").Effect<R2, E2, import("../common.js").Maybe<InteractionResponse>>) => Autocomplete<Exclude<R1, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction> | Exclude<R2, import("../types.js").ApplicationCommandDatum | import("../types.js").ApplicationCommandInteractionDataOption | import("../types.js").Interaction>, E1 | E2>;
60
60
  export {};
61
61
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":";AAuCA,MAAM,OAAO,wBAAwB;IAGxB;IACA;IAHF,IAAI,GAAG,0BAA0B,CAAA;IAC1C,YACW,OAAqD,EACrD,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA8C;QACrD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAKpB,OAAU,EACV,MAEqC,EACrC,EAAE,CACF,IAAI,wBAAwB,CAG1B,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,uBAAuB;IAGvB;IACA;IAHF,IAAI,GAAG,yBAAyB,CAAA;IACzC,YACW,OAAoD,EACpD,MAAyC;QADzC,YAAO,GAAP,OAAO,CAA6C;QACpD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAKnB,OAAU,EACV,MAEqC,EACrC,EAAE,CACF,IAAI,uBAAuB,CAGzB,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IAGhB;IACA;IAHF,IAAI,GAAG,kBAAkB,CAAA;IAClC,YACW,SAAsD,EACtD,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAmD,EACnD,MAA2C,EAC3C,EAAE,CACF,IAAI,gBAAgB,CAGlB,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,WAAW;IAGX;IACA;IAHF,IAAI,GAAG,aAAa,CAAA;IAC7B,YACW,SAAsD,EACtD,MAAyC;QADzC,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAmD,EACnD,MAA2C,EAC3C,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAGA;IALF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAEiB,EACjB,MAAyC;QAHzC,cAAS,GAAT,SAAS,CAEQ;QACjB,WAAM,GAAN,MAAM,CAAmC;IACjD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAE4B,EAC5B,MAA2C,EAC3C,EAAE,CACF,IAAI,YAAY,CAQd,IAAW,EAAE,MAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/Interactions/definitions.ts"],"names":[],"mappings":";AAuCA,MAAM,OAAO,wBAAwB;IAGxB;IACA;IAHF,IAAI,GAAG,0BAA0B,CAAA;IAC1C,YACW,OAAqD,EACrD,MAAgD;QADhD,YAAO,GAAP,OAAO,CAA8C;QACrD,WAAM,GAAN,MAAM,CAA0C;IACxD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAKpB,OAAU,EACV,MAE4C,EAC5C,EAAE,CACF,IAAI,wBAAwB,CAG1B,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,uBAAuB;IAGvB;IACA;IAHF,IAAI,GAAG,yBAAyB,CAAA;IACzC,YACW,OAAoD,EACpD,MAAgD;QADhD,YAAO,GAAP,OAAO,CAA6C;QACpD,WAAM,GAAN,MAAM,CAA0C;IACxD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAKnB,OAAU,EACV,MAE4C,EAC5C,EAAE,CACF,IAAI,uBAAuB,CAGzB,OAAO,EAAE,MAAa,CAAC,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IAGhB;IACA;IAHF,IAAI,GAAG,kBAAkB,CAAA;IAClC,YACW,SAAsD,EACtD,MAAgD;QADhD,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAA0C;IACxD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAmD,EACnD,MAAkD,EAClD,EAAE,CACF,IAAI,gBAAgB,CAGlB,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,WAAW;IAGX;IACA;IAHF,IAAI,GAAG,aAAa,CAAA;IAC7B,YACW,SAAsD,EACtD,MAAgD;QADhD,cAAS,GAAT,SAAS,CAA6C;QACtD,WAAM,GAAN,MAAM,CAA0C;IACxD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAmD,EACnD,MAAkD,EAClD,EAAE,CACF,IAAI,WAAW,CAGb,IAAW,EAAE,MAAa,CAAC,CAAA;AAE/B,MAAM,OAAO,YAAY;IAGZ;IAGA;IALF,IAAI,GAAG,cAAc,CAAA;IAC9B,YACW,SAEiB,EACjB,MAAgD;QAHhD,cAAS,GAAT,SAAS,CAEQ;QACjB,WAAM,GAAN,MAAM,CAA0C;IACxD,CAAC;CACL;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAE4B,EAC5B,MAAkD,EAClD,EAAE,CACF,IAAI,YAAY,CAQd,IAAW,EAAE,MAAa,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
+ import { Http, Effect } from "dfx/common";
1
2
  import * as D from "./definitions.js";
2
3
  export interface RunOpts {
3
4
  sync?: boolean;
4
5
  }
5
- export declare const run: <R, E>(definitions: D.InteractionDefinition<R, E>[], { sync }?: RunOpts) => import("../common.js").Effect<import("../index.js").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway | R, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, void>;
6
+ export declare const run: <R, R2, E, E2>(definitions: D.InteractionDefinition<R, E>[], catchAll: (e: import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E) => import("../common.js").Effect<R2, E2, any>, { sync }?: RunOpts) => import("../common.js").Effect<import("../index.js").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway | R | R2, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E2, void>;
6
7
  //# sourceMappingURL=gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAIrC,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,eAAO,MAAM,GAAG,kEAEG,OAAO,yQAiCtB,CAAA"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAIrC,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,eAAO,MAAM,GAAG,2QAKG,OAAO,+QAqCtB,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import * as tsplus_module_1 from "@effect/io/Effect";
2
2
  import * as tsplus_module_2 from "dfx/common";
3
+ import * as tsplus_module_3 from "@fp-ts/data/Option";
3
4
  import { handlers } from "./handlers.js";
4
5
  import { splitDefinitions } from "./utils.js";
5
- export const run = (definitions, { sync = true } = {}) => (() => {
6
+ export const run = (definitions, catchAll, { sync = true } = {}) => (() => {
6
7
  const { globalCommands, guildCommands } = splitDefinitions(definitions);
7
8
  return tsplus_module_1.flatMap(application => {
8
9
  const globalSync = tsplus_module_2.Rest.rest.bulkOverwriteGlobalApplicationCommands(application.id, {
@@ -10,7 +11,7 @@ export const run = (definitions, { sync = true } = {}) => (() => {
10
11
  });
11
12
  const guildSync = tsplus_module_2.Gateway.handleDispatch("GUILD_CREATE", (a) => tsplus_module_2.Rest.rest.bulkOverwriteGuildApplicationCommands(application.id, a.id, guildCommands.map((a) => a.command)));
12
13
  const handle = handlers(definitions);
13
- const run = tsplus_module_2.Gateway.handleDispatch("INTERACTION_CREATE", (i) => tsplus_module_1.tap((r) => tsplus_module_2.Rest.rest.createInteractionResponse(i.id, i.token, r))(handle[i.type](i)));
14
+ const run = tsplus_module_2.Gateway.handleDispatch("INTERACTION_CREATE", (i) => tsplus_module_1.catchAll(catchAll)(tsplus_module_1.tap((r) => tsplus_module_3.match(tsplus_module_1.unit, (r) => tsplus_module_2.Rest.rest.createInteractionResponse(i.id, i.token, r))(r))(handle[i.type](i))));
14
15
  return tsplus_module_1.map(() => void 0)(sync ? tsplus_module_1.zipPar(guildSync)(tsplus_module_1.zipPar(globalSync)(run)) : run);
15
16
  })(tsplus_module_1.flatMap((a) => a.json)(tsplus_module_2.Rest.rest.getCurrentBotApplicationInformation()));
16
17
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAM7C,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,WAA4C,EAC5C,EAAE,IAAI,GAAG,IAAI,KAAc,EAAE,EAC7B,EAAE;IAEA,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;mCAEjE,WAAW;QAIjB,MAAM,UAAU,GAAG,gBAAA,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACjE,WAAW,CAAC,EAAE,EACd;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3D,CACF,CAAA;QAED,MAAM,SAAS,GAAG,gBAAA,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7D,gBAAA,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAC7C,WAAW,CAAC,EAAE,EACd,CAAC,CAAC,EAAE,EACJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAQ,CAC3C,CACF,CAAA;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEpC,MAAM,GAAG,GAAG,gBAAA,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7D,oBAAsB,CAAC,CAAC,EAAE,EAAE,CAC1B,gBAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EADvD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAEhB,CACF,CAAA;iDAEC,IAAI,CAAC,CAAC,CAAC,uBAA8B,SAAS,EAAvC,uBAAW,UAAU,EAArB,GAAG,CAAmB,CAAkB,CAAC,CAAC,CAAC,GAAG;OA1BrD,wBAAwD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAArE,gBAAA,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAuB;IA2BxE,CAAA"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAM7C,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,WAA4C,EAC5C,QAEwB,EACxB,EAAE,IAAI,GAAG,IAAI,KAAc,EAAE,EAC7B,EAAE;IAEA,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;mCAEjE,WAAW;QAIjB,MAAM,UAAU,GAAG,gBAAA,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACjE,WAAW,CAAC,EAAE,EACd;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3D,CACF,CAAA;QAED,MAAM,SAAS,GAAG,gBAAA,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7D,gBAAA,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAC7C,WAAW,CAAC,EAAE,EACd,CAAC,CAAC,EAAE,EACJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAQ,CAC3C,CACF,CAAA;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEpC,MAAM,GAAG,GAAG,gBAAA,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7D,yBAMY,QAAQ,EANpB,oBACO,CAAC,CAAC,EAAE,EAAE,CACT,4CAAqB,CAAC,CAAC,EAAE,EAAE,CACzB,gBAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EADvD,CAAC,CAEA,EAJL,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAKd,CACkB,CACtB,CAAA;iDAEC,IAAI,CAAC,CAAC,CAAC,uBAA8B,SAAS,EAAvC,uBAAW,UAAU,EAArB,GAAG,CAAmB,CAAkB,CAAC,CAAC,CAAC,GAAG;OA9BrD,wBAAwD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAArE,gBAAA,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAuB;IA+BxE,CAAA"}
@@ -1,9 +1,9 @@
1
- import { Discord, Effect } from "dfx/common";
1
+ import { Discord, Effect, Maybe } from "dfx/common";
2
2
  import * as D from "./definitions.js";
3
3
  export declare class InteractionNotFound {
4
4
  readonly interaction: Discord.Interaction;
5
5
  readonly _tag = "InteractionNotFound";
6
6
  constructor(interaction: Discord.Interaction);
7
7
  }
8
- export declare const handlers: <R, E>(definitions: D.InteractionDefinition<R, E>[]) => Record<import("../types.js").InteractionType, (i: Discord.Interaction) => import("../common.js").Effect<R, E, import("../types.js").InteractionResponse>>;
8
+ export declare const handlers: <R, E>(definitions: D.InteractionDefinition<R, E>[]) => Record<import("../types.js").InteractionType, (i: Discord.Interaction) => import("../common.js").Effect<R, E, import("../common.js").Maybe<import("../types.js").InteractionResponse>>>;
9
9
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAIrC,qBAAa,mBAAmB;IAElB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW;IADrD,QAAQ,CAAC,IAAI,yBAAwB;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;CACtD;AAED,eAAO,MAAM,QAAQ,4GAIf,QAAQ,WAAW,oFA4HxB,CAAA"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAIrC,qBAAa,mBAAmB;IAElB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW;IADrD,QAAQ,CAAC,IAAI,yBAAwB;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;CACtD;AAED,eAAO,MAAM,QAAQ,4GAIf,QAAQ,WAAW,kHA4HxB,CAAA"}
@@ -16,9 +16,9 @@ export class InteractionNotFound {
16
16
  export const handlers = (definitions) => {
17
17
  const { allCommands, autocompletes, messageComponents, modalSubmits } = splitDefinitions(definitions);
18
18
  return {
19
- [tsplus_module_1.Discord.InteractionType.PING]: () => tsplus_module_2.succeed({
19
+ [tsplus_module_1.Discord.InteractionType.PING]: () => tsplus_module_2.asSome(tsplus_module_2.succeed({
20
20
  type: tsplus_module_1.Discord.InteractionCallbackType.PONG,
21
- }),
21
+ })),
22
22
  [tsplus_module_1.Discord.InteractionType.APPLICATION_COMMAND]: (i) => {
23
23
  const data = i.data;
24
24
  return tsplus_module_4.pipe(tsplus_module_3.match(() => tsplus_module_2.fail(new InteractionNotFound(i)), (command) => command.handle)(tsplus_module_3.fromNullable(allCommands[data.name])), tsplus_module_2.provideService(Ctx.InteractionContext)(i), tsplus_module_2.provideService(Ctx.ApplicationCommandContext)(data));
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/Interactions/handlers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Discord } from "dfx/common";
1
+ import { Http, Effect, Discord } from "dfx/common";
2
2
  import * as D from "./definitions.js";
3
3
  import * as Gateway from "./gateway.js";
4
4
  import * as Webhook from "./webhook.js";
@@ -9,8 +9,8 @@ declare class InteractionBuilder<R, E> {
9
9
  readonly definitions: D.InteractionDefinition<R, E>[];
10
10
  constructor(definitions: D.InteractionDefinition<R, E>[]);
11
11
  add<R1, E1>(definition: D.InteractionDefinition<R1, E1>): InteractionBuilder<R | R1, E | E1>;
12
- runGateway(opts?: Gateway.RunOpts): import("../common.js").Effect<import("../index.js").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway | R, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, void>;
13
- handleWebhook(headers: Record<string, string>, rawBody: string): import("../common.js").Effect<Webhook.WebhookConfig | R, Webhook.BadWebhookSignature | Webhook.WebhookParseError | E, import("../types.js").InteractionResponse>;
12
+ runGateway<R2, E2>(catchAll: (e: E | Http.FetchError | Http.StatusCodeError | Http.JsonParseError) => Effect<R2, E2, any>, opts?: Gateway.RunOpts): import("../common.js").Effect<import("../index.js").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway | R | R2, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E2, void>;
13
+ handleWebhook(headers: Record<string, string>, rawBody: string): import("../common.js").Effect<Webhook.WebhookConfig | R, Webhook.BadWebhookSignature | Webhook.WebhookParseError | E, import("../common.js").Maybe<import("../types.js").InteractionResponse>>;
14
14
  }
15
15
  export declare const builder: InteractionBuilder<never, never>;
16
16
  export declare const id: (query: string) => (customId: string) => import("../common.js").Effect<never, never, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,cAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACf,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAA5C,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAEjE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;IAOvD,UAAU,CAAC,IAAI,GAAE,OAAO,CAAC,OAAY;IAIrC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAG/D;AAED,eAAO,MAAM,OAAO,kCAA2C,CAAA;AAG/D,eAAO,MAAM,EAAE,UAAW,MAAM,gBAAgB,MAAM,yDAClB,CAAA;AAEpC,eAAO,MAAM,YAAY,UAAW,MAAM,gBAAgB,MAAM,yDACpB,CAAA;AAE5C,eAAO,MAAM,KAAK,UAAW,MAAM,gBAAgB,MAAM,yDACnB,CAAA;AAEtC,eAAO,MAAM,MAAM,SACV,MAAM,qBACG,QAAQ,uCAAuC,yDAClB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,cAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACf,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAA5C,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAEjE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;IAOvD,UAAU,CAAC,EAAE,EAAE,EAAE,EACf,QAAQ,EAAE,CACR,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,KAChE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EACxB,IAAI,GAAE,OAAO,CAAC,OAAY;IAK5B,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAG/D;AAED,eAAO,MAAM,OAAO,kCAA2C,CAAA;AAG/D,eAAO,MAAM,EAAE,UAAW,MAAM,gBAAgB,MAAM,yDAClB,CAAA;AAEpC,eAAO,MAAM,YAAY,UAAW,MAAM,gBAAgB,MAAM,yDACpB,CAAA;AAE5C,eAAO,MAAM,KAAK,UAAW,MAAM,gBAAgB,MAAM,yDACnB,CAAA;AAEtC,eAAO,MAAM,MAAM,SACV,MAAM,qBACG,QAAQ,uCAAuC,yDAClB,CAAA"}
@@ -15,8 +15,8 @@ class InteractionBuilder {
15
15
  definition,
16
16
  ]);
17
17
  }
18
- runGateway(opts = {}) {
19
- return Gateway.run(this.definitions, opts);
18
+ runGateway(catchAll, opts = {}) {
19
+ return Gateway.run(this.definitions, catchAll, opts);
20
20
  }
21
21
  handleWebhook(headers, rawBody) {
22
22
  return Webhook.run(this.definitions, headers, rawBody);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,GAEb,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,MAAM,kBAAkB;IACD;IAArB,YAAqB,WAA4C;QAA5C,gBAAW,GAAX,WAAW,CAAiC;IAAG,CAAC;IAErE,GAAG,CAAS,UAA2C;QACrD,OAAO,IAAI,kBAAkB,CAAiB;YAC5C,GAAG,IAAI,CAAC,WAAW;YACnB,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,OAAwB,EAAE;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAC,OAA+B,EAAE,OAAe;QAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAe,EAAE,CAAC,CAAA;AAE/D,UAAU;AACV,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CACxD,wBAAe,KAAK,KAAK,QAAQ,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CAClE,wBAAe,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CAC3D,wBAAe,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,aAA8D,EAAE,EAAE,CACjE,wBAAe,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,GAEb,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,MAAM,kBAAkB;IACD;IAArB,YAAqB,WAA4C;QAA5C,gBAAW,GAAX,WAAW,CAAiC;IAAG,CAAC;IAErE,GAAG,CAAS,UAA2C;QACrD,OAAO,IAAI,kBAAkB,CAAiB;YAC5C,GAAG,IAAI,CAAC,WAAW;YACnB,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CACR,QAEwB,EACxB,OAAwB,EAAE;QAE1B,OAAO,OAAO,CAAC,GAAG,CAAe,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACpE,CAAC;IAED,aAAa,CAAC,OAA+B,EAAE,OAAe;QAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAe,EAAE,CAAC,CAAA;AAE/D,UAAU;AACV,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CACxD,wBAAe,KAAK,KAAK,QAAQ,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CAClE,wBAAe,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CAC3D,wBAAe,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,aAA8D,EAAE,EAAE,CACjE,wBAAe,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA"}
@@ -14,5 +14,5 @@ export declare class WebhookParseError {
14
14
  readonly _tag = "WebhookParseError";
15
15
  constructor(reason: unknown);
16
16
  }
17
- export declare const run: <R, E>(definitions: D.InteractionDefinition<R, E>[], headers: Record<string, string>, body: string) => import("../common.js").Effect<WebhookConfig | R, BadWebhookSignature | WebhookParseError | E, import("../types.js").InteractionResponse>;
17
+ export declare const run: <R, E>(definitions: D.InteractionDefinition<R, E>[], headers: Record<string, string>, body: string) => import("../common.js").Effect<WebhookConfig | R, BadWebhookSignature | WebhookParseError | E, import("../common.js").Maybe<import("../types.js").InteractionResponse>>;
18
18
  //# sourceMappingURL=webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/Interactions/webhook.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAGrC,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAoBD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,eAAO,MAAM,aAAa,2CAAuB,CAAA;AACjD,eAAO,MAAM,UAAU,MAAO,aAAa,8DAAoC,CAAA;AAE/E,qBAAa,iBAAiB;IAEhB,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,uBAAsB;gBACd,MAAM,EAAE,OAAO;CACrC;AAcD,eAAO,MAAM,GAAG,gEAEL,OAAO,MAAM,EAAE,MAAM,CAAC,QACzB,MAAM,6IAKV,CAAA"}
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/Interactions/webhook.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAGrC,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAoBD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,eAAO,MAAM,aAAa,2CAAuB,CAAA;AACjD,eAAO,MAAM,UAAU,MAAO,aAAa,8DAAoC,CAAA;AAE/E,qBAAa,iBAAiB;IAEhB,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,uBAAsB;gBACd,MAAM,EAAE,OAAO;CACrC;AAcD,eAAO,MAAM,GAAG,gEAEL,OAAO,MAAM,EAAE,MAAM,CAAC,QACzB,MAAM,2KAKV,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -46,5 +46,5 @@
46
46
  "@fp-ts/data": "^0.0.19"
47
47
  }
48
48
  },
49
- "gitHead": "deffff918c754ffa55bb0a42d8e0d47dfc62f309"
49
+ "gitHead": "084c301d2677c70aa7b2d0ba0dcf00a1c95e08d0"
50
50
  }
@@ -41,7 +41,7 @@ export class GlobalApplicationCommand<R, E> {
41
41
  readonly _tag = "GlobalApplicationCommand"
42
42
  constructor(
43
43
  readonly command: Discord.CreateGlobalApplicationCommandParams,
44
- readonly handle: Effect<R, E, InteractionResponse>,
44
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>,
45
45
  ) {}
46
46
  }
47
47
 
@@ -53,7 +53,7 @@ export const global = <
53
53
  command: A,
54
54
  handle: DescriptionMissing<A> extends true
55
55
  ? "command description is missing"
56
- : Effect<R, E, InteractionResponse>,
56
+ : Effect<R, E, Maybe<InteractionResponse>>,
57
57
  ) =>
58
58
  new GlobalApplicationCommand<
59
59
  Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>,
@@ -64,7 +64,7 @@ export class GuildApplicationCommand<R, E> {
64
64
  readonly _tag = "GuildApplicationCommand"
65
65
  constructor(
66
66
  readonly command: Discord.CreateGuildApplicationCommandParams,
67
- readonly handle: Effect<R, E, InteractionResponse>,
67
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>,
68
68
  ) {}
69
69
  }
70
70
 
@@ -76,7 +76,7 @@ export const guild = <
76
76
  command: A,
77
77
  handle: DescriptionMissing<A> extends true
78
78
  ? "command description is missing"
79
- : Effect<R, E, InteractionResponse>,
79
+ : Effect<R, E, Maybe<InteractionResponse>>,
80
80
  ) =>
81
81
  new GuildApplicationCommand<
82
82
  Exclude<R, Discord.Interaction | Discord.ApplicationCommandDatum>,
@@ -87,13 +87,13 @@ export class MessageComponent<R, E> {
87
87
  readonly _tag = "MessageComponent"
88
88
  constructor(
89
89
  readonly predicate: (customId: string) => Effect<R, E, boolean>,
90
- readonly handle: Effect<R, E, InteractionResponse>,
90
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>,
91
91
  ) {}
92
92
  }
93
93
 
94
94
  export const messageComponent = <R1, R2, E1, E2>(
95
95
  pred: (customId: string) => Effect<R1, E1, boolean>,
96
- handle: Effect<R2, E2, InteractionResponse>,
96
+ handle: Effect<R2, E2, Maybe<InteractionResponse>>,
97
97
  ) =>
98
98
  new MessageComponent<
99
99
  Exclude<R1 | R2, Discord.Interaction | Discord.MessageComponentDatum>,
@@ -104,13 +104,13 @@ export class ModalSubmit<R, E> {
104
104
  readonly _tag = "ModalSubmit"
105
105
  constructor(
106
106
  readonly predicate: (customId: string) => Effect<R, E, boolean>,
107
- readonly handle: Effect<R, E, InteractionResponse>,
107
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>,
108
108
  ) {}
109
109
  }
110
110
 
111
111
  export const modalSubmit = <R1, R2, E1, E2>(
112
112
  pred: (customId: string) => Effect<R1, E1, boolean>,
113
- handle: Effect<R2, E2, InteractionResponse>,
113
+ handle: Effect<R2, E2, Maybe<InteractionResponse>>,
114
114
  ) =>
115
115
  new ModalSubmit<
116
116
  Exclude<R1 | R2, Discord.Interaction | Discord.ModalSubmitDatum>,
@@ -123,7 +123,7 @@ export class Autocomplete<R, E> {
123
123
  readonly predicate: (
124
124
  focusedOption: Discord.ApplicationCommandInteractionDataOption,
125
125
  ) => Effect<R, E, boolean>,
126
- readonly handle: Effect<R, E, InteractionResponse>,
126
+ readonly handle: Effect<R, E, Maybe<InteractionResponse>>,
127
127
  ) {}
128
128
  }
129
129
 
@@ -131,7 +131,7 @@ export const autocomplete = <R1, R2, E1, E2>(
131
131
  pred: (
132
132
  focusedOption: Discord.ApplicationCommandInteractionDataOption,
133
133
  ) => Effect<R1, E1, boolean>,
134
- handle: Effect<R2, E2, InteractionResponse>,
134
+ handle: Effect<R2, E2, Maybe<InteractionResponse>>,
135
135
  ) =>
136
136
  new Autocomplete<
137
137
  Exclude<
@@ -6,8 +6,11 @@ export interface RunOpts {
6
6
  sync?: boolean
7
7
  }
8
8
 
9
- export const run = <R, E>(
9
+ export const run = <R, R2, E, E2>(
10
10
  definitions: D.InteractionDefinition<R, E>[],
11
+ catchAll: (
12
+ e: Http.FetchError | Http.StatusCodeError | Http.JsonParseError | E,
13
+ ) => Effect<R2, E2, any>,
11
14
  { sync = true }: RunOpts = {},
12
15
  ) =>
13
16
  Do(($) => {
@@ -35,9 +38,13 @@ export const run = <R, E>(
35
38
  const handle = handlers(definitions)
36
39
 
37
40
  const run = Gateway.handleDispatch("INTERACTION_CREATE", (i) =>
38
- handle[i.type](i).tap((r) =>
39
- Rest.rest.createInteractionResponse(i.id, i.token, r),
40
- ),
41
+ handle[i.type](i)
42
+ .tap((r) =>
43
+ r.match(Effect.unit, (r) =>
44
+ Rest.rest.createInteractionResponse(i.id, i.token, r),
45
+ ),
46
+ )
47
+ .catchAll(catchAll),
41
48
  )
42
49
 
43
50
  $(sync ? run.zipPar(globalSync).zipPar(guildSync) : run)
@@ -12,7 +12,7 @@ export const handlers = <R, E>(
12
12
  definitions: D.InteractionDefinition<R, E>[],
13
13
  ): Record<
14
14
  Discord.InteractionType,
15
- (i: Discord.Interaction) => Effect<R, E, Discord.InteractionResponse>
15
+ (i: Discord.Interaction) => Effect<R, E, Maybe<Discord.InteractionResponse>>
16
16
  > => {
17
17
  const { allCommands, autocompletes, messageComponents, modalSubmits } =
18
18
  splitDefinitions(definitions)
@@ -21,7 +21,7 @@ export const handlers = <R, E>(
21
21
  [Discord.InteractionType.PING]: () =>
22
22
  Effect.succeed({
23
23
  type: Discord.InteractionCallbackType.PONG,
24
- }),
24
+ }).asSome,
25
25
 
26
26
  [Discord.InteractionType.APPLICATION_COMMAND]: (i) => {
27
27
  const data = i.data as Discord.ApplicationCommandDatum
@@ -32,7 +32,7 @@ export const handlers = <R, E>(
32
32
  Effect.fail(new InteractionNotFound(i)) as any as Effect<
33
33
  R,
34
34
  E,
35
- Discord.InteractionResponse
35
+ Maybe<Discord.InteractionResponse>
36
36
  >,
37
37
  (command) => command.handle,
38
38
  ),
@@ -61,7 +61,7 @@ export const handlers = <R, E>(
61
61
  Effect.fail(new InteractionNotFound(i)) as any as Effect<
62
62
  R,
63
63
  E,
64
- Discord.InteractionResponse
64
+ Maybe<Discord.InteractionResponse>
65
65
  >,
66
66
  (a) => a.command.handle,
67
67
  ),
@@ -91,7 +91,7 @@ export const handlers = <R, E>(
91
91
  Effect.fail(new InteractionNotFound(i)) as any as Effect<
92
92
  R,
93
93
  E,
94
- Discord.InteractionResponse
94
+ Maybe<Discord.InteractionResponse>
95
95
  >,
96
96
  (a) => a.command.handle,
97
97
  ),
@@ -123,7 +123,7 @@ export const handlers = <R, E>(
123
123
  Effect.fail(new InteractionNotFound(i)) as any as Effect<
124
124
  R,
125
125
  E,
126
- Discord.InteractionResponse
126
+ Maybe<Discord.InteractionResponse>
127
127
  >,
128
128
  (a) => a.command.handle,
129
129
  ),
@@ -30,8 +30,13 @@ class InteractionBuilder<R, E> {
30
30
  ])
31
31
  }
32
32
 
33
- runGateway(opts: Gateway.RunOpts = {}) {
34
- return Gateway.run(this.definitions, opts)
33
+ runGateway<R2, E2>(
34
+ catchAll: (
35
+ e: E | Http.FetchError | Http.StatusCodeError | Http.JsonParseError,
36
+ ) => Effect<R2, E2, any>,
37
+ opts: Gateway.RunOpts = {},
38
+ ) {
39
+ return Gateway.run<R, R2, E, E2>(this.definitions, catchAll, opts)
35
40
  }
36
41
 
37
42
  handleWebhook(headers: Record<string, string>, rawBody: string) {