This repository has been archived by the owner on Apr 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrun.sh
executable file
·95 lines (89 loc) · 3.56 KB
/
run.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/sh
if [ -e ./.env ]
then
. ./.env
else
. /opt/epgstation/EPGS-to-Discord-v2/.env
fi
if [ $# = 1 ]; then
# チャンネル名, チャンネルタイプ, 番組名, 番組概要の読み込み
if [ -z "$CHANNELTYPE" ]; then
CHANNELTYPE="チャンネルタイプ未設定"
else
:
fi
if [ -z "$CHANNELNAME" ]; then
CHANNELNAME="放送局名なし"
else
:
fi
if [ -z "$NAME" ]; then
title="タイトル未設定"
else
title=$NAME
fi
if [ -z "$DESCRIPTION" ]; then
description="番組概要が指定されていません。"
else
description=$DESCRIPTION
fi
# 引数をコピー (コマンドとして認識されるのを防ぐため)
ret=$1
# 予約関係: 追加, 削除, 更新, 録画準備
if [ $ret = "reserve" ]; then
content="✅ **予約追加**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "delete" ]; then
content="💨 **予約削除**\n番組名: ${title}@ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "update" ]; then
content="🔁 **予約更新**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "prestart" ]; then
content="🔷 **録画準備開始**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "prepfailed" ]; then
content="💥 **録画準備失敗**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "start" ]; then
content="⏺ **録画開始**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`"
elif [ $ret = "end" ]; then
# エラー, ドロップ, スクランブルカウントを読み込み
if [ -z "$ERROR_CNT" ]; then
ERROR_CNT="N/A"
else
: # 何もしない
fi
if [ -z "$DROP_CNT" ]; then
DROP_CNT="N/A"
else
: # 何もしない
fi
if [ -z "$SCRAMBLING_CNT" ]; then
SCRAMBLING_CNT="N/A"
else
: # 何もしない
fi
content="⏹ **録画終了**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`\nエラー: ${ERROR_CNT}, ドロップ: ${DROP_CNT}, スクランブル: ${SCRAMBLING_CNT}"
elif [ $ret = "recfailed" ]; then
# エラー, ドロップ, スクランブルカウントを読み込み
if [ -z "$ERROR_CNT" ]; then
ERROR_CNT="N/A"
else
: # 何もしない
fi
if [ -z "$DROP_CNT" ]; then
DROP_CNT="N/A"
else
: # 何もしない
fi
if [ -z "$SCRAMBLING_CNT" ]; then
SCRAMBLING_CNT="N/A"
else
: # 何もしない
fi
content="❌ **録画失敗**\n番組名: ${title} @ ${CHANNELTYPE} ${CHANNELNAME}\n番組概要:\n\`\`\`\n${description}\n\`\`\`\nエラー: ${ERROR_CNT}, ドロップ: ${DROP_CNT}, スクランブル: ${SCRAMBLING_CNT}"
else
echo "引数が不正です。"
exit 1
fi
# cURL で Webhook メッセージを送信
curl -H "Content-Type: application/json" -X POST -d '{"username": "EPGStation", "content": "'"$content"'"}' $WEBHOOK_URL
else
echo "引数を指定してください。"
fi