質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3783閲覧

LINE API を使用して、決められた順番通りにメッセージを送信したい

goombeer

総合スコア16

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/06/12 17:03

LINE APIを使用して、決められたメッセージを順番に送信したいと考えています。
具体的には、ユーザーがメッセージを送ってきたら、こちらで作成した関数(下記のコード)が呼ばれて決められたメッセージを送信したいと考えています。

決められたメッセージを変数で保持してしまうと、関数が呼ばれるたびに変数が初期化されてしまうので、順番にメッセージを呼び出すことはできません。
またクッキーを使用して保持させようとしましたが、lineからのメッセージはブラウザからのアクセスではないためか、うまく保持できません。

データベースはまだ学習できておらず、可能であればデータベースを使わず実装したいと考えています。

学習を初めて、まもないのでどなたかご教授のほどよろしくお願いいたします。

php

1<?php 2//メッセージの送信 3function push_messages($accessToken, $message_type, $return_message_text,$userID){ 4 5//ここのメッセージを順番に送信したい 6 $pushMessage = [ 7 "年齢はいくつですか?", 8 "今まで苦労したことは?", 9 "今まで楽しかったことは?", 10 "最後に自己PRをお願いいたします", 11 ]; 12 //レスポンスフォーマット 13 $response_format_text = [ 14 "type" => $message_type, 15 "text" => $pushMessage[0] 16 ]; 17 18 //ポストデータ 19 $post_data = [ 20 "to" => $userID, 21 "messages" => [$response_format_text] 22 ]; 23 24 //curl実行 25 $ch = curl_init("https://api.line.me/v2/bot/message/push"); 26 curl_setopt($ch, CURLOPT_POST, true); 27 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 28 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 29 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); 30 curl_setopt($ch, CURLOPT_HTTPHEADER, array( 31 'Content-Type: application/json; charser=UTF-8', 32 'Authorization: Bearer ' . $accessToken 33 )); 34 $result = curl_exec($ch); 35 curl_close($ch); 36} 37?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

データベースを使って、相手の発言回数をカウントし、メッセージを振り分けることにしました。

投稿2017/06/18 10:19

goombeer

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こういうのって普通「対話ボット」の会話シーケンスとして実装するものじゃないんですか?
たぶんあちこちにLINEのBot開発の流れ的なものがあると思うので、取っ掛かりとして一通り理解してからのほうがいいと思いますよ
一方的にじゃんじゃん投げると、じゃんじゃんコストも嵩むみたいなのもあるんじゃないですかね


日本一わかりやすいLINE Bot開発講座

投稿2017/06/12 19:37

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goombeer

2017/06/12 19:52

ご回答、ありがとうございます。ご指摘の通り、理解が浅かったのかもしれません。ご提示いただいたページも見ていたのですが、それでもわからず、質問をした次第です。今後努力を続けていきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問