LINEのMessage APIで、改行を含むテキストメッセージを送信する

わかってしまえば簡単なのですが、気づくまで少し時間がかかったので覚書。 やりたかったこと 箇条書きでまとめると、次の3点を満たす実装を検討していました。 動的なメッセージを作成したい 配列にメッセージを追加する形で実装し […]

広告ここから
広告ここまで

目次

    わかってしまえば簡単なのですが、気づくまで少し時間がかかったので覚書。

    やりたかったこと

    箇条書きでまとめると、次の3点を満たす実装を検討していました。

    • 動的なメッセージを作成したい
    • 配列にメッセージを追加する形で実装したい
    • 配列1行ごとに改行を設定したい

    こんなメッセージを、次のようなコードで作るイメージです。

    const messages: Array<string> = ['メッセージありがとうございます!']
    
    if (getAnyCondition(prop)) {
      messages.push('申し訳ありませんが、このアカウントでは個別のお問合せを受け付けておりません。')
      messages.push('次回の配信までお待ちください。')
      return messages
    }

    改行コード(\n)を設定しよう

    Message APIで改行を含むメッセージを作りたい場合、改行位置に\nを追加します。

    配列でメッセージを作っている場合は、結合する際に\nを挿入しましょう。

    // Default mssage
    const messages = ['Hello world']
    
    
    if (ANY_CONDITION) {
      // 条件に応じてメッセージを追加する
      messages.push('Nice to meet you')
      // 任意の改行位置を追加する
      messages.push('\n\n')
    }
    
    // 改行キーを挿入しつつ、文字列にまとめる
    const message = messages.join('\n')
    
    // Send message
    await LINEBotClient.replyMessage(replyToken, {
       type: 'text',
       text: message,
    })

    参考記事

    https://www.line-community.me/ja/question/615c05a4d5929a59913c9f1b/%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E5%86%85%E3%81%AE%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark