Toge(と〜げ)のプロフィール

超初心者が,ビットコインBTC情報を返すLINEボットBotを作成してみた!

昨日,おうむ返しするLINEボットを作りました.

今度は,ちょっとコードの中身を書き換えて,ビットコインボットを作ってみました.

今回は,ビットコインBTC情報を返すLINEボットBotの作成手順について書いていきます.

 

今回作るボットは

「BTC」というメッセージを送ると,BTCの情報(bid 現在の買い注文の最高価格,ask 現在の売り注文の最安価格)を返すボットです.「BTC」以外のメッセージには,「「BTC」というメッセージ以外は受け取れません!」と返します.

 

事前準備

 

作成手順

基本的には,おうむ返しLINEボットの作成方法と同じです.

超初心者が,おうむ返しするLINEボットBotを作成してみた!

 

ビットコイン情報を取得

今回は,Coincheckという取引所から,ビットコイン情報をAPIで取得します.

「Coincheck API」でググるってみると,このページにアクセスできます.今回は,ビットコインのbid,askの情報を取得します.

これらの情報は,リクエスト先(https://coincheck.com)とティッカーの(/api/ticker)を合わせたURL:https://coincheck.com/api/ticker から取得します.

コードとしては,以下になります.

PHPコード

$url = "https://coincheck.com/api/ticker";   //URL先を$urlに格納
$json = file_get_contents($url);  //ファイルの内容を文字列に読み込む関数file_get_contentsを使い,$jsonに格納
$arr = json_decode($json);  //オブジェクト型に変換して,$arrに格納
$bid = $arr->{"bid"};    //bidを取得して$bidに格納
$ask = $arr->{"ask"};  //askを取得して$askに格納

このへんの説明は以下記事を参考にしてください.

超初心者が郵便番号APIを使ってPHPで住所を取得してみた!

coincheckからビットコイン情報を取得できました.

 

アクセストークン

アクセストークンのところに,Line Developersで発行したアクセストークンをコピペしてください.

PHPコード
$channelAccessToken = 'アクセストークン';

 

メッセージ取得

LINEボットにおいて,送ったメッセージを取得していきます.

PHPコード

$inputData = file_get_contents('php://input');   //ユーザーからのメッセージ取得

$jsonObj = json_decode($inputData);   //受信したJSON文字列をデコードします

ここで取得した$jsonObjは,以下(APIリファレンスのページを参照)のような情報が格納されています.

次で,これらのユーザーからのメッセージ情報を取得していきます.

 

LINE Messaging APIを使う

上記の白囲みのところを取得するコードを説明していきます.

  • Webhook Eventのタイプを取得して,$evenTypeに格納します.
    PHPコード
    $eventType = $jsonObj->{"events"}[0]->{"type"};
    上の例だと,”message”というタイプです.
  • メッセージタイプを取得して,$messageTypeに格納します.
    PHPコード
    $messageType = $jsonObj->{"events"}[0]->{"message"}->{"type"};
    上の例だと,”text”というタイプです.textの他に画像とかの場合もあります.
  • replyTokenを取得して$replyTokenに格納
    PHPコード
    $replyToken = $jsonObj->{"events"}[0]->{"replyToken"};
  • メッセージテキスト(受信したメッセージ,つまり,ラインで送ったメッセージ自体)を取得し,$messageTextに格納します.
    PHPコード
    $messageText = $jsonObj->{"events"}[0]->{"message"}->{"text"};
    上の例だと,”Hello world”というメッセージテキストです.

 

全コード

受け取ったメッセージが「BTC」だと,ビットコイン情報を返すようにIF文を使って書いてます.追ってみてください.

 

最後に

つなないながらも,なんとか,ビットコイン情報をLINEボットに反映することができました.今度は,通貨種類や取引所を選んで,情報を返すようなボットを作ってみたいです.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です