2026.4.0-alpha.2 #11
@@ -12,6 +12,8 @@ uwuzu v1.6.3以上で利用可能です。
|
|||||||
- 地震発生
|
- 地震発生
|
||||||
- 緊急地震速報(警報)
|
- 緊急地震速報(警報)
|
||||||
- 津波予報
|
- 津波予報
|
||||||
|
- 新年迎春
|
||||||
|
毎年1/1 0:00に投稿します。
|
||||||
- デバッグモード
|
- デバッグモード
|
||||||
設定で有効化することで、以下の機能が利用できます。
|
設定で有効化することで、以下の機能が利用できます。
|
||||||
開発以外では使用しないでください。
|
開発以外では使用しないでください。
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ eewNotice: |
|
|||||||
📍震源地: {{ epicenter }}
|
📍震源地: {{ epicenter }}
|
||||||
💪マグニチュード: {{ magnitude }}
|
💪マグニチュード: {{ magnitude }}
|
||||||
🪨深さ: {{ depth }}{{ areas }}
|
🪨深さ: {{ depth }}{{ areas }}
|
||||||
|
hnyNotice: |
|
||||||
|
あけましておめでとうございます。今年は、{{ year }}年です。
|
||||||
commandNotFound: |
|
commandNotFound: |
|
||||||
コマンドが本文から参照できませんでした。
|
コマンドが本文から参照できませんでした。
|
||||||
Botでは、このアカウントに対してのメンション部分を取り除きます。
|
Botでは、このアカウントに対してのメンション部分を取り除きます。
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import client from "@/lib/client";
|
||||||
|
import initI18n from "@/lib/i18n";
|
||||||
|
import i18next from "i18next";
|
||||||
|
import { parentPort } from "node:worker_threads";
|
||||||
|
|
||||||
|
await initI18n();
|
||||||
|
|
||||||
|
parentPort?.on("message", async () => {
|
||||||
|
console.log("新年迎春の投稿を行います");
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await client.request("ueuse/create", {
|
||||||
|
text: i18next.t("hnyNotice", { year: String(new Date().getFullYear()) }),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.success) {
|
||||||
|
console.warn("新年迎春投稿に失敗しました:", response.error_code);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("新年迎春投稿:", response.uniqid);
|
||||||
|
} catch (err: any) {
|
||||||
|
console.error("message" in err
|
||||||
|
? err.message
|
||||||
|
: err);
|
||||||
|
} finally {
|
||||||
|
parentPort?.postMessage("");
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -30,6 +30,7 @@ try {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
schedule("0 * * * *", async () => {
|
schedule("0 * * * *", async () => {
|
||||||
new Worker(`${import.meta.dirname}/feature/timeNotice.js`);
|
new Worker(`${import.meta.dirname}/feature/timeNotice.js`);
|
||||||
});
|
});
|
||||||
@@ -41,3 +42,22 @@ schedule("0 7 * * *", async () => {
|
|||||||
schedule(`*/${config.command.interval} * * * *`, async () => {
|
schedule(`*/${config.command.interval} * * * *`, async () => {
|
||||||
new Worker(`${import.meta.dirname}/feature/command/index.js`);
|
new Worker(`${import.meta.dirname}/feature/command/index.js`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let hnyWorker: Worker | undefined = undefined;
|
||||||
|
|
||||||
|
schedule("59 23 31 12 *", () => {
|
||||||
|
hnyWorker = new Worker(`${import.meta.dirname}/feature/hnyNotice.js`);
|
||||||
|
});
|
||||||
|
|
||||||
|
schedule("0 0 1 1 *", () => {
|
||||||
|
hnyWorker?.once("message", async () => {
|
||||||
|
await hnyWorker?.terminate();
|
||||||
|
hnyWorker = undefined;
|
||||||
|
});
|
||||||
|
hnyWorker?.postMessage("");
|
||||||
|
});
|
||||||
|
} catch (err: any) {
|
||||||
|
console.error("message" in err
|
||||||
|
? err.message
|
||||||
|
: err);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user