Feat: 新年迎春
This commit is contained in:
@@ -12,6 +12,8 @@ uwuzu v1.6.3以上で利用可能です。
|
||||
- 地震発生
|
||||
- 緊急地震速報(警報)
|
||||
- 津波予報
|
||||
- 新年迎春
|
||||
毎年1/1 0:00に投稿します。
|
||||
- デバッグモード
|
||||
設定で有効化することで、以下の機能が利用できます。
|
||||
開発以外では使用しないでください。
|
||||
|
||||
@@ -50,6 +50,8 @@ eewNotice: |
|
||||
📍震源地: {{ epicenter }}
|
||||
💪マグニチュード: {{ magnitude }}
|
||||
🪨深さ: {{ depth }}{{ areas }}
|
||||
hnyNotice: |
|
||||
あけましておめでとうございます。今年は、{{ year }}年です。
|
||||
commandNotFound: |
|
||||
コマンドが本文から参照できませんでした。
|
||||
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);
|
||||
}
|
||||
|
||||
try {
|
||||
schedule("0 * * * *", async () => {
|
||||
new Worker(`${import.meta.dirname}/feature/timeNotice.js`);
|
||||
});
|
||||
@@ -41,3 +42,22 @@ schedule("0 7 * * *", async () => {
|
||||
schedule(`*/${config.command.interval} * * * *`, async () => {
|
||||
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