LINEbot でオウム返し 2017 PHP版

やり方調べるのになぜか時間がかかる.

なんだかつらたん.

ただ, オウム返ししたいだけなのに!

しくみ

LINEサーバを介して自分のサーバ内のスクリプトで受け取ります.

スクリプト作成の前に LINE管理画面で,

- アクセストークンをもらう
- サーバー内スクリプトまでのURLを教えておく

スクリプト

LINE側 API はわかりやすい仕様で作られています.


<?php

$access_token = /* your access token */;

$url = 'https://api.line.me/v2/bot/message/reply';

// receive json data from line webhook
$raw = file_get_contents('php://input');
$receive = json_decode($raw, true);

// parse received events
$event = $receive['events'][0];
$reply_token  = $event['replyToken'];
$message_text = $event['message']['text'];


// build request headers
$headers = array('Content-Type: application/json',
                 'Authorization: Bearer ' . $access_token);

// build request body
$message = array('type' => 'text',
                 'text' => $message_text);

$body = json_encode(array('replyToken' => $reply_token,
                          'messages'   => array($message)));


// post json with curl
$options = array(CURLOPT_URL            => $url,
                 CURLOPT_CUSTOMREQUEST  => 'POST',
                 CURLOPT_RETURNTRANSFER => true,
                 CURLOPT_HTTPHEADER     => $headers,
                 CURLOPT_POSTFIELDS     => $body);

$curl = curl_init();
curl_setopt_array($curl, $options);
curl_exec($curl);
curl_close($curl);

結果

どんだけつらたんなのか!


新しくなった Gradle Tips and Recipes : 各ソースセットの配置の確認

新しくなってます, Gradle Tips and Recipes .

Gradle Tips and Recipes | Android Studio

Gradle が利用するディレクトリ

それぞれ指定できるのはなんとなく知っていたが.


android {
  ...
  sourceSets {
    main {
      java.srcDirs = ['other/java']
    ....

これらの記述無し無指定のデフォルトの場合はどのディレクトリが利用対象になっているのか.

ドキュメントやツールスクリプトなど,

Git に登録して管理はしたいが, アプリ自体に影響ない位置はどこなのか??

と思っていましたが.

Configure Build Variants | Android Studio

右上 [Gradle] タブから以下ダブルクリックで実行.

MyApplication > Tasks > android > sourceSets

Gradle が認識している対象ディレクトリ群が Gradle Console に出力される.


------------------------------------------------------------
Project :app
------------------------------------------------------------

...

debug
----
Compile configuration: compile
build.gradle name: android.sourceSets.debug
Java sources: [app/src/debug/java]
Manifest file: app/src/debug/AndroidManifest.xml
Android resources: [app/src/debug/res]
Assets: [app/src/debug/assets]
AIDL sources: [app/src/debug/aidl]
RenderScript sources: [app/src/debug/rs]
JNI sources: [app/src/debug/jni]
JNI libraries: [app/src/debug/jniLibs]
Java-style resources: [app/src/debug/resources]

これで, AndroidStudio でファイルを操作しながらの Git 管理しても安心です.

他にもあれこれ小技がのっていますよ, このレシピ.


Android 6.x (Marshmallow) ホーム長押し (アシスト機能) アプリの設定

ホームボタンを長押しするとアプリが起動するようになったりしています.

ここから起動できるアプリを変更してみます.

OSバージョンで異なるようですが, 今回は, Android OS 6.x でやってみます.

[設定] - [アプリ] とタップしていきます.

ここで, 右上の「歯車」ボタンをタップします.

そして「既定のアプリ」をタップします.

一番上の「アシストと音声入力」をタップ.

さらに, 一番上の「アシストアプリ」の表示されてる文字の部分(歯車ではない) を押します.

この画面では現在「Launcher3」というアプリがセットされていますので. 歯車を押すとそのアプリの設定画面が表示されます. ホームボタン長押しから利用するアプリ自体を変更する場合は文字の部分をタップします.

インストールしているアプリのうち, アシスト機能に対応しているアプリの一覧が表示されますので, 利用したいアプリをタップしてセットします.

例えば「なし」を選択すると, ホームボタンを長押ししたときの反応はなくなります.

正直, 最近のOSまわりの設定は複雑すぎじゃない?

ホームボタン長押しアプリの変更や削除する方法

【3年連続3回目】ホームボタン長押し から起動されるアプリの変更は「アシス」で