revolution/laravel-line-sdk

LINE SDK for Laravel

3.4.0 2024-12-06 03:30 UTC

README

packagist tests Maintainability Test Coverage

Features

  • Working with Laravel Event System. Including Webhook routing and controller.
  • Extensible Bot Client.
  • Working with Laravel Notification System(LINE Messaging API)
  • Including Socialite drivers(LINE Login)

Requirements

  • PHP >= 8.1
  • Laravel >= 10.0

Versioning

  • Basic : semver
  • Drop old PHP or Laravel version : +0.1. composer should handle it well.
  • Support only latest major version (master branch), but you can PR to old branches.

Installation

composer require revolution/laravel-line-sdk

Uninstall

composer remove revolution/laravel-line-sdk
  • Delete related files. See below.

Configuration

.env

Set up in LINE Developers console. https://developers.line.biz/

Create two channels Messaging API and LINE Login.

  • Messaging API : Get Channel access token (long-lived) and Channel secret. Set Webhook URL
  • LINE Login : Get Channel ID and Channel secret. Set Callback URL
LINE_BOT_CHANNEL_TOKEN=
LINE_BOT_CHANNEL_SECRET=

LINE_LOGIN_CLIENT_ID=
LINE_LOGIN_CLIENT_SECRET=
LINE_LOGIN_REDIRECT=

Publishing(Optional)

php artisan vendor:publish --tag=line-config

Quick Start

Prepare

  • Create Messaging API channel in LINE Developers console.
  • Get Channel access token (long-lived), Channel secret and QR code.
  • A web server that can receive webhooks from LINE. Not possible on a normal local server.

Create new Laravel project

# Docker
curl -s "https://laravel.build/line-bot" | bash

cd ./line-bot
composer require revolution/laravel-line-sdk

Edit .env

LINE_BOT_CHANNEL_TOKEN=
LINE_BOT_CHANNEL_SECRET=

Publishing Listeners

php artisan vendor:publish --tag=line-listeners

Deploy to web server

  • Set Webhook URL in LINE Developers console. https://example.com/line/webhook
  • Verify Webhook URL.

Add bot as a friend.

  • Using QR code.

Send test message

Bot returns same message.

Documents

Demo

https://github.com/kawax/laravel-line-project

LICENSE

MIT