-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutil.azr
68 lines (64 loc) · 2.47 KB
/
util.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
//================================================
// ゴーストからの利用を想定したイベント関数群
//================================================
// プラグインのバージョンを取得
// [戻り値]
// Reference0: プラグインのバージョン("ukaten/1.0"等)
string OnGetPluginVersion(dict ref)
{
dictOptionalHeader["target"] = ref["Sender"];
dictOptionalHeader["event"] = ref["ID"];
dictOptionalHeader["reference"] = {version()};
return "";
}
// ユーザが設定した地域のIDと表示名を取得
// [戻り値]
// Reference0: 地域ID(東京都の場合は"130000")
// Reference1: 地域名("東京都"等)
string OnGetSavedArea(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 officeName = dictWeatherAreas["offices"][officeId]["name"];
dictOptionalHeader["target"] = ref["Sender"];
dictOptionalHeader["event"] = ref["ID"];
dictOptionalHeader["reference"] = {officeId, officeName};
return "";
}
// 気象庁から天気予報を取得(※利用時は出典が気象庁である旨を明示してください。)
// [引数]
// Reference0: 取得情報の種類("forecast","overview_forecast","overview_week")
// 省略時は"overview_forecast"
// Reference1: 地域ID(東京都の場合は"130000")
// 省略時は保存しているユーザ設定値を使用
// Reference2: 取得情報のキー("publishingOffice","reportDatetime","targetArea","headlineText","text"等)
// 省略時は"text"
// [戻り値]
// Reference0: 取得情報
string OnGetWeatherInfo(dict ref)
{
string infoType = ref["Reference0"];
string officeId = ref["Reference1"];
string infoKey = ref["Reference2"];
if (infoType == "") infoType = "overview_forecast";
if (officeId == "") officeId = dictSaveData["officeId"];
if (infoKey == "") infoKey = "text";
array arJson = _httpget("https://www.jma.go.jp/bosai/forecast/data/" + infoType + "/" + officeId + ".json", "utf8");
string t = arJson[0];
string response;
if (_substr(t, 0, 1) == "{") {
dict dictWeather = _json2azv(arJson);
response = dictWeather[infoKey];
}
else {
array arrayWeather = _json2azv(arJson);
response = arrayWeather[0][infoKey];
}
dictOptionalHeader["target"] = ref["Sender"];
dictOptionalHeader["event"] = ref["ID"];
dictOptionalHeader["reference"] = {response};
return "";
}