Skip to content

Instantly share code, notes, and snippets.

@hiyorineko
Created January 28, 2020 08:23
Show Gist options
  • Save hiyorineko/65b63b47c2001c752b82d1232d4654e8 to your computer and use it in GitHub Desktop.
Save hiyorineko/65b63b47c2001c752b82d1232d4654e8 to your computer and use it in GitHub Desktop.
LINEbot_sample
<?php
const CHANNEL_ACCESS_TOKEN = '[取得したCHANNEL ACCESS TOKEN]';
$entityBody = file_get_contents('php://input');
$data = json_decode($entityBody, true);
foreach ($data['events'] as $event) {
switch ($event['type']) {
case 'message':
replyMessage($event);
default:
error_log("Unsupporeted event type: " . $event['type']);
break;
}
}
function replyMessage($event)
{
$message = $event['message'];
switch ($message['type']) {
case 'text':
$text = mb_convert_kana($message['text'], 'KVas');
$message = array(
'replyToken' => $event['replyToken'],
'messages' => array(
array(
'type' => 'text',
'text' => $text
)
)
);
$header = array(
"Content-Type: application/json",
'Authorization: Bearer ' . CHANNEL_ACCESS_TOKEN,
);
$context = stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => implode("\r\n", $header),
"content" => json_encode($message),
),
));
$response = file_get_contents('https://api.line.me/v2/bot/message/reply', false, $context);
if (strpos($http_response_header[0], '200') === false) {
http_response_code(500);
error_log("Request failed: " . $response);
}
default:
error_log("Unsupporeted message type: " . $message['type']);
break;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment