▶ 実 行
▶ 実行
クリア
なでしこの最新バージョンを答えてくれるLINE Bot
by 雪乃☆雫
!『Plugin_linebot.js』を取り込む。 !『nadesiko3-htmlparser』を取り込む。 !『plugin_csv』を取り込む。 #---宣言---------- イベントリスト=空配列。C=0。No=0。 イベント種別=空。返信先=空。ユーザーID=空。ユーザー名=空。受信メッセージ=空。 返信メッセージリスト=「reply_list.csv」を開いて、それをCSV取得。 返信テキスト=空。 #---情報取得---------- 定数 v1バージョンURL=『https://download.nadesi.com/v1/History.xml』 定数 v3バージョンURL=『https://n3s.nadesi.com/nako_version.json』 バージョン情報=空配列。 #---サーバー---------- LINEボット起動した時には 「{PORT番号}でサーバ起動しました」と表示。 LINEイベント受信時には イベント処理。 ここまで。 ここまで。 ●イベント処理 C=0。 LINEイベントを反復 No=対象キー。 イベント種別=LINEイベント[No]["type"] もし、イベント種別=「unfollow」ならば、続ける。 返信先=LINEイベント[No]["replyToken"] ユーザーID=LINEイベント[No]["source"]["userId"]。 ユーザーIDのプロフィール取得した時には ユーザー名=対象["displayName"]。 イベント種別で条件分岐 「follow」ならば、フォロー。。。 「message」ならば、メッセージ。。。 ここまで。 C=C+1。 もし、C=(イベントリストの配列要素数)ならば、イベントリストをLINEメッセージ送信。 ここまで。 ここまで。 ここまで。 ●フォロー 返信テキスト=「{ユーザー名}さん、はじめまして!{改行}お友達になってくれてありがとう☆」 イベントリスト[No]=返信テキストのLINEテキストメッセージを返信先へLINE返信。 ここまで。 ●メッセージ メッセージ種別=LINEイベント[No]["message"]["type"] メッセージ種別で条件分岐 「text」ならば、 受信メッセージ=LINEイベント[No]["message"]["text"] 受信メッセージで条件分岐。 「バージョン」ならば、バージョン取得。。。 「おやつ」ならば、イベントリスト[No]=「チョコ」と「ポテチ」で「どっち?」のLINE二択メッセージを返信先へLINE返信。。。 「ぷっしゅ」ならば、ユーザーIDに「プッシュです」のLINEテキストメッセージをLINEプッシュ。。。 「全員」ならば、「一斉プッシュです!」のLINEテキストメッセージをLINE一斉プッシュ。。。 違えば、 返信メッセージリストを反復 語句=対象[0]の『{ユーザー名}』をユーザー名に置換。 もし、受信メッセージ=語句ならば、 返信テキスト=対象[1]の『{ユーザー名}』をユーザー名に置換。 返信テキスト=返信テキストの『{改行}』を改行に置換。 イベントリスト[No]=返信テキストのLINEテキストメッセージを返信先へLINE返信。戻る。 ここまで。 ここまで。 返信テキスト=受信メッセージ&「?」 イベントリスト[No]=返信テキストのLINEテキストメッセージを返信先へLINE返信。 ここまで。 ここまで。 ここまで。 「sticker」ならば、 返信スタンプ=空配列。 返信スタンプ[0]=「わーいスタンプだ~」のLINEテキストメッセージ。 返信スタンプ[1]=「8515」から「16581243」のLINEスタンプメッセージ。 イベントリスト[No]=返信スタンプを返信先へLINE返信。 ここまで。 「image」ならば、 返信画像=空配列。 画像URL=「https://n3s.nadesi.com/image.php?f=8.jpg」 返信画像[0]=「画像だ!」のLINEテキストメッセージ 返信画像[1]=画像URLと画像URLのLINE画像メッセージ。 イベントリスト[No]=返信画像を返信先へLINE返信。 ここまで。 「location」ならば、 イベントリスト[No]=「たいとる」と「じゅうしょ」で[35.687574,139.72922]のLINE位置情報メッセージを返信先へLINE返信。 ここまで。 ここまで。 ここまで。 ●バージョン取得 # v1のバージョンを取得 v1バージョンURLへGET送信した時には 対象をHTMLパース。 ITEM=「item」のDOM要素取得。 ITEMをDOM配列変換。 タイトルはITEM[0]から「title」をDOM子要素検索。 タイトルのHTML取得して、「/\[CDATA\[(.*?)\]\]/」で正規表現マッチ。 v1=抽出文字列[0] バージョン情報[0]=「なでしこ1の最新バージョンは、{v1}だよ☆」のLINEテキストメッセージ。 # v3のバージョンを取得 v3バージョンURLへGET送信した時には v3=対象をJSONデコード。 バージョン情報[1]=「なでしこ3の最新バージョンは、{v3["version"]}だよ☆」のLINEテキストメッセージ。 # 二つ同時に返信 イベントリスト[No]=バージョン情報を返信先へLINE返信。 ここまで。 ここまで。 ここまで。