dfx 0.8.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Discord, Effect, Cause, Http, Rest } 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";
|
|
5
5
|
export * from "./context.js";
|
|
6
6
|
export { global, guild, messageComponent, modalSubmit, autocomplete, InteractionDefinition, InteractionResponse, } from "./definitions.js";
|
|
7
7
|
export { makeConfig as makeWebhookConfig, WebhookConfig, WebhookParseError, BadWebhookSignature, } from "./webhook.js";
|
|
8
|
+
export interface HandleWebhookOpts<E> {
|
|
9
|
+
headers: Webhook.Headers;
|
|
10
|
+
body: string;
|
|
11
|
+
success: (a: Discord.InteractionResponse) => Effect<never, never, void>;
|
|
12
|
+
error: (e: Cause<E>) => Effect<never, never, void>;
|
|
13
|
+
empty: Effect<never, never, void>;
|
|
14
|
+
}
|
|
8
15
|
declare class InteractionBuilder<R, E> {
|
|
9
16
|
readonly definitions: D.InteractionDefinition<R, E>[];
|
|
10
17
|
constructor(definitions: D.InteractionDefinition<R, E>[]);
|
|
11
18
|
add<R1, E1>(definition: D.InteractionDefinition<R1, E1>): InteractionBuilder<R | R1, E | E1>;
|
|
12
19
|
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: Webhook.
|
|
20
|
+
handleWebhook({ headers, body, success, empty, error, }: HandleWebhookOpts<E | Webhook.WebhookParseError | Webhook.BadWebhookSignature>): import("../common.js").Effect<Webhook.WebhookConfig | R, never, void>;
|
|
14
21
|
get syncGlobal(): import("../common.js").Effect<import("../index.js").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError, import("../DiscordREST/types.js").ResponseWithData<import("../types.js").ApplicationCommand[]>>;
|
|
15
22
|
syncGuild(appId: Discord.Snowflake, guildId: Discord.Snowflake): import("../DiscordREST/types.js").RestResponse<import("../types.js").ApplicationCommand[]>;
|
|
16
23
|
}
|
|
@@ -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,EACrB,mBAAmB,GACpB,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,
|
|
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,EACrB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACvE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAClD,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAClC;AAED,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,EACZ,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,GACN,EAAE,iBAAiB,CAClB,CAAC,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAC5D;IAWD,IAAI,UAAU,qSAgBb;IAED,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS;CAc/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,5 +1,6 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "
|
|
1
|
+
import * as tsplus_module_1 from "@fp-ts/data/Option";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "dfx/common";
|
|
3
4
|
import * as Gateway from "./gateway.js";
|
|
4
5
|
import * as Webhook from "./webhook.js";
|
|
5
6
|
export * from "./context.js";
|
|
@@ -19,23 +20,23 @@ class InteractionBuilder {
|
|
|
19
20
|
runGateway(catchAll, opts = {}) {
|
|
20
21
|
return Gateway.run(this.definitions, catchAll, opts);
|
|
21
22
|
}
|
|
22
|
-
handleWebhook(headers,
|
|
23
|
-
return Webhook.run(this.definitions, headers,
|
|
23
|
+
handleWebhook({ headers, body, success, empty, error, }) {
|
|
24
|
+
return tsplus_module_2.catchAllCause(error)(tsplus_module_2.flatMap((o) => tsplus_module_1.match(() => empty, (a) => success(a))(o))(Webhook.run(this.definitions, headers, body)));
|
|
24
25
|
}
|
|
25
26
|
get syncGlobal() {
|
|
26
27
|
const commands = this.definitions
|
|
27
28
|
.filter((c) => c._tag === "GlobalApplicationCommand")
|
|
28
29
|
.map((c) => c.command);
|
|
29
|
-
return tsplus_module_2.flatMap((app) =>
|
|
30
|
+
return tsplus_module_2.flatMap((app) => tsplus_module_3.Rest.rest.bulkOverwriteGlobalApplicationCommands(app.id, {
|
|
30
31
|
body: JSON.stringify(commands),
|
|
31
|
-
}))(tsplus_module_2.flatMap((r) => r.json)(
|
|
32
|
+
}))(tsplus_module_2.flatMap((r) => r.json)(tsplus_module_3.Rest.rest
|
|
32
33
|
.getCurrentBotApplicationInformation()));
|
|
33
34
|
}
|
|
34
35
|
syncGuild(appId, guildId) {
|
|
35
36
|
const commands = this.definitions
|
|
36
37
|
.filter((c) => c._tag === "GuildApplicationCommand")
|
|
37
38
|
.map((c) => c.command);
|
|
38
|
-
return
|
|
39
|
+
return tsplus_module_3.Rest.rest.bulkOverwriteGuildApplicationCommands(appId, guildId, commands);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
export const builder = new InteractionBuilder([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interactions/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"@fp-ts/data": "^0.0.19"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "e093d8df9e08c12f61c0c9046f1dcb8e0839eed3"
|
|
54
54
|
}
|
|
@@ -21,6 +21,14 @@ export {
|
|
|
21
21
|
BadWebhookSignature,
|
|
22
22
|
} from "./webhook.js"
|
|
23
23
|
|
|
24
|
+
export interface HandleWebhookOpts<E> {
|
|
25
|
+
headers: Webhook.Headers
|
|
26
|
+
body: string
|
|
27
|
+
success: (a: Discord.InteractionResponse) => Effect<never, never, void>
|
|
28
|
+
error: (e: Cause<E>) => Effect<never, never, void>
|
|
29
|
+
empty: Effect<never, never, void>
|
|
30
|
+
}
|
|
31
|
+
|
|
24
32
|
class InteractionBuilder<R, E> {
|
|
25
33
|
constructor(readonly definitions: D.InteractionDefinition<R, E>[]) {}
|
|
26
34
|
|
|
@@ -40,8 +48,23 @@ class InteractionBuilder<R, E> {
|
|
|
40
48
|
return Gateway.run<R, R2, E, E2>(this.definitions, catchAll, opts)
|
|
41
49
|
}
|
|
42
50
|
|
|
43
|
-
handleWebhook(
|
|
44
|
-
|
|
51
|
+
handleWebhook({
|
|
52
|
+
headers,
|
|
53
|
+
body,
|
|
54
|
+
success,
|
|
55
|
+
empty,
|
|
56
|
+
error,
|
|
57
|
+
}: HandleWebhookOpts<
|
|
58
|
+
E | Webhook.WebhookParseError | Webhook.BadWebhookSignature
|
|
59
|
+
>) {
|
|
60
|
+
return Webhook.run(this.definitions, headers, body)
|
|
61
|
+
.flatMap((o) =>
|
|
62
|
+
o.match(
|
|
63
|
+
() => empty,
|
|
64
|
+
(a) => success(a),
|
|
65
|
+
),
|
|
66
|
+
)
|
|
67
|
+
.catchAllCause(error)
|
|
45
68
|
}
|
|
46
69
|
|
|
47
70
|
get syncGlobal() {
|