1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【javascript】初学者でもできた。LIFF.sendMessagesを使い、送るメッセージを条件によって変える方法

Last updated at Posted at 2023-10-25

こんにちは。最近、liff.sendMessagesを使おうとしたけど、javascriptの変数の使い方が分からなくて困った人です。
そこで今回は、知っているとliff.sendMessagesがちょっとだけ便利に使える方法を紹介したいと思います。

目次

概要

LINE Front-end Framework(LIFF)は、LINEアプリ内で動作するWebアプリケーションを開発するためのツールです。LIFFを使用すると、LINEアプリ内でユーザーに対してメッセージを送信できる機能を実装することができます。しかし、メッセージの内容を条件に応じて変更したい場合、どのように実現すればよいでしょうか?この記事では、liff.sendMessagesを使用してメッセージ送信を条件分岐させる方法を詳しく説明します。

必要な前提知識

LIFFを使用する前に、以下の前提知識が必要です。

  • LINEアカウントの作成
  • LINE Developersコンソールへのアクセス
  • LIFFアプリケーションの作成

liff.sendMessagesメソッドの基本

liff.sendMessagesメソッドは、LINEアプリ内でメッセージを送信するために使用されます。基本的な使い方は以下の通りです。

liff.sendMessages([
  {
    type: 'text',
    text: 'こんにちは、LINEユーザー!'
  }
]);

このコードは、ユーザーに対して「こんにちは、LINEユーザー!」というテキストメッセージを送信します。しかし、このメッセージを条件に応じて変更するためには、if文を使用する必要があります。

if文を使用した条件分岐

メッセ―ジを丸ごと分岐させるパターン

メッセージの内容を条件に応じて変更するには、JavaScriptのif文を使用します。以下は、簡単な例です。

if (条件) {
  liff.sendMessages([
    {
      type: 'text',
      text: '条件が真の場合のメッセージ'
    }
  ]);
} else {
  liff.sendMessages([
    {
      type: 'text',
      text: '条件が偽の場合のメッセージ'
    }
  ]);
}

このコードでは、指定した条件が真の場合と偽の場合で異なるメッセージを送信します。条件は、アプリのロジックに合わせてカスタマイズできます。



実際の使用例

以下は、実際の使用例です。ユーザーが特定のコマンドを入力した場合に異なるメッセージを送信するLIFFアプリのコードです。

const userCommand = getUserCommand(); // ユーザーの入力コマンドを取得する関数

if (userCommand === 'こんにちは') {
  liff.sendMessages([
    {
      type: 'text',
      text: 'こんにちは、LINEユーザー!'
    }
  ]);
} else if (userCommand === 'おやすみ') {
  liff.sendMessages([
    {
      type: 'text',
      text: 'おやすみなさい!'
    }
  ]);
} else {
  liff.sendMessages([
    {
      type: 'text',
      text: 'コマンドが理解できません。'
    }
  ]);
}

このコードでは、ユーザーが「こんにちは」と入力した場合には「こんにちは、LINEユーザー!」と返し、ユーザーが「おやすみ」と入力した場合には「おやすみなさい!」と返します。それ以外の場合には「コマンドが理解できません。」と返します。

変数にメッセージを入力し、出力するパターン

メッセージの一部分のみ変えたい場合に役に立ちます。以下は簡単な例です。

if (条件) {
    message = '条件が真の場合のメッセージ'
} else {
    message = '条件が偽の場合のメッセージ'

  liff.sendMessages([
    {
      type: 'text',
      text: message
    }
  ]);
} 

このコードでは、指定した条件が真の場合と偽の場合で異なるメッセージを変数に代入し、代入されたメッセージを送信します。条件は、アプリのロジックに合わせてカスタマイズできます。



実際の使用例

以下は、実際の使用例です。ユーザーが特定のコマンドを入力した場合に異なるメッセージを送信するLIFFアプリのコードです。

const userCommand = getUserCommand(); // ユーザーの入力コマンドを取得する関数

var message = '';//条件に合ったメッセージを入れるための変数

if (userCommand === 'こんにちは') {
    message = 'こんにちは'
} else if (userCommand === 'おやすみ') {
    message = 'おやすみなさい'
} else {
    message = 'コマンドが理解できません。'
}

  liff.sendMessages([
    {
      type: 'text',
      text: message + '、LINEユーザー'
    }
  ]);
} 

このコードでは、ユーザーが「こんにちは」と入力した場合には「こんにちは、LINEユーザー」と返し、ユーザーが「おやすみ」と入力した場合には「おやすみなさい、LINEユーザー」と返します。それ以外の場合には「コマンドが理解できません、LINEユーザー」と返します。

終わりに

LIFFを使用してLINEアプリ内でメッセージを送信する際、条件分岐を使用することで、ユーザーに対して適切なメッセージを送信できます。前提知識とJavaScriptのif文を駆使して、メッセージの内容を動的に変更し、ユーザーエクスペリエンスを向上させることができます。この記事を参考に、LIFFアプリ内でのメッセージ送信をカスタマイズしてみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?