Feat: ユーズの再試行 / Feat: ユーズの文字数制限回避 / Feat: ユーズ送信関数 / Chg: weatherNotice.tsのマジックナンバーに命名

This commit is contained in:
2026-05-03 13:50:11 +09:00
parent 74c1552472
commit d429503b78
12 changed files with 201 additions and 297 deletions
+11 -46
View File
@@ -1,4 +1,4 @@
import client from "@/lib/client";
import { createUeuse } from "@/lib/client";
import config from "@/lib/config";
import initI18n from "@/lib/i18n";
import Memory from "@/lib/memory";
@@ -169,7 +169,7 @@ const processMessage = async (message: any) => {
`${label}${EOL}${addrs.join("・")}`)
.join(EOL.repeat(2)).trim();
const response = await client.request("ueuse/create", {
await createUeuse({
text: i18next.t("earthquakeNotice", {
occuredTime: format(new Date(message.earthquake.time), "yyyy年M月d日 H:mm"),
maxScale: scaleMessages[String(message.earthquake.maxScale)],
@@ -194,14 +194,7 @@ const processMessage = async (message: any) => {
? ""
: EOL + message.comments.freeFormComment + EOL,
}),
});
if (!response.success) {
console.warn("ユーズの作成に失敗しました:", response.error_code);
break;
}
console.log("地震発生情報を投稿:", response.uniqid);
}, "地震発生情報");
}
break;
case 552:
@@ -209,19 +202,12 @@ const processMessage = async (message: any) => {
console.log("津波予報情報を受信しました");
if (message.cancelled) {
const response = await client.request("ueuse/create", {
await createUeuse({
text: i18next.t("tsunamiCancelNotice", {
announceTime: format(new Date(message.issue.time), "yyyy年M月d日 H:mm:ss"),
source: message.issue.source ?? "不明",
}),
});
if (!response.success) {
console.warn("ユーズの作成に失敗しました:", response.error_code);
break;
}
console.log("津波予報解除情報を投稿:", response.uniqid);
}, "津波予報解除情報");
break;
}
@@ -252,20 +238,13 @@ const processMessage = async (message: any) => {
}) + EOL.repeat(2);
}
const response = await client.request("ueuse/create", {
await createUeuse({
text: i18next.t("tsunamiForecastNotice", {
announceTime: format(new Date(message.issue.time), "yyyy年M月d日 H:mm:ss"),
areasMsg: areasMsg.trim(),
source: message.issue.source ?? "不明",
}),
});
if (!response.success) {
console.warn("ユーズの作成に失敗しました:", response.error_code);
break;
}
console.log("津波予報情報を投稿:", response.uniqid);
}, "津波予報情報");
}
break;
case 556:
@@ -273,21 +252,14 @@ const processMessage = async (message: any) => {
console.log("緊急地震速報(警報)を受信しました");
if (message.cancelled) {
const response = await client.request("ueuse/create", {
await createUeuse({
text: i18next.t("eewCancelNotice", {
isTest: message.test
? "⚒️これは**テストです。**"
: "🚨これは**テストではありません。**",
announceTime: format(new Date(message.issue.time), "yyyy年M月d日 H:mm:ss"),
}),
});
if (!response.success) {
console.warn("ユーズの作成に失敗しました:", response.error_code);
break;
}
console.log("緊急地震速報(警報)解除情報を投稿:", response.uniqid);
}, "緊急地震速報(警報)解除情報");
}
const kindMessages: Record<string, string> = {
@@ -313,7 +285,7 @@ const processMessage = async (message: any) => {
}) + EOL.repeat(2);
}
const response = await client.request("ueuse/create", {
await createUeuse({
text: i18next.t("eewNotice", {
isTest: message.test
? "⚒️これは**テストです。**"
@@ -337,14 +309,7 @@ const processMessage = async (message: any) => {
? EOL.repeat(2) + areasMsg.trim()
: "",
}),
});
if (!response.success) {
console.warn("ユーズの作成に失敗しました:", response.error_code);
break;
}
console.log("緊急地震速報(警報)情報を投稿:", response.uniqid);
}, "緊急地震速報(警報)情報");
}
break;
default: