-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOnMenuExec.azr
123 lines (102 loc) · 2.96 KB
/
OnMenuExec.azr
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
dict dictWeatherAreas;
string sender;
string OnMenuExec(dict ref)
{
if (_dicvn(dictWeatherAreas) == 0) {
array arJson = _httpget( "http://www.jma.go.jp/bosai/common/const/area.json", "utf8" );
dictWeatherAreas = _json2azv(arJson);
}
string officeId = dictSaveData["officeId"];
string s = "\0\s[0]\_q";
if (officeId == "") {
s += "※地域を設定してください\n";
}
else {
s += "\![*]\__q[WeatherForecast]天気予報\__q\n";
}
s += "\n";
s += "\![*]\__q[MenuSetting]地域の設定\__q";
if (officeId == "") {
s += " 地域: 未設定\n";
}
else {
string officeName = dictWeatherAreas["offices"][officeId]["name"];
s += " 地域: " + officeName + "\n";
}
s += "\n";
s += "\![*]\__q[MenuCancel]閉じる\__q\n";
s += "\_q\e";
sender = ref["Sender"];
dictOptionalHeader["target"] = sender;
dictOptionalHeader["script_option"] = "nobreak,notranslate";
dictOptionalHeader["marker"] = version();
return s;
}
string WeatherForecast(dict ref)
{
string officeId = dictSaveData["officeId"];
array arJson = _httpget("https://www.jma.go.jp/bosai/forecast/data/overview_forecast/" + officeId + ".json", "utf8");
dict dictWeather = _json2azv(arJson);
string officeName = dictWeatherAreas["offices"][officeId]["name"];
string s = "\0\s[0]\b[2]■" + officeName + "の天気\n\n[half]";
s += dictWeather["text"];
s += "\n\n(※出典:気象庁ホームページ)";
s += "\n\n[half]";
s += "\![*]\__q[OnMenuExec]メニューへ\__q\n";
s += "\![*]\__q[MenuCancel]閉じる\__q\e";
return s;
}
string MenuSetting(dict ref)
{
string s = "\0\s[0]\b[2]\_q地域を選択してください。\n\n";
array keys = _dickeyget(dictWeatherAreas["centers"]);
for (int i = 0; i < _aryvn(keys); i++) {
s += "\![*]\__q[AreaSetting," + keys[i] + "]" + dictWeatherAreas["centers"][keys[i]]["name"] + "\__q\n";
}
s += "\n";
s += "\![*]\__q[OnMenuExec]メニューへ\__q\n";
s += "\![*]\__q[MenuCancel]閉じる\__q\n";
s += "\_q\e";
return s;
}
string AreaSetting(dict ref)
{
string areaKey = ref["Reference2"];
string s = "\0\s[0]\b[2]\_q地域を選択してください。\n\n";
array aryChildren = dictWeatherAreas["centers"][areaKey]["children"];
for (int i = 0; i < _aryvn(aryChildren); i++) {
string childKey = dictWeatherAreas["centers"][areaKey]["children"][i];
string officeName = dictWeatherAreas["offices"][childKey]["name"];
s += "\![*]\__q[OfficeSetting," + childKey + "]" + officeName + "\__q\n";
}
s += "\n";
s += "\![*]\__q[OnMenuExec]メニューへ\__q\n";
s += "\![*]\__q[MenuCancel]閉じる\__q\n";
s += "\_q\e";
return s;
}
string OfficeSetting(dict ref)
{
dictSaveData["officeId"] = ref["Reference2"];
return OnMenuExec(ref);
}
string MenuCancel(dict ref)
{
return "\e";
}
string OnChoiceSelect(dict ref)
{
return _fncstr(ref["Reference0"], ref);
}
string OnChoiceSelectEx(dict ref)
{
return _fncstr(ref["Reference1"], ref);
}
string version()
{
return "ukaten/1.1";
}
string pluginname()
{
return "うかてん";
}