dfx 0.21.21 → 0.21.22
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/index.js +11 -11
- package/Cache/index.js.map +1 -1
- package/Cache/memoryTTL.js +11 -11
- package/Cache/memoryTTL.js.map +1 -1
- package/Cache/prelude.js +51 -51
- package/Cache/prelude.js.map +1 -1
- package/DiscordConfig/index.js +1 -1
- package/DiscordConfig/index.js.map +1 -1
- package/DiscordGateway/DiscordWS/index.js +8 -8
- package/DiscordGateway/DiscordWS/index.js.map +1 -1
- package/DiscordGateway/Shard/heartbeats.js +7 -7
- package/DiscordGateway/Shard/heartbeats.js.map +1 -1
- package/DiscordGateway/Shard/identify.js +3 -3
- package/DiscordGateway/Shard/identify.js.map +1 -1
- package/DiscordGateway/Shard/index.js +14 -14
- package/DiscordGateway/Shard/index.js.map +1 -1
- package/DiscordGateway/Shard/invalidSession.js +1 -1
- package/DiscordGateway/Shard/invalidSession.js.map +1 -1
- package/DiscordGateway/Shard/utils.js +3 -3
- package/DiscordGateway/Shard/utils.js.map +1 -1
- package/DiscordGateway/Sharder/index.js +13 -13
- package/DiscordGateway/Sharder/index.js.map +1 -1
- package/DiscordGateway/WS/index.js +9 -9
- package/DiscordGateway/WS/index.js.map +1 -1
- package/DiscordGateway/index.js +4 -4
- package/DiscordGateway/index.js.map +1 -1
- package/DiscordREST/index.js +30 -30
- package/DiscordREST/index.js.map +1 -1
- package/DiscordREST/utils.js +2 -2
- package/DiscordREST/utils.js.map +1 -1
- package/Helpers/interactions.js +2 -2
- package/Helpers/interactions.js.map +1 -1
- package/Helpers/permissions.js +4 -4
- package/Helpers/permissions.js.map +1 -1
- package/Http/index.js +4 -4
- package/Http/index.js.map +1 -1
- package/Interactions/context.js +4 -4
- package/Interactions/context.js.map +1 -1
- package/Interactions/gateway.js +4 -4
- package/Interactions/gateway.js.map +1 -1
- package/Interactions/handlers.js +5 -5
- package/Interactions/handlers.js.map +1 -1
- package/Interactions/index.js +3 -3
- package/Interactions/index.js.map +1 -1
- package/Interactions/webhook.js +9 -9
- package/Interactions/webhook.js.map +1 -1
- package/RateLimit/index.js +5 -5
- package/RateLimit/index.js.map +1 -1
- package/RateLimit/memory.js +1 -1
- package/RateLimit/memory.js.map +1 -1
- package/package.json +10 -10
|
@@ -9,20 +9,23 @@ import * as tsplus_module_8 from "dfx/_common";
|
|
|
9
9
|
import * as tsplus_module_9 from "@effect/io/Layer";
|
|
10
10
|
import { millis } from "@effect/data/Duration";
|
|
11
11
|
import { ShardStore } from "../ShardStore/index.js";
|
|
12
|
-
const make = tsplus_module_3.flatMap(
|
|
12
|
+
const make = tsplus_module_3.flatMap(store => tsplus_module_3.flatMap(rest => tsplus_module_3.flatMap(({ gateway: config }) => tsplus_module_3.flatMap(limiter => {
|
|
13
13
|
const configs = (totalCount) => {
|
|
14
|
-
const claimId = (sharderCount) => tsplus_module_3.flatMap(store
|
|
14
|
+
const claimId = (sharderCount) => tsplus_module_3.flatMap(a => tsplus_module_6.match(() => tsplus_module_3.delay(tsplus_module_5.minutes(3))(claimId(sharderCount)), id => tsplus_module_3.succeed(id))(a))(store
|
|
15
15
|
.claimId({
|
|
16
16
|
totalCount,
|
|
17
17
|
sharderCount,
|
|
18
|
-
})
|
|
19
|
-
return tsplus_module_1.map(
|
|
18
|
+
}));
|
|
19
|
+
return tsplus_module_1.map(id => ({
|
|
20
20
|
id,
|
|
21
21
|
totalCount,
|
|
22
|
-
}));
|
|
22
|
+
}))(tsplus_module_1.unfoldEffect(0, sharderCount => tsplus_module_3.map(id => tsplus_module_6.some([id, sharderCount + 1]))(claimId(sharderCount))));
|
|
23
23
|
};
|
|
24
|
-
return tsplus_module_3.flatMap(tsplus_module_3.
|
|
25
|
-
|
|
24
|
+
return tsplus_module_3.flatMap(gateway => tsplus_module_3.map(shards => ({ shards }))(tsplus_module_1.broadcastDynamic(1)(tsplus_module_1.flatMap(shard => tsplus_module_1.merge(tsplus_module_1.drain(tsplus_module_1.fromEffect(shard.run)))(tsplus_module_1.succeed(shard)))(tsplus_module_4.evaluate((key, shardConfig) => tsplus_module_1.mapEffect(c => tsplus_module_2.Shard.make([c.id, c.totalCount]))(tsplus_module_1.tap(() => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1]))(shardConfig)))(tsplus_module_1.groupBy(c => tsplus_module_3.succeed([c.id % c.concurrency, c]))(tsplus_module_1.map(config => ({
|
|
25
|
+
...config,
|
|
26
|
+
url: gateway.url,
|
|
27
|
+
concurrency: gateway.session_start_limit.max_concurrency,
|
|
28
|
+
}))(configs(config.shardCount ?? gateway.shards))))))))(tsplus_module_3.catchAll(() => tsplus_module_3.succeed({
|
|
26
29
|
url: "wss://gateway.discord.gg/",
|
|
27
30
|
shards: 1,
|
|
28
31
|
session_start_limit: {
|
|
@@ -31,12 +34,9 @@ const make = tsplus_module_3.flatMap(tsplus_module_3.service(ShardStore), store
|
|
|
31
34
|
reset_after: 0,
|
|
32
35
|
max_concurrency: 1,
|
|
33
36
|
},
|
|
34
|
-
}))
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
concurrency: gateway.session_start_limit.max_concurrency,
|
|
38
|
-
})), c => tsplus_module_3.succeed([c.id % c.concurrency, c])), (key, shardConfig) => tsplus_module_1.mapEffect(tsplus_module_1.tap(shardConfig, () => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1])), c => tsplus_module_2.Shard.make([c.id, c.totalCount]))), shard => tsplus_module_1.merge(tsplus_module_1.succeed(shard), tsplus_module_1.drain(tsplus_module_1.fromEffect(shard.run)))), 1), shards => ({ shards })));
|
|
39
|
-
}))));
|
|
37
|
+
}))(tsplus_module_3.flatMap(r => r.json)(rest
|
|
38
|
+
.getGatewayBot())));
|
|
39
|
+
})(tsplus_module_3.service(tsplus_module_7.RateLimiter)))(tsplus_module_3.service(tsplus_module_7.DiscordConfig.DiscordConfig)))(tsplus_module_3.service(tsplus_module_7.DiscordREST)))(tsplus_module_3.service(ShardStore));
|
|
40
40
|
export const Sharder = tsplus_module_8.Tag();
|
|
41
41
|
export const LiveSharder = tsplus_module_9.scoped(Sharder, make);
|
|
42
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,14 +22,14 @@ export class WebSocketCloseError {
|
|
|
22
22
|
this.reason = reason;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.flatMap(
|
|
25
|
+
const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.flatMap(url => {
|
|
26
26
|
const ws = new WebSocket(url);
|
|
27
|
-
return tsplus_module_1.map(tsplus_module_1.async(resume => {
|
|
27
|
+
return tsplus_module_1.map(() => ws)(tsplus_module_1.async(resume => {
|
|
28
28
|
ws.addEventListener("open", () => resume(tsplus_module_1.unit()), {
|
|
29
29
|
once: true,
|
|
30
30
|
});
|
|
31
|
-
})
|
|
32
|
-
}), ws => tsplus_module_1.sync(() => {
|
|
31
|
+
}));
|
|
32
|
+
})(tsplus_module_2.get(urlRef)), ws => tsplus_module_1.sync(() => {
|
|
33
33
|
;
|
|
34
34
|
ws.removeAllListeners?.();
|
|
35
35
|
ws.close();
|
|
@@ -45,7 +45,7 @@ const recv = (ws) => tsplus_module_3.asyncEffect(emit => tsplus_module_1.sync(()
|
|
|
45
45
|
emit.fail(new WebSocketCloseError(e.code, e.reason));
|
|
46
46
|
});
|
|
47
47
|
}));
|
|
48
|
-
const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(
|
|
48
|
+
const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap((data) => {
|
|
49
49
|
if (data === Reconnect) {
|
|
50
50
|
return tsplus_module_1.failSync(() => {
|
|
51
51
|
ws.close(1012, "reconnecting");
|
|
@@ -55,9 +55,9 @@ const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(tspl
|
|
|
55
55
|
return tsplus_module_1.sync(() => {
|
|
56
56
|
ws.send(data);
|
|
57
57
|
});
|
|
58
|
-
}));
|
|
59
|
-
export const make = (url, takeOutbound) => tsplus_module_6.pipe(tsplus_module_1.flatMap(
|
|
58
|
+
})(tsplus_module_1.tap(data => log.debug("WS", "send", data))(take)));
|
|
59
|
+
export const make = (url, takeOutbound) => tsplus_module_6.pipe(tsplus_module_1.flatMap(log => tsplus_module_1.map(ws => {
|
|
60
60
|
const sendEffect = send(ws, takeOutbound, log);
|
|
61
|
-
return tsplus_module_3.retry(
|
|
62
|
-
})), tsplus_module_3.unwrapScoped);
|
|
61
|
+
return tsplus_module_3.retry(tsplus_module_4.recurWhile(e => e._tag === "WebSocketCloseError" && e.code === 1012))(tsplus_module_3.merge(tsplus_module_3.fromEffect(sendEffect))(recv(ws)));
|
|
62
|
+
})(socket(url)))(tsplus_module_1.service(tsplus_module_5.Log.Log)), tsplus_module_3.unwrapScoped);
|
|
63
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/WS/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAIjC,MAAM,OAAO,cAAc;IAEJ;IADZ,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,OAAO,mBAAmB;IAET;IAAuB;IADnC,IAAI,GAAG,qBAAqB,CAAA;IACrC,YAAqB,IAAY,EAAW,MAAc;QAArC,SAAI,GAAJ,IAAI,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CAC/D;AAED,MAAM,MAAM,GAAG,CAAC,MAAmB,EAAE,EAAE,CACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/WS/index.ts"],"names":[],"mappings":"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"}
|
package/DiscordGateway/index.js
CHANGED
|
@@ -3,9 +3,9 @@ import * as tsplus_module_2 from "@effect/io/Effect";
|
|
|
3
3
|
import * as tsplus_module_3 from "dfx/_common";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/io/Layer";
|
|
5
5
|
import { Sharder } from "./Sharder/index.js";
|
|
6
|
-
const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(tsplus_module_1.filter(
|
|
7
|
-
const handleDispatchFactory = (source) => (event, handle) => tsplus_module_1.runDrain(tsplus_module_1.flatMapPar(
|
|
8
|
-
export const make = tsplus_module_2.flatMap(
|
|
6
|
+
const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(p => p.d)(tsplus_module_1.filter(p => p.t === event)(source));
|
|
7
|
+
const handleDispatchFactory = (source) => (event, handle) => tsplus_module_1.runDrain(tsplus_module_1.flatMapPar(a => tsplus_module_1.fromEffect(handle(a.d)), Number.POSITIVE_INFINITY)(tsplus_module_1.filter(p => p.t === event)(source)));
|
|
8
|
+
export const make = tsplus_module_2.flatMap(sharder => tsplus_module_2.flatMap(raw => tsplus_module_2.map(dispatch => {
|
|
9
9
|
const fromDispatch = fromDispatchFactory(dispatch);
|
|
10
10
|
const handleDispatch = handleDispatchFactory(dispatch);
|
|
11
11
|
return {
|
|
@@ -14,7 +14,7 @@ export const make = tsplus_module_2.flatMap(tsplus_module_2.service(Sharder), sh
|
|
|
14
14
|
fromDispatch,
|
|
15
15
|
handleDispatch,
|
|
16
16
|
};
|
|
17
|
-
})));
|
|
17
|
+
})(tsplus_module_1.broadcastDynamic(8)(tsplus_module_1.flatMapPar(s => s.dispatch, Number.POSITIVE_INFINITY)(sharder.shards))))(tsplus_module_1.broadcastDynamic(8)(tsplus_module_1.flatMapPar(s => s.raw, Number.POSITIVE_INFINITY)(sharder.shards))))(tsplus_module_2.service(Sharder));
|
|
18
18
|
export const DiscordGateway = tsplus_module_3.Tag();
|
|
19
19
|
export const LiveDiscordGateway = tsplus_module_4.scoped(DiscordGateway, make);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAS,EAAtD,uBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAhC,MAAM,CAA2B,CAAsB,CAAA;AAE3D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,2BAGI,CAAC,CAAC,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAC1C,MAAM,CAAC,iBAAiB,EAJ5B,uBACU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAD5B,MAAM,CACuB,CAI1B,CAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,IAAI,2BACT,OAAO,4BACP,GAAG,wBAKH,QAAQ;IAKd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;GAZC,iCAEoB,CAAC,EAFrB,2BACc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EADvD,OAAO,CAAC,MAAM,CAC0C,CAClC,GAPtB,iCAEoB,CAAC,EAFrB,2BACc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,EADlD,OAAO,CAAC,MAAM,CACqC,CAC7B,GAJN,wBAAe,OAAO,CAAC,CAoBzC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAa,cAAc,EAAE,IAAI,CAAC,CAAA"}
|
package/DiscordREST/index.js
CHANGED
|
@@ -10,41 +10,41 @@ import * as tsplus_module_9 from "@effect/io/Layer";
|
|
|
10
10
|
import { millis } from "@effect/data/Duration";
|
|
11
11
|
import Pkg from "../package.json" assert { type: "json" };
|
|
12
12
|
import { rateLimitFromHeaders, retryAfter, routeFromConfig } from "./utils.js";
|
|
13
|
-
const make = tsplus_module_2.flatMap(
|
|
13
|
+
const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, rest }) => tsplus_module_2.flatMap(log => tsplus_module_2.flatMap(store => tsplus_module_2.flatMap(({ maybeWait }) => {
|
|
14
14
|
const globalRateLimit = maybeWait("dfx.rest.global", rest.globalRateLimit.window, rest.globalRateLimit.limit);
|
|
15
|
-
return tsplus_module_2.map(
|
|
15
|
+
return tsplus_module_2.map(badRoutesRef => {
|
|
16
16
|
const addBadRoute = (route) => tsplus_module_2.collectAllParDiscard([
|
|
17
17
|
log.info("DiscordREST", "addBadRoute", route),
|
|
18
|
-
tsplus_module_7.update(
|
|
18
|
+
tsplus_module_7.update(s => tsplus_module_6.add(route)(s))(badRoutesRef),
|
|
19
19
|
store.incrementCounter("dfx.rest.invalid", tsplus_module_3.minutes(10).millis, 10000),
|
|
20
20
|
]);
|
|
21
|
-
const isBadRoute = (route) => tsplus_module_2.map(
|
|
22
|
-
const removeBadRoute = (route) => tsplus_module_7.update(
|
|
23
|
-
const invalidRateLimit = (route) => tsplus_module_2.asUnit(tsplus_module_2.tap(
|
|
21
|
+
const isBadRoute = (route) => tsplus_module_2.map(s => tsplus_module_6.has(route)(s))(tsplus_module_7.get(badRoutesRef));
|
|
22
|
+
const removeBadRoute = (route) => tsplus_module_7.update(s => tsplus_module_6.remove(route)(s))(badRoutesRef);
|
|
23
|
+
const invalidRateLimit = (route) => tsplus_module_2.asUnit(tsplus_module_2.tap(invalid => invalid
|
|
24
24
|
? maybeWait("dfx.rest.invalid", tsplus_module_3.minutes(10), 10000)
|
|
25
|
-
: tsplus_module_2.unit()));
|
|
25
|
+
: tsplus_module_2.unit())(isBadRoute(route)));
|
|
26
26
|
// Request rate limiting
|
|
27
27
|
const requestRateLimit = (path, init) => (() => {
|
|
28
28
|
const route = routeFromConfig(path, init);
|
|
29
|
-
return tsplus_module_2.flatMap(
|
|
29
|
+
return tsplus_module_2.flatMap(maybeBucket => {
|
|
30
30
|
const bucket = tsplus_module_4.getOrElse(() => ({
|
|
31
31
|
key: `?.${route}`,
|
|
32
32
|
resetAfter: 5000,
|
|
33
33
|
limit: 1,
|
|
34
34
|
}))(maybeBucket);
|
|
35
35
|
const resetAfter = millis(bucket.resetAfter);
|
|
36
|
-
return tsplus_module_2.flatMap(
|
|
37
|
-
});
|
|
36
|
+
return tsplus_module_2.flatMap(() => tsplus_module_2.map(() => void 0)(maybeWait(`dfx.rest.${bucket.key}`, resetAfter, bucket.limit)))(invalidRateLimit(route));
|
|
37
|
+
})(store.getBucketForRoute(route));
|
|
38
38
|
})();
|
|
39
39
|
// Update rate limit buckets
|
|
40
40
|
const updateBuckets = (path, init, response) => tsplus_module_2.ignore((() => {
|
|
41
41
|
const route = routeFromConfig(path, init);
|
|
42
|
-
return tsplus_module_2.flatMap(
|
|
42
|
+
return tsplus_module_2.flatMap(({ bucket, retryAfter, limit, remaining }) => {
|
|
43
43
|
const effectsToRun = [
|
|
44
44
|
removeBadRoute(route),
|
|
45
45
|
store.putBucketRoute(route, bucket),
|
|
46
46
|
];
|
|
47
|
-
return tsplus_module_2.flatMap(
|
|
47
|
+
return tsplus_module_2.flatMap(hasBucket => {
|
|
48
48
|
if (!hasBucket || limit - 1 === remaining) {
|
|
49
49
|
effectsToRun.push(store.removeCounter(`dfx.rest.?.${route}`), store.putBucket({
|
|
50
50
|
key: bucket,
|
|
@@ -52,35 +52,35 @@ const make = tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Htt
|
|
|
52
52
|
limit: !hasBucket && remaining > 0 ? remaining : limit,
|
|
53
53
|
}));
|
|
54
54
|
}
|
|
55
|
-
return tsplus_module_2.map(
|
|
56
|
-
});
|
|
57
|
-
});
|
|
55
|
+
return tsplus_module_2.map(() => void 0)(tsplus_module_2.collectAllParDiscard(effectsToRun));
|
|
56
|
+
})(store.hasBucket(bucket));
|
|
57
|
+
})(tsplus_module_2.fromOption(rateLimitFromHeaders(response.headers)));
|
|
58
58
|
})());
|
|
59
|
-
const request = (path, init = {}) => tsplus_module_2.catchTag(
|
|
60
|
-
...init,
|
|
61
|
-
headers: {
|
|
62
|
-
...(init?.headers ?? {}),
|
|
63
|
-
Authorization: `Bot ${tsplus_module_5.value(token)}`,
|
|
64
|
-
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
|
|
65
|
-
},
|
|
66
|
-
}), response => tsplus_module_2.map(updateBuckets(path, init, response.response), () => response)))), "StatusCodeError", e => {
|
|
59
|
+
const request = (path, init = {}) => tsplus_module_2.catchTag("StatusCodeError", e => {
|
|
67
60
|
switch (e.code) {
|
|
68
61
|
case 403:
|
|
69
|
-
return tsplus_module_2.flatMap(tsplus_module_2.collectAllParDiscard([
|
|
62
|
+
return tsplus_module_2.flatMap(() => tsplus_module_2.fail(e))(tsplus_module_2.collectAllParDiscard([
|
|
70
63
|
log.info("DiscordREST", "403", path),
|
|
71
64
|
addBadRoute(routeFromConfig(path, init)),
|
|
72
65
|
updateBuckets(path, init, e.response),
|
|
73
|
-
])
|
|
66
|
+
]));
|
|
74
67
|
case 429:
|
|
75
|
-
return tsplus_module_2.flatMap(tsplus_module_2.collectAllParDiscard([
|
|
68
|
+
return tsplus_module_2.flatMap(() => request(path, init))(tsplus_module_2.collectAllParDiscard([
|
|
76
69
|
log.info("DiscordREST", "429", path),
|
|
77
70
|
addBadRoute(routeFromConfig(path, init)),
|
|
78
71
|
updateBuckets(path, init, e.response),
|
|
79
72
|
tsplus_module_2.sleep(tsplus_module_4.getOrElse(() => tsplus_module_3.seconds(5))(retryAfter(e.response.headers))),
|
|
80
|
-
])
|
|
73
|
+
]));
|
|
81
74
|
}
|
|
82
75
|
return tsplus_module_2.fail(e);
|
|
83
|
-
})
|
|
76
|
+
})(tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(response => tsplus_module_2.map(() => response)(updateBuckets(path, init, response.response)))(http.requestWithJson(`${rest.baseUrl}${path}`, {
|
|
77
|
+
...init,
|
|
78
|
+
headers: {
|
|
79
|
+
...(init?.headers ?? {}),
|
|
80
|
+
Authorization: `Bot ${tsplus_module_5.value(token)}`,
|
|
81
|
+
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
|
|
82
|
+
},
|
|
83
|
+
})))(globalRateLimit))(requestRateLimit(path, init)));
|
|
84
84
|
const routes = tsplus_module_1.Discord.createRoutes(({ method, url, params, options = {}, }) => {
|
|
85
85
|
const hasBody = method !== "GET" && method !== "DELETE";
|
|
86
86
|
let hasFormData = typeof options?.body?.append === "function";
|
|
@@ -115,8 +115,8 @@ const make = tsplus_module_2.flatMap(tsplus_module_2.service(tsplus_module_8.Htt
|
|
|
115
115
|
});
|
|
116
116
|
});
|
|
117
117
|
return { request, ...routes };
|
|
118
|
-
});
|
|
119
|
-
})))));
|
|
118
|
+
})(tsplus_module_7.make(tsplus_module_6.empty()));
|
|
119
|
+
})(tsplus_module_2.service(tsplus_module_8.RateLimiter)))(tsplus_module_2.service(tsplus_module_8.RateLimitStore)))(tsplus_module_2.service(tsplus_module_8.Log.Log)))(tsplus_module_2.service(tsplus_module_8.DiscordConfig.DiscordConfig)))(tsplus_module_2.service(tsplus_module_8.Http));
|
|
120
120
|
export const DiscordREST = tsplus_module_1.Tag();
|
|
121
121
|
export const LiveDiscordREST = tsplus_module_9.effect(DiscordREST, make);
|
|
122
122
|
//# sourceMappingURL=index.js.map
|
package/DiscordREST/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9E,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"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"}
|
package/DiscordREST/utils.js
CHANGED
|
@@ -11,8 +11,8 @@ export const routeFromConfig = (path, init) => {
|
|
|
11
11
|
.replace(/\/reactions\/(.*)/, "/reactions");
|
|
12
12
|
return `${method}-${routeURL}`;
|
|
13
13
|
};
|
|
14
|
-
export const numberHeader = (headers) => (key) => tsplus_module_1.filter(
|
|
15
|
-
export const retryAfter = (headers) => tsplus_module_1.map(tsplus_module_2.seconds)(tsplus_module_1.
|
|
14
|
+
export const numberHeader = (headers) => (key) => tsplus_module_1.filter(tsplus_module_1.map(parseFloat)(tsplus_module_1.fromNullable(headers.get(key))), n => !isNaN(n));
|
|
15
|
+
export const retryAfter = (headers) => tsplus_module_1.map(tsplus_module_2.seconds)(tsplus_module_1.orElse(() => numberHeader(headers)("retry-after"))(numberHeader(headers)("x-ratelimit-reset-after")));
|
|
16
16
|
export const rateLimitFromHeaders = (headers) => tsplus_module_1.struct({
|
|
17
17
|
bucket: tsplus_module_1.fromNullable(headers.get("x-ratelimit-bucket")),
|
|
18
18
|
retryAfter: retryAfter(headers),
|
package/DiscordREST/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DiscordREST/utils.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAEpD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC9D,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAC3D;QACD,kBAAkB;SACjB,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAE7C,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAChE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DiscordREST/utils.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAEpD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC9D,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAC3D;QACD,kBAAkB;SACjB,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAE7C,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAChE,uBAAA,oBACO,UAAU,EADjB,6BAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAClB,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,6CAAA,uBACU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EADpD,YAAY,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CACK,CAC7B,CAAA;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACvD,uBAAa;IACX,MAAM,EAAE,6BAAmB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;IACjD,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC;CAC1D,CAAC,CAAA"}
|
package/Helpers/interactions.js
CHANGED
|
@@ -31,7 +31,7 @@ export const optionsWithNested = (data) => {
|
|
|
31
31
|
/**
|
|
32
32
|
* Return the interaction options as a name / value map.
|
|
33
33
|
*/
|
|
34
|
-
export const transformOptions = (options) => options.reduce((map, option) => tsplus_module_4.set(
|
|
34
|
+
export const transformOptions = (options) => options.reduce((map, option) => tsplus_module_4.set(option.name, option.value)(map), tsplus_module_4.empty());
|
|
35
35
|
/**
|
|
36
36
|
* Return the interaction options as a name / value map.
|
|
37
37
|
*/
|
|
@@ -80,7 +80,7 @@ export const componentsWithValue = tsplus_module_2.flow(components, Arr.filter(c
|
|
|
80
80
|
/**
|
|
81
81
|
* Return the interaction components as an id / value map.
|
|
82
82
|
*/
|
|
83
|
-
export const transformComponents = (options) => options.reduce((map, c) => (c.custom_id ? tsplus_module_4.set(
|
|
83
|
+
export const transformComponents = (options) => options.reduce((map, c) => (c.custom_id ? tsplus_module_4.set(c.custom_id, c.value)(map) : map), tsplus_module_4.empty());
|
|
84
84
|
/**
|
|
85
85
|
* Return the interaction components as an id / value map.
|
|
86
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAmB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAA4C,EAAE,EAAE,CAC7E,gBAAA,IAAI,CACF,iBAAiB,CAAC,WAAW,CAAC,EAC9B,GAAG,CAAC,MAAM,CACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,6DAAqD,CACjE,CACF,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,WAA4C,EAAE,EAAE,CACjE,gBAAA,IAAI,CACF,iBAAiB,CAAC,WAAW,CAAC,EAC9B,GAAG,CAAC,SAAS,CACX,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,IAAI,6DAAqD;IAC3D,CAAC,CAAC,IAAI,KAAK,IAAI,CAClB,CACF,CAAA;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAA,CAAC,CAAS,CAAC,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE,CAChD,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,gCAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAhC,CAAC,CAAgC,CAAC,CAAA;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAsD,EACH,EAAE;IACrD,MAAM,cAAc,GAAG,CACrB,GAAoD,EACD,EAAE,CACrD,sBAES,GAAG,EAAE,CAAC,EAAE,kBAAE,QAAQ,EAF3B,oBACO,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EADzD,6BAAmB,GAAG,CAAC,OAAO,CAAC,CAC2B,CAC9B,CAAA;IAE9B,OAAO,0BAEM,GAAG,EAAE,CAAC,EAAE,EAFd,oBACA,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EADlD,6BAAmB,IAAI,CAAC,OAAO,CAAC,CACmB,CACpC,CAAA;AACxB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA0D,EAC1D,EAAE,CACF,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/Helpers/interactions.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAmB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAA4C,EAAE,EAAE,CAC7E,gBAAA,IAAI,CACF,iBAAiB,CAAC,WAAW,CAAC,EAC9B,GAAG,CAAC,MAAM,CACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,6DAAqD,CACjE,CACF,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,WAA4C,EAAE,EAAE,CACjE,gBAAA,IAAI,CACF,iBAAiB,CAAC,WAAW,CAAC,EAC9B,GAAG,CAAC,SAAS,CACX,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,IAAI,6DAAqD;IAC3D,CAAC,CAAC,IAAI,KAAK,IAAI,CAClB,CACF,CAAA;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAA,CAAC,CAAS,CAAC,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE,CAChD,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,gCAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAhC,CAAC,CAAgC,CAAC,CAAA;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAsD,EACH,EAAE;IACrD,MAAM,cAAc,GAAG,CACrB,GAAoD,EACD,EAAE,CACrD,sBAES,GAAG,EAAE,CAAC,EAAE,kBAAE,QAAQ,EAF3B,oBACO,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EADzD,6BAAmB,GAAG,CAAC,OAAO,CAAC,CAC2B,CAC9B,CAAA;IAE9B,OAAO,0BAEM,GAAG,EAAE,CAAC,EAAE,EAFd,oBACA,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EADlD,6BAAmB,IAAI,CAAC,OAAO,CAAC,CACmB,CACpC,CAAA;AACxB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA0D,EAC1D,EAAE,CACF,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAQ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAjC,GAAG,CAA+B,EACnD,uBAA2C,CAC5C,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAA,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACxC,gBAAA,IAAI,CACF,iBAAiB,EACjB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CACpC,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAA,IAAI,CAC/B,iBAAiB,EACjB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CACvC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,gCAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAA9B,CAAC,CAA8B,CAAC,CAAA;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE,CACpD,gCACE,CAAC,CAAC,EAAE,CAAE,CAAqC,CAAC,QAAQ,EADtD,6BAAmB,IAAI,CAAC,IAAI,CAAC,CAE5B,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CACE,IAAY,EACZ,CAAwE,EACxE,EAAE,CACJ,CAAC,CAAsB,EAAY,EAAE,yBAE3B,IAAI,4BAGJ,EAAE,4BAKF,CAAC,IACE,6BAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EADzB,QAAQ,CAAC,CAAC,CAAC,GAJrB,gCACE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAA0B,EAD3C,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAEpB,GALD,6BAAmB,CAAC,CAAC,IAAuC,CAAC,CAS/D,CAAA;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,CACE,CAAwE,EACxE,EAAE,CACJ,CAAC,CAAsB,EAAuB,EAAE,yBAEtC,MAAM,4BAKN,CAAC,IAEL,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,6BAAmB,CAAC,CAAC,CAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAF7D,QAAQ,CAAC,CAAC,CAAC,GAJrB,gCAEkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAA6B,EAFtD,6BACE,CAAC,CAAC,IAAqC,CACxC,CAAsD,CAMzD,CAAA;AAEN,MAAM,iBAAiB,GAAG,CAAC,CAAoB,EAAuB,EAAE;IACtE,IAAI,YAAY,IAAI,CAAC,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;KACrE;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAA2B,EACN,EAAE,CAAC;IACxB,GAAG,CAAC,CAAC,UAAU;IACf,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;CAC3C,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAA,IAAI,CACrC,UAAU,EACV,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CACvD,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA4B,EAAE,EAAE,CACjE,OAA+B,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAA5B,GAAG,CAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,EAC/D,uBAA2C,CAC5C,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAA,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CACzC,gBAAA,IAAI,CACF,UAAU,EACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAE,CAAuB,CAAC,SAAS,KAAK,EAAE,CAAC,CAC9D,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE,CAC3C,gBAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CACzB,gCAAkB,CAAC,CAAC,EAAE,CAAE,CAAuB,CAAC,KAAK,EAArD,CAAC,CAAqD,CACvD,CAAA;AA0BH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAA"}
|
package/Helpers/permissions.js
CHANGED
|
@@ -68,15 +68,15 @@ export const forChannel = (roles) => ({ guild_id, permission_overwrites: overwri
|
|
|
68
68
|
* Apply permission overwrites to a bitfield.
|
|
69
69
|
*/
|
|
70
70
|
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) => tsplus_module_4.map(
|
|
71
|
+
export const hasInChannel = (rolesCache, permission) => (channel, memberOrRole) => tsplus_module_4.map(roles => {
|
|
72
72
|
const channelPerms = forChannel([...roles.values()])(channel)(memberOrRole);
|
|
73
73
|
return has(permission)(channelPerms);
|
|
74
|
-
});
|
|
75
|
-
export const hasInGuild = (rolesCache, permission) => (guildId, member) => tsplus_module_4.map(
|
|
74
|
+
})(rolesCache.getForParent(channel.guild_id));
|
|
75
|
+
export const hasInGuild = (rolesCache, permission) => (guildId, member) => tsplus_module_4.map(roles => {
|
|
76
76
|
const hasPerm = has(permission);
|
|
77
77
|
return member.roles.some(id => {
|
|
78
78
|
const role = roles.get(id);
|
|
79
79
|
return role ? hasPerm(role.permissions) : false;
|
|
80
80
|
});
|
|
81
|
-
});
|
|
81
|
+
})(rolesCache.getForParent(guildId));
|
|
82
82
|
//# sourceMappingURL=permissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/Helpers/permissions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/Helpers/permissions.ts"],"names":[],"mappings":"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"}
|
package/Http/index.js
CHANGED
|
@@ -2,16 +2,16 @@ import * as tsplus_module_1 from "@effect/io/Effect";
|
|
|
2
2
|
import * as tsplus_module_2 from "dfx/_common";
|
|
3
3
|
import * as tsplus_module_3 from "@effect/io/Layer";
|
|
4
4
|
const make = () => {
|
|
5
|
-
const request = (url, init = {}) => tsplus_module_1.filterOrElseWith(tsplus_module_1.tryCatchPromiseInterrupt(signal => fetch(url, {
|
|
5
|
+
const request = (url, init = {}) => tsplus_module_1.filterOrElseWith(r => r.status < 300, r => tsplus_module_1.fail(new StatusCodeError(r)))(tsplus_module_1.tryCatchPromiseInterrupt(signal => fetch(url, {
|
|
6
6
|
...init,
|
|
7
7
|
signal,
|
|
8
|
-
}), e => new FetchError(e))
|
|
9
|
-
const requestWithJson = (url, init = {}) => tsplus_module_1.map(
|
|
8
|
+
}), e => new FetchError(e)));
|
|
9
|
+
const requestWithJson = (url, init = {}) => tsplus_module_1.map(response => ({
|
|
10
10
|
response,
|
|
11
11
|
json: json(response),
|
|
12
12
|
blob: blob(response),
|
|
13
13
|
text: tsplus_module_1.promise(() => response.text()),
|
|
14
|
-
}));
|
|
14
|
+
}))(request(url, init));
|
|
15
15
|
return { request, requestWithJson };
|
|
16
16
|
};
|
|
17
17
|
export const Http = tsplus_module_2.Tag();
|
package/Http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAE,OAAoB,EAAE,EAAE,EAAE,CAC5D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Http/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAE,OAAoB,EAAE,EAAE,EAAE,CAC5D,iCAQE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,EACnB,CAAC,CAAC,EAAE,CAAC,qBAAY,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,EAT1C,yCACE,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,GAAG,EAAE;QACT,GAAG,IAAI;QACP,MAAM;KACP,CAAC,EACJ,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CACvB,CAGA,CAAA;IAEH,MAAM,eAAe,GAAG,CACtB,GAAiB,EACjB,OAAoB,EAAE,EACtB,EAAE,CACF,oBAAuB,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,QAAQ;QACR,IAAI,EAAE,IAAI,CAAI,QAAQ,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpB,IAAI,EAAE,wBAAe,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KAC5C,CAAC,EALF,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAKf,CAAA;IAEL,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA;AACrC,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAA,GAAG,EAAQ,CAAA;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAW,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9C,MAAM,OAAO,UAAU;IAEA;IADZ,IAAI,GAAG,YAAY,CAAA;IAC5B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,OAAO,eAAe;IAGL;IAFZ,IAAI,GAAG,iBAAiB,CAAA;IACxB,IAAI,CAAQ;IACrB,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QACrC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IAEJ;IADZ,IAAI,GAAG,gBAAgB,CAAA;IAChC,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAc,CAAW,EAAE,EAAE,CAC/C,gCACE,GAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAC1B,MAAM,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CACrC,CAAA;AAEH,MAAM,OAAO,SAAS;IAEC;IADZ,IAAI,GAAG,WAAW,CAAA;IAC3B,YAAqB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAClC,gCACE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EACd,MAAM,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAChC,CAAA"}
|
package/Interactions/context.js
CHANGED
|
@@ -32,9 +32,9 @@ export class SubCommandNotFound {
|
|
|
32
32
|
this.data = data;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
export const handleSubCommands = (commands) => tsplus_module_2.flatMap(
|
|
35
|
+
export const handleSubCommands = (commands) => tsplus_module_2.flatMap(data => tsplus_module_5.pipe(tsplus_module_3.IxHelpers.allSubCommands(data), Arr.findFirst(a => !!commands[a.name]), o => tsplus_module_4.toEither(o, () => new SubCommandNotFound(data)), tsplus_module_2.fromEither, a => tsplus_module_2.flatMap(command => tsplus_module_2.provideService(SubCommandContext, {
|
|
36
36
|
command,
|
|
37
|
-
}))));
|
|
37
|
+
})(commands[command.name]))(a)))(tsplus_module_2.service(ApplicationCommandContext));
|
|
38
38
|
export const currentSubCommand = tsplus_module_2.serviceWith(SubCommandContext, a => a.command);
|
|
39
39
|
export const optionsMap = tsplus_module_2.serviceWith(ApplicationCommandContext, tsplus_module_3.IxHelpers.optionsMap);
|
|
40
40
|
export class RequiredOptionNotFound {
|
|
@@ -47,7 +47,7 @@ export class RequiredOptionNotFound {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
export const option = (name) => tsplus_module_2.serviceWith(ApplicationCommandContext, tsplus_module_3.IxHelpers.getOption(name));
|
|
50
|
-
export const optionValue = (name) => tsplus_module_2.flatMap(
|
|
51
|
-
export const optionValueOptional = (name) => tsplus_module_2.map(
|
|
50
|
+
export const optionValue = (name) => tsplus_module_2.flatMap(o => tsplus_module_4.match(() => tsplus_module_2.flatMap(data => tsplus_module_2.fail(new RequiredOptionNotFound(data, name)))(command), tsplus_module_2.succeed)(tsplus_module_4.flatMapNullable(a => a.value)(o)))(option(name));
|
|
51
|
+
export const optionValueOptional = (name) => tsplus_module_2.map(o => tsplus_module_4.flatMapNullable(a => a.value)(o))(option(name));
|
|
52
52
|
export const modalValues = tsplus_module_2.serviceWith(ModalSubmitContext, tsplus_module_3.IxHelpers.componentsMap);
|
|
53
53
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAU,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAExD,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,wBAAe,kBAAkB,CAAC,CAAA;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAe,yBAAyB,CAAC,CAAA;AAEhE,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,kCAAyB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAC/C,sBACE,GAAG,EAAE,CAAC,qBAAY,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,2BADhD,gBAAA,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAG5B,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAY,EACZ,CAAwE,EACxE,EAAE,CACF,kCAAyB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAC/C,sBAIE,GAAG,EAAE,CAAC,qBAAY,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,2BAJtD,gBAAA,SAAS,CAAC,kBAAkB,CAC1B,IAAI,EACJ,CAAC,CACF,CAAC,CAAC,CAAC,CAGH,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAChC,oBAAoB,EACpB,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,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/Interactions/context.ts"],"names":[],"mappings":"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"}
|
package/Interactions/gateway.js
CHANGED
|
@@ -10,7 +10,7 @@ import { splitDefinitions } from "./utils.js";
|
|
|
10
10
|
*/
|
|
11
11
|
export const run = (postHandler, { sync = true } = {}) => (ix) => (() => {
|
|
12
12
|
const { GlobalApplicationCommand, GuildApplicationCommand } = splitDefinitions(ix.definitions);
|
|
13
|
-
return tsplus_module_1.flatMap(
|
|
13
|
+
return tsplus_module_1.flatMap(gateway => tsplus_module_1.flatMap(rest => tsplus_module_1.flatMap(application => {
|
|
14
14
|
const globalSync = rest.bulkOverwriteGlobalApplicationCommands(application.id, {
|
|
15
15
|
body: JSON.stringify(GlobalApplicationCommand.map(a => a.command)),
|
|
16
16
|
});
|
|
@@ -18,8 +18,8 @@ export const run = (postHandler, { sync = true } = {}) => (ix) => (() => {
|
|
|
18
18
|
? gateway.handleDispatch("GUILD_CREATE", a => rest.bulkOverwriteGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(a => a.command)))
|
|
19
19
|
: tsplus_module_1.unit();
|
|
20
20
|
const handle = handlers(ix.definitions);
|
|
21
|
-
const run = gateway.handleDispatch("INTERACTION_CREATE", i => tsplus_module_1.provideService(tsplus_module_2.pipe(tsplus_module_1.tap(
|
|
22
|
-
return tsplus_module_1.map(sync ? tsplus_module_1.zipPar(tsplus_module_1.zipPar(
|
|
23
|
-
})));
|
|
21
|
+
const run = gateway.handleDispatch("INTERACTION_CREATE", i => tsplus_module_1.provideService(InteractionContext, i)(tsplus_module_2.pipe(tsplus_module_1.tap(r => rest.createInteractionResponse(i.id, i.token, r))(handle[i.type](i)), postHandler)));
|
|
22
|
+
return tsplus_module_1.map(() => void 0)(sync ? tsplus_module_1.zipPar(guildSync)(tsplus_module_1.zipPar(globalSync)(run)) : run);
|
|
23
|
+
})(tsplus_module_1.flatMap(a => a.json)(rest.getCurrentBotApplicationInformation())))(tsplus_module_1.service(tsplus_module_3.DiscordREST)))(tsplus_module_1.service(tsplus_module_4.Gateway.DiscordGateway));
|
|
24
24
|
})();
|
|
25
25
|
//# sourceMappingURL=gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAsB,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAM7C;;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;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Interactions/gateway.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAsB,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAM7C;;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;mCAE5B,OAAO,4BACP,IAAI,4BAEJ,WAAW;QAIjB,MAAM,UAAU,GAAG,IAAI,CAAC,sCAAsC,CAC5D,WAAW,CAAC,EAAE,EACd;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SACnE,CACF,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,+BAKiB,kBAAkB,EAAE,CAAC,EALtC,gBAAA,IAAI,CACF,oBAAsB,CAAC,CAAC,EAAE,CACxB,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EADlD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAEhB,EACD,WAAW,CACZ,CAAsC,CACxC,CAAA;iDAEC,IAAI,CAAC,CAAC,CAAC,uBAA8B,SAAS,EAAvC,uBAAW,UAAU,EAArB,GAAG,CAAmB,CAAkB,CAAC,CAAC,CAAC,GAAG;OA/BrD,wBAAmD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAA9D,IAAI,CAAC,mCAAmC,EAAE,CAAqB,GAHlD,wCAAe,WAAW,CAAC,GADxB,wBAAe,gBAAA,OAAO,CAAC,cAAc,CAAC;IAoCxD,CAAA"}
|
package/Interactions/handlers.js
CHANGED
|
@@ -29,30 +29,30 @@ export const handlers = (definitions) => {
|
|
|
29
29
|
}),
|
|
30
30
|
[2 /* Discord.InteractionType.APPLICATION_COMMAND */]: i => {
|
|
31
31
|
const data = i.data;
|
|
32
|
-
return tsplus_module_2.provideService(tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), command => tsplus_module_2.isEffect(command.handle)
|
|
32
|
+
return tsplus_module_2.provideService(Ctx.ApplicationCommandContext, data)(tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), command => tsplus_module_2.isEffect(command.handle)
|
|
33
33
|
? command.handle
|
|
34
|
-
: command.handle(context))(tsplus_module_3.fromNullable(Commands[data.name]))
|
|
34
|
+
: command.handle(context))(tsplus_module_3.fromNullable(Commands[data.name])));
|
|
35
35
|
},
|
|
36
36
|
[5 /* Discord.InteractionType.MODAL_SUBMIT */]: (i) => {
|
|
37
37
|
const data = i.data;
|
|
38
38
|
return tsplus_module_5.pipe(ModalSubmit, Arr.map(a => tsplus_module_2.struct({
|
|
39
39
|
command: tsplus_module_2.succeed(a),
|
|
40
40
|
match: a.predicate(data.custom_id),
|
|
41
|
-
})), _ => tsplus_module_2.provideService(
|
|
41
|
+
})), _ => tsplus_module_2.provideService(Ctx.ModalSubmitContext, data)(tsplus_module_2.flatMap(a => tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), a => a.command.handle)(tsplus_module_4.findFirst(a => a.match)(a)))(tsplus_module_2.collectAllPar(_))));
|
|
42
42
|
},
|
|
43
43
|
[3 /* Discord.InteractionType.MESSAGE_COMPONENT */]: i => {
|
|
44
44
|
const data = i.data;
|
|
45
45
|
return tsplus_module_5.pipe(MessageComponent, Arr.map(a => tsplus_module_2.struct({
|
|
46
46
|
command: tsplus_module_2.succeed(a),
|
|
47
47
|
match: a.predicate(data.custom_id),
|
|
48
|
-
})), a => tsplus_module_2.provideService(
|
|
48
|
+
})), a => tsplus_module_2.provideService(Ctx.MessageComponentContext, data)(tsplus_module_2.flatMap(a => tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), a => a.command.handle)(tsplus_module_4.findFirst(a => a.match)(a)))(tsplus_module_2.collectAllPar(a))));
|
|
49
49
|
},
|
|
50
50
|
[4 /* Discord.InteractionType.APPLICATION_COMMAND_AUTOCOMPLETE */]: i => {
|
|
51
51
|
const data = i.data;
|
|
52
52
|
return tsplus_module_3.getOrElse(() => tsplus_module_2.fail(new DefinitionNotFound(i)))(tsplus_module_3.map(focusedOption => tsplus_module_5.pipe(Autocomplete, Arr.map(_ => tsplus_module_2.struct({
|
|
53
53
|
command: tsplus_module_2.succeed(_),
|
|
54
54
|
match: _.predicate(data, focusedOption),
|
|
55
|
-
})), a => tsplus_module_2.provideService(tsplus_module_2.provideService(
|
|
55
|
+
})), a => tsplus_module_2.provideService(Ctx.FocusedOptionContext, { focusedOption })(tsplus_module_2.provideService(Ctx.ApplicationCommandContext, data)(tsplus_module_2.flatMap(_ => tsplus_module_3.match(() => tsplus_module_2.fail(new DefinitionNotFound(i)), _ => _.command.handle)(tsplus_module_4.findFirst(_ => _.match)(_)))(tsplus_module_2.collectAllPar(a))))))(tsplus_module_6.IxHelpers.focusedOption(data)));
|
|
56
56
|
},
|
|
57
57
|
};
|
|
58
58
|
};
|