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

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

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

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

PHP

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

解決済

ラインボット で 定めた返答が来ないのを解決したい。LINE BOT

pro59luckjp
pro59luckjp

総合スコア0

LINE Messaging API

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

PHP

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

1回答

0評価

0クリップ

1091閲覧

投稿2019/04/19 06:21

前提・実現したいこと

「おもしろまじめなチャットボットをつくろう」
http://cgi1.plala.or.jp/~higpen/book/chatBot/index.shtml

でチャットボットを作成しています。
P97からの応答するBotで返信が来ません。

ネットに落ちている別のPHPプログラムでは返信がきます。

本を参考にしながら書いたプログラムで返信が来ない理由がわかりません。
ラインボットが得意な方、PHP得意な方、よろしければ教えてください。

該当のソースコード

■main.php

<?php require_once('hello/hello.php'); define('DEBUG','debug.txt'); require_once('tool.php'); $input=file_get_contents('php://input'); debug('input',$input); if(!empty($input)){ $events=json_decode($input)->events; foreach($events as $event){ bot($event); } } ■tool.php <?php define('TOKEN','ここにはラインのトークンをいれています。'); if(file_exists(DEBUG)) unlink(DEBUG); function debug($title,$text){ file_put_contents(DEBUG,'['.$title.']'."\n".$text."\n\n",FILE_APPEND); } function post($url,$object){ $json=json_encode($object); debug('output',$json); $curl=curl_init('https://api.line.me/v2/bot/message/'.$url); curl_setopt($curl,CURLOPT_POST,true); curl_setopt($curl,CURLOPT_POSTFIELDS,$json); curl_setopt($curl,CURLOPT_HTTPHEADER,[ 'Content-Type:application/json', 'Authorization:Bearer'.TOKEN ]); $result=curl_exec($curl); debug('result',$result); curl_close($curl); } function reply($event,$text){ $object=[ 'replyToken'=>$event->replyToken, 'messages'=>[['type'=>'text','text'=>$text]] ]; post('reply',$object); } ■hello/hello.php <?php function bot($event){ reply($event,'HELLO'); } ```ここに言語名を入力 ソースコード PHP ``` ### 試したこと ブラウザから各PHPにアクセスして、500が出ませんので、コンパイルは出来ています。 http://www.lb-yado.tk/mybot/debug.txt https://www.lb-yado.tk/mybot/main.php https://www.lb-yado.tk/mybot/tool.php https://www.lb-yado.tk/mybot/hello/hello.php ### 補足情報(FW/ツールのバージョンなど) ラインはSSL通信でのみ可能で、 共有SSLサーバーを契約して、 別のPHPプログラムでは応答が来ることから、SSL通信は問題ありません。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

Y.H.
Y.H.

2019/04/19 06:56

debug\.txt の内容を質問に追記してください。 ※ラインのトークン部分はxxxcなどで変更ください
pro59luckjp
pro59luckjp

2019/04/19 06:59

\[input\] {"events":\[{"type":"message","replyToken":"xxxc","source":{"userId":"U6f0c88562f6acf1bbb74420dc2a8e0a9","type":"user"},"timestamp":1555657148271,"message":{"type":"text","id":"9719297481767","text":"送信はこれ"}}\],"destination":"U24f0a09094296136bd566c85e8a82389"} \[output\] {"replyToken":"xxxc","messages":\[{"type":"text","text":"\\u9001\\u4fe1\\u306f\\u3053\\u308c"}\]} \[result\] 1
Y.H.
Y.H.

2019/04/19 07:19

質問を編集し、質問に追記してください。 ここはコメント数が多くなると古いものが非表示になります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

LINE Messaging API

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

PHP

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