LINE系公式ライブラリ|「line-bot-sdk」の使い方・サンプルコード

Python

インストール方法

LINE Messaging APIを使用して、LINE Botを簡単に作成するためのPythonライブラリが「line-bot-sdk」です。このライブラリを使用することで、LINEのユーザーとインタラクションを持つボットを迅速に開発できます。以下に、line-bot-sdkのインストール方法を詳しく説明します。

1. Pythonのインストール

まず、Pythonがインストールされている必要があります。Pythonは公式サイトからダウンロードできます。

2. pipの確認

通常、Pythonをインストールするとpipも自動的にインストールされます。コマンドラインまたはターミナルで以下のコマンドを実行して、pipがインストールされているか確認します。

pip --version

3. line-bot-sdkのインストール

pipを使用してline-bot-sdkをインストールします。以下のコマンドを実行してください。

pip install line-bot-sdk

これでLINE Bot SDKのインストールが完了します。

できること

line-bot-sdkを使用すると、LINEプラットフォーム上でさまざまな機能を持つボットを作成できます。主な機能は以下の通りです。

  1. メッセージの送受信:
  • ユーザーからのメッセージを受信し、応答メッセージを送信できます。
  1. リッチメニューの作成:
  • ユーザーがボットとインタラクションするためのリッチメニューを作成できます。
  1. Webhookの設定:
  • LINEプラットフォームからのイベントを受け取るためのWebhookを設定できます。
  1. ユーザー情報の取得:
  • ユーザーのプロフィール情報を取得することができます。
  1. スタンプや画像の送信:
  • スタンプや画像などのメディアを送信することができます。
  1. クイックリプライやテンプレートメッセージ:
  • クイックリプライやテンプレートメッセージを使用して、ユーザーとのインタラクションを強化できます。

サンプルコード

以下に、line-bot-sdkを使用した基本的なサンプルコードを示します。この例では、LINE Botを作成し、ユーザーからのメッセージに応じて応答する方法を説明します。

基本的なLINE Botの作成

from flask import Flask, request, abort
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError
from linebot.models import TextMessage, TextSendMessage, MessageEvent

app = Flask(__name__)

# LINEのチャネルアクセストークンとチャネルシークレットを設定
LINE_CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'
LINE_CHANNEL_SECRET = 'YOUR_CHANNEL_SECRET'

line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(LINE_CHANNEL_SECRET)

@app.route("/callback", methods=['POST'])
def callback():
    # リクエストヘッダーから署名を取得
    signature = request.headers['X-Line-Signature']

    # リクエストボディを取得
    body = request.get_data(as_text=True)

    try:
        # 署名を検証
        handler.handle(body, signature)
    except InvalidSignatureError:
        abort(400)

    return 'OK'

@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    # ユーザーからのメッセージに応じて応答
    reply_message = f"あなたが送ったメッセージ: {event.message.text}"
    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=reply_message))

if __name__ == "__main__":
    app.run(port=5000)

リッチメニューの作成

from linebot import LineBotApi
from linebot.models import RichMenu, RichMenuArea, RichMenuBounds, URIAction

line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN)

# リッチメニューの設定
rich_menu = RichMenu(
    size={"width": 2500, "height": 1686},
    selected=True,
    name="リッチメニュー",
    chat_bar_text="メニューを表示",
    areas=[
        RichMenuArea(
            bounds=RichMenuBounds(x=0, y=0, width=1250, height=843),
            action=URIAction(uri='https://example.com')
        ),
        RichMenuArea(
            bounds=RichMenuBounds(x=1250, y=0, width=1250, height=843),
            action=URIAction(uri='https://example.com')
        )
    ]
)

# リッチメニューを作成
rich_menu_id = line_bot_api.create_rich_menu(rich_menu)
print(f"リッチメニューのID: {rich_menu_id}")

説明

上記のサンプルコードでは、LINE Botを構築するための基本的な手順を示しています。

基本的なLINE Botの作成

最初のサンプルでは、Flaskを使用してLINE Botを作成しています。まず、Flaskアプリケーションを初期化し、LINEのチャネルアクセストークンとチャネルシークレットを設定します。その後、/callbackエンドポイントを作成し、LINEプラットフォームからのリクエストを受け取ります。

リクエストヘッダーから署名を取得し、リクエストボディを取得します。次に、handler.handle()メソッドを使用して、リクエストを処理します。メッセージイベントが発生した場合、handle_message()関数が呼び出され、ユーザーからのメッセージに応じて応答メッセージを送信します。

リッチメニューの作成

次のサンプルでは、リッチメニューを作成する方法を示しています。RichMenuオブジェクトを作成し、サイズ、選択状態、名前、チャットバーのテキスト、アクションを設定します。リッチメニューのエリアを定義し、create_rich_menu()メソッドを使用してLINEプラットフォームにリッチメニューを作成します。

まとめ

line-bot-sdkは、LINEプラットフォーム上でボットを作成するための強力で便利なライブラリです。簡単にメッセージの送受信やリッチメニューの設定ができ、ユーザーとのインタラクションを強化することができます。

インストールも簡単で、数行のコードで基本的なLINE Botを構築できます。また、Webhookを使用してリアルタイムでユーザーからのメッセージを受信し、応答することが可能です。

LINE Botを活用することで、カスタマーサポート、情報提供、エンターテイメントなど、さまざまな用途に対応できます。特に、リッチメニューやクイックリプライなどの機能を活用することで、ユーザーエクスペリエンスを向上させることができます。

LINE Botを開発する際は、LINEの利用規約を遵守し、ユーザーのプライバシーを尊重することが重要です。興味がある方は、ぜひline-bot-sdkを試してみてください。

このライブラリの他にもLINE系ライブラリの記事も書いています。
ぜひ、見てみてください。

コメント

タイトルとURLをコピーしました