Line Bot

登入管理平台

登入 LINE Official Account Manager 後,點選上方 Response mode 將模式改為 Bot

啟用 Webhook

Response settings 頁面,確認 Response modeBot

Auto-response 關閉,並啟用 Webhooks

Line

設定 Message API

Messaging API 選單中,取得 Channel IDChannel secret,並設定 Webhook URL

當使用者輸入訊息時,則會呼叫此 URL

Line

安裝 Line 套件

composer require linecorp/line-bot-sdk

套件網址:line/line-bot-sdk-php: LINE Messaging API SDK for PHP

取得 Access Token

<?php
// Line 頻道編號
$channel_id = 'my-line-channel-id';
// Line 頻道密鑰
$channel_secret = 'my-line-channel-secret';

$LineBot = new \LINE\LINEBot(
     new \LINE\LINEBot\HTTPClient\CurlHTTPClient(''),
    ['channelSecret' => $channel_secret]
);

$Response = $LineBot->createChannelAccessToken($channel_id);
$channel_access_token = $Response->getJSONDecodedBody();
$access_token = array_get($channel_access_token, 'access_token');

透過 Access Token 回覆訊息給使用者

當使用者回覆你的 Line 帳號時,Line Bot 會將使用者回覆的訊息像下方這樣傳送給你,需要回覆給使用者時,可以回覆到這次的 replyToken

PS: 每次的 replyToken 皆不同

array (
  'events' =>
  array (
    0 =>
    array (
      'type' => 'message',
      'replyToken' => 'd439xxxxxxx1fc48',
      'source' =>
      array (
        'userId' => 'xxxx',
        'type' => 'user',
      ),
      'timestamp' => 1565081621327,
      'message' =>
      array (
        'type' => 'text',
        'id' => '10343775297084',
        'text' => 'hi kejyun line bot',
      ),
    ),
  ),
  'destination' => 'Ued2b13xxxxxx804b',
)
<?php
// 取得 Line 傳送過來的資料
$input = request()->all();

// 取得 Reply Token
$reply_token = array_get($input, 'events.0.replyToken');

// 回覆訊息給使用者
$textMessageBuilder = new \LINE\LINEBot\MessageBuilder\TextMessageBuilder('Hello Line Friend');
$response = $bot->replyMessage(reply_token, $textMessageBuilder);


if ($response->isSucceeded()) {
    // 回覆訊息成功
    echo 'Succeeded!';
    Log::debug('Success');
} else {
    // 回覆訊息失敗
    Log::debug('Fail');
    Log::debug($response->getHTTPStatus());
    Log::debug($response->getRawBody());
}

其他相關的 API 請參考 Messaging API reference

參考資料

KeJyun 最新新書推薦
- Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站
- Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

Laravel 是 PHP 的框架(Framework),提供了很多開發網站或 API 所需的工具及環境,經過簡單的設定就可以完成資料的處理及顯示,使開發者可以很優雅且快速的開發出各個不同的產品。本書適合有 PHP 基礎的人,但不知道要怎麼選擇框架,或者不用框架的人也能夠明白它的好處。

雖然 WordPress 也能夠架站,但如果有客製化需求,要開發各式各樣的網站,或提供 App 使用的 API,如此一來你只能選擇用框架,而 Laravel 是目前最受歡迎的。

本書將解說為什麼要使用框架,以及理解框架的優缺點後,要怎麼選擇框架,並用框架快速建構一個網站。除非必要,否則書中會避免專業技術用語,盡量使用最生活化易懂的例子及語氣,讓大家更容易進入 Laravel 的世界。

Laravel 5 for beginner 新手道場:優雅運用框架快速開發 PHP 網站

購書連結

Laravel框架开发详解:从零基础到运用框架快速开发PHP网站

購書連結

comments powered by Disqus