フォルダ構成だけ変えた
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
import { meApi, ueuse } from "../../../src/types/types";
|
||||
import { readFileSync } from "fs";
|
||||
import config from "../../../config.js";
|
||||
import { Reply } from "../main.js";
|
||||
import { Permission } from "./permission";
|
||||
import MiQ from "../../../miq/main.js";
|
||||
|
||||
export default async function MiQAllow(data: ueuse) {
|
||||
if (!config.miq) {
|
||||
console.log("MiQ(管理者無効):", await Reply(`
|
||||
BOT管理者によってMake it a quoteが無効化されています。
|
||||
そのため\`/miq\`はご利用いただけません。
|
||||
`, data.uniqid));
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.replyid === "") {
|
||||
console.log("MiQ許可制(誤ユーズ):", await Reply(`
|
||||
形式が正規ではありません。
|
||||
`, data.uniqid));
|
||||
}
|
||||
|
||||
// 権限一覧取得
|
||||
const permissions: { [user: string]: Permission } =
|
||||
JSON.parse(readFileSync("data/miqPermissions.json", "utf-8"));
|
||||
|
||||
if (permissions[data.account.userid] !== "consent") {
|
||||
console.log("MiQ許可制(許可制以外):", await Reply(`
|
||||
あなたに対してのMake it a Quoteの生成要求者が許可制に設定されていません。
|
||||
そのため、\`/miq allow\`はご利用いただけません。
|
||||
`, data.uniqid));
|
||||
return;
|
||||
}
|
||||
|
||||
const confirmUeuseReq = await fetch(`${config.uwuzu.host}/api/ueuse/get`, {
|
||||
method: "POST",
|
||||
cache: "no-store",
|
||||
body: JSON.stringify({
|
||||
token: config.uwuzu.apiToken,
|
||||
uniqid: data.replyid,
|
||||
}),
|
||||
});
|
||||
|
||||
if (confirmUeuseReq.status < 200 || confirmUeuseReq.status > 299) {
|
||||
return;
|
||||
}
|
||||
|
||||
const confirmUeuse: ueuse = (await confirmUeuseReq.json())["0"];
|
||||
|
||||
const meReq = await fetch(`${config.uwuzu.host}/api/me/`, {
|
||||
method: "POST",
|
||||
cache: "no-store",
|
||||
body: JSON.stringify({
|
||||
token: config.uwuzu.apiToken
|
||||
}),
|
||||
});
|
||||
|
||||
if (meReq.status < 200 || meReq.status > 299) {
|
||||
return;
|
||||
}
|
||||
|
||||
const me: meApi = await meReq.json()
|
||||
|
||||
if (confirmUeuse.account.userid !== me.userid) {
|
||||
console.log("MiQ許可制(誤アカウント):", await Reply(`
|
||||
返信先がこのBOTではありません。
|
||||
`, data.uniqid));
|
||||
return;
|
||||
}
|
||||
|
||||
if (confirmUeuse.replyid === "") {
|
||||
console.log("MiQ許可制(誤ユーズ):", await Reply(`
|
||||
形式が正規ではありません。
|
||||
`, data.uniqid));
|
||||
return;
|
||||
}
|
||||
|
||||
const requestUeuseReq = await fetch(`${config.uwuzu.host}/api/ueuse/get`, {
|
||||
method: "POST",
|
||||
cache: "no-store",
|
||||
body: JSON.stringify({
|
||||
token: config.uwuzu.apiToken,
|
||||
uniqid: confirmUeuse.replyid,
|
||||
}),
|
||||
});
|
||||
|
||||
if (requestUeuseReq.status < 200 || requestUeuseReq.status > 299) {
|
||||
return;
|
||||
}
|
||||
|
||||
const requestUeuse: ueuse = (await requestUeuseReq.json())["0"];
|
||||
|
||||
if (requestUeuse.replyid === "") {
|
||||
console.log("MiQ許可制(誤ユーズ):", await Reply(`
|
||||
形式が正規ではありません。
|
||||
`, data.uniqid));
|
||||
return;
|
||||
}
|
||||
|
||||
const miqUeuseReq = await fetch(`${config.uwuzu.host}/api/ueuse/get`, {
|
||||
method: "POST",
|
||||
cache: "no-store",
|
||||
body: JSON.stringify({
|
||||
token: config.uwuzu.apiToken,
|
||||
uniqid: requestUeuse.replyid,
|
||||
}),
|
||||
});
|
||||
|
||||
if (miqUeuseReq.status < 200 || miqUeuseReq.status > 299) {
|
||||
return;
|
||||
}
|
||||
|
||||
const miqUeuse: ueuse = (await miqUeuseReq.json())["0"];
|
||||
|
||||
let color: boolean;
|
||||
let msg: string;
|
||||
if (requestUeuse.abi === "color: true") {
|
||||
msg = "カラーモードでMake it a Quoteを生成しました。";
|
||||
color = true;
|
||||
} else if (requestUeuse.abi === "color: false") {
|
||||
msg = "モノクロモードでMake it a Quoteを生成しました。";
|
||||
color = false;
|
||||
} else {
|
||||
msg = "ご指定がないためモノクロモードでMake it a Quoteを生成しました。";
|
||||
color = false;
|
||||
}
|
||||
|
||||
const img = await MiQ({
|
||||
type: "Base64Data",
|
||||
color: color,
|
||||
text: miqUeuse.text,
|
||||
iconURL: miqUeuse.account.user_icon,
|
||||
userName: miqUeuse.account.username,
|
||||
userID: miqUeuse.account.userid,
|
||||
});
|
||||
|
||||
const req = await fetch(`${config.uwuzu.host}/api/ueuse/create`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
token: config.uwuzu.apiToken,
|
||||
text: msg,
|
||||
image1: img,
|
||||
nsfw: miqUeuse.nsfw,
|
||||
replyid: data.uniqid,
|
||||
}),
|
||||
cache: "no-store",
|
||||
});
|
||||
|
||||
if (req.status < 200 || req.status > 299) {
|
||||
return;
|
||||
}
|
||||
|
||||
const res = await req.json();
|
||||
|
||||
console.log("MiQ(許可制):", res);
|
||||
}
|
||||
Reference in New Issue
Block a user