Compare commits

..

2 Commits

3 changed files with 13 additions and 10 deletions
+1 -1
View File
@@ -26,4 +26,4 @@ cron.schedule("1 7 * * *", () => {
});
// コンソールで表示
console.log("サーバーが起動しました");
console.log("BOTサーバーが起動しました");
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "noticeuwuzu",
"version": "v4.0@uwuzu1.5.4",
"version": "v4.1@uwuzu1.5.4",
"description": "uwuzu Notice Bot",
"main": "dist/main.js",
"scripts": {
+11 -8
View File
@@ -1,9 +1,9 @@
import WebSocket from "ws";
import { differenceInMinutes } from "date-fns";
import { differenceInMinutes, subMinutes } from "date-fns";
import config from "../config.js";
let rateLimit: Date;
let rateLimit: Date | null = null;
class P2PEarthquakeClient {
private ws: WebSocket | null = null;
@@ -72,12 +72,13 @@ class P2PEarthquakeClient {
console.log("緊急地震速報を受信しました");
this.executeEventFunc(message);
break;
case 555: // 震度情報
console.log("震度情報を受信しました");
case 555: // 地域情報更新情報
console.log("地域情報更新情報を受信しました");
this.executeEventFunc(message);
break;
default:
console.log(`その他の情報 (コード: ${message.code})`);
console.log("----------------");
console.log(`未対応の情報を受信しました(コード: ${message.code})`);
break;
}
}
@@ -144,7 +145,8 @@ async function areaMap(): Promise<Record<number, string>> {
// 情報受信
async function event(earthquakeInfo: any): Promise<void> {
console.log(JSON.stringify(earthquakeInfo));
console.log("----------------");
console.log(`受信データ:${JSON.stringify(earthquakeInfo)}`);
// ----処理----
@@ -244,6 +246,7 @@ async function event(earthquakeInfo: any): Promise<void> {
let maxScale: string = "最大深度:";
if (earthquakeInfo.earthquake.maxScale < config.earthquake.maxScaleMax) {
console.log("最低震度に満たしていないため投稿されませんでした");
return;
}
@@ -331,7 +334,7 @@ async function event(earthquakeInfo: any): Promise<void> {
// 地域情報更新の場合
else if (earthquakeInfo.code === 555) {
if (rateLimit === null) {
rateLimit = new Date();
rateLimit = subMinutes(new Date(), 15);
}
// 対象地域マッピング
@@ -349,7 +352,7 @@ async function event(earthquakeInfo: any): Promise<void> {
const areas = areaNames.join("・");
if (differenceInMinutes(rateLimit, new Date()) >= config.earthquake.rateLimit) {
if (Math.abs(differenceInMinutes(rateLimit, new Date())) >= config.earthquake.rateLimit) {
ueuse(`
==地震情報==
【地域情報更新】