summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/aiscript
diff options
context:
space:
mode:
authorMarie <marie@kaifa.ch>2024-01-09 02:57:57 +0100
committerMarie <marie@kaifa.ch>2024-01-09 02:57:57 +0100
commit7552cea69ae21b31799d54b246dcd45e96654926 (patch)
tree389031f25fee72180157869a9e60c31704e198a9 /packages/frontend/src/scripts/aiscript
parentmerge: additional authorised fetch logging (#328) (diff)
parentfeat(ci): api.jsonのバリデーションチェックCIを追加 (#12950) (diff)
downloadsharkey-7552cea69ae21b31799d54b246dcd45e96654926.tar.gz
sharkey-7552cea69ae21b31799d54b246dcd45e96654926.tar.bz2
sharkey-7552cea69ae21b31799d54b246dcd45e96654926.zip
merge: upstream
Diffstat (limited to 'packages/frontend/src/scripts/aiscript')
-rw-r--r--packages/frontend/src/scripts/aiscript/api.ts13
-rw-r--r--packages/frontend/src/scripts/aiscript/ui.ts4
2 files changed, 14 insertions, 3 deletions
diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts
index 038ae23109..c13849cc8f 100644
--- a/packages/frontend/src/scripts/aiscript/api.ts
+++ b/packages/frontend/src/scripts/aiscript/api.ts
@@ -5,12 +5,23 @@
import { utils, values } from '@syuilo/aiscript';
import * as os from '@/os.js';
+import { misskeyApi } from '@/scripts/misskey-api.js';
import { $i } from '@/account.js';
import { miLocalStorage } from '@/local-storage.js';
import { customEmojis } from '@/custom-emojis.js';
import { url, lang } from '@/config.js';
import { nyaize } from '@/scripts/nyaize.js';
+export function aiScriptReadline(q: string): Promise<string> {
+ return new Promise(ok => {
+ os.inputText({
+ title: q,
+ }).then(({ result: a }) => {
+ ok(a ?? '');
+ });
+ });
+}
+
export function createAiScriptEnv(opts) {
return {
USER_ID: $i ? values.STR($i.id) : values.NULL,
@@ -44,7 +55,7 @@ export function createAiScriptEnv(opts) {
if (typeof token.value !== 'string') throw new Error('invalid token');
}
const actualToken: string|null = token?.value ?? opts.token ?? null;
- return os.api(ep.value, utils.valToJs(param), actualToken).then(res => {
+ return misskeyApi(ep.value, utils.valToJs(param), actualToken).then(res => {
return utils.jsToVal(res);
}, err => {
return values.ERROR('request_failed', utils.jsToVal(err));
diff --git a/packages/frontend/src/scripts/aiscript/ui.ts b/packages/frontend/src/scripts/aiscript/ui.ts
index 08ba1e6d9b..215ac4cc69 100644
--- a/packages/frontend/src/scripts/aiscript/ui.ts
+++ b/packages/frontend/src/scripts/aiscript/ui.ts
@@ -218,7 +218,7 @@ function getTextOptions(def: values.Value | undefined): Omit<AsUiText, 'id' | 't
};
}
-function getMfmOptions(def: values.Value | undefined): Omit<AsUiMfm, 'id' | 'type'> {
+function getMfmOptions(def: values.Value | undefined, call: (fn: values.VFn, args: values.Value[]) => Promise<values.Value>): Omit<AsUiMfm, 'id' | 'type'> {
utils.assertObject(def);
const text = def.value.get('text');
@@ -241,7 +241,7 @@ function getMfmOptions(def: values.Value | undefined): Omit<AsUiMfm, 'id' | 'typ
color: color?.value,
font: font?.value,
onClickEv: (evId: string) => {
- if (onClickEv) call(onClickEv, values.STR(evId));
+ if (onClickEv) call(onClickEv, [values.STR(evId)]);
},
};
}