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 で次を行います。
- LINE Developers Console を開きます。
- provider を作成(または選択)し、その下に Messaging API channel を作成します。channel は LINE 公式アカウントに関連付けられます。
- Basic settings で Channel secret をコピーします。
- Messaging API タブで Channel access token(長期)を発行してコピーします。
公式ドキュメント:Messaging API - Getting Started
2. Memoh でチャネルを追加する
Memoh で次を行います。
- Bot の プラットフォーム タブを開きます。
- Add Channel をクリックし、LINE を選択します。
- Channel Secret と Channel Access Token を貼り付けます。
- Save(または Save and Enable)をクリックします。コールバック URL は保存して初めて生成されます。
3. webhook を登録する
Memoh では、保存するとパネルに読み取り専用の WebHook Callback URL が次の形式で表示されます。
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 を設定してください。