画像の送信
画像の送信には、ImageMessageBuilderを使います。
index.phpの最後?>より前に以下のコードを追記してください。
function replyImageMessage($bot, $replyToken, $originalImageUrl, $previewImageUrl) { $response = $bot->replyMessage($replyToken, new \LINE\LINEBot\MessageBuilder\ImageMessageBuilder($originalImageUrl, $previewImageUrl)); if (!$response->isSucceeded()) { error_log('Failed!'. $response->getHTTPStatus . ' ' . $response->getRawBody()); } } ?>
動作確認のため、以下のようにコードを変更します。
replyTextMessage($bot, $event->getReplyToken(), "TextMessage");
replyImageMessage($bot, $event->getReplyToken(), "https://" . $_SERVER["HTTP_HOST"] . "/imgs/original.jpg", "https://" . $_SERVER["HTTP_HOST"] . "/imgs/preview.jpg");
function replyTextMessage($bot, $replyToken, $text) {
画像の場合はオリジナルのURLとプレビューのURLの双方が必要となります。今回はあらかじめHerokuにデプロイしたものを使いましょう。
プロジェクトフォルダにimgsフォルダを作成して、記事に添付されているサンプルファイル内に含まれるoriginal.jpgとpreview.jpgをコピーしてください。
デプロイして適当にBotに呼びかけてみましょう。Botから画像が送られます。トーク画面ではプレビュー画像が、タップするとオリジナルの画像が開きます。
なお、送ることができる画像には制限があり、JPG形式でサイズは最大1MB、縦または横のピクセル数はオリジナルが最大1024px、プレビューが最大240pxとなっています。