Skip to content

LINE ​

Memoh Bot を LINE 公式アカウントにつなぎます。ユーザーがそのアカウントを友だち追加すると、Bot と 1 対 1 でトークできます。

使用制限

  • 1 対 1 のトークのみ対応します。グループや複数人トークルームのメッセージは無視されるため、Bot を LINE グループに招待しても機能しません。
  • 出力はプレーンテキストのみで、Markdown はレンダリングされません。
  • 送信できるメディアは PNG/JPEG 画像のみです。画像は公開の HTTPS でアクセスでき、かつ LINE のサイズ制限(元画像 10 MB、プレビュー画像 1 MB)に収まっている必要があります。画像以外の添付ファイルは送信できません。
  • 受信した音声、動画、スタンプ、位置情報は処理されません。受信画像は LINE がホストしているものに限ります(アプリ内で直接写真を送った場合はこれに該当します)。
  • ストリーミング出力はなく、返信はメッセージ全体がまとめて届きます。長い返信は LINE の 5000 文字制限に合わせて複数のメッセージに分割されます。
  • 返信は LINE の Push API 経由で送信されるため、LINE プランのプッシュメッセージ数の上限にカウントされます。

前提条件 ​

LINE は webhook でメッセージを Memoh に届け、送信画像も LINE のサーバー側から取得されるため、Memoh のデプロイには公開の HTTPS エンドポイントが必要です。次のいずれかで用意します。

  • MEMOH_WEBHOOK_PUBLIC_BASE_URL に公開 HTTPS の origin を設定します(パス、ポート、プライベートアドレスは不可)。
  • または server deploy で Cloudflare Quick Tunnel profile を有効にすると、Memoh が自動的に公開アドレスを取得します。

手順 ​

1. LINE Developers Console で Messaging API channel を作成する ​

LINE Developers Console で次を行います。

  1. LINE Developers Console を開きます。
  2. provider を作成(または選択)し、その下に Messaging API channel を作成します。channel は LINE 公式アカウントに関連付けられます。
  3. Basic settings で Channel secret をコピーします。
  4. Messaging API タブで Channel access token(長期)を発行してコピーします。

公式ドキュメント:Messaging API - Getting Started

2. Memoh でチャネルを追加する ​

Memoh で次を行います。

  1. Bot の プラットフォーム タブを開きます。
  2. Add Channel をクリックし、LINE を選択します。
  3. Channel Secret と Channel Access Token を貼り付けます。
  4. Save(または Save and Enable)をクリックします。コールバック URL は保存して初めて生成されます。

3. webhook を登録する ​

Memoh では、保存するとパネルに読み取り専用の WebHook Callback URL が次の形式で表示されます。

text
https://<公開 base>/channels/line/webhook/<config_id>

登録方法は 2 通りあります。

  • Set in LINE をクリックします。Memoh が Messaging API 経由でアドレスを LINE の channel に直接書き込みます。未保存の変更があるとエラーになるため、保存してからクリックしてください。
  • または Copy をクリックし、LINE Developers Console の Messaging API → Webhook URL に手動で貼り付けます。

最後に、LINE Developers Console でその channel の Use webhook がオンになっていることを確認します。

Memoh は受信 webhook の署名を Channel Secret で検証し、イベントは 24 時間にわたって重複排除されます。

認証情報 ​

フィールド必須説明
Channel SecretはいMessaging API channel の Basic settings でコピーします。
Channel Access TokenはいMessaging API タブで発行する長期 token。

動作確認 ​

LINE でその公式アカウントを友だち追加し、1 対 1 のトークで Bot に /help を送信します。Bot がコマンド一覧を返せば、チャネルは接続できています。

無効化と認証情報の更新 ​

Bot の プラットフォーム タブから、いつでもこのチャネルを無効化・削除できます。認証情報を更新するときは、同じパネルで Channel Secret / Channel Access Token を更新して保存してください。

よくある質問 ​

パネルに公開 base URL を取得できないと表示される ​

公開 HTTPS の origin がないと、webhook コールバック URL は生成できません。まず前提条件に従って MEMOH_WEBHOOK_PUBLIC_BASE_URL または Cloudflare Quick Tunnel を設定してください。

Published under AGPLv3