-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathwebhook.php
More file actions
55 lines (45 loc) · 1.45 KB
/
Copy pathwebhook.php
File metadata and controls
55 lines (45 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
if(!file_exists('includes/config.php')){
header('Location: install.php');
exit;
}
//--INCLUDES
$includes = scandir('./includes');
foreach($includes as $f){
if($f != '.' && $f != '..'){
require_once 'includes/' . $f;
}
}
//--CLASSES
require_once 'classes/Database.php';
require_once 'classes/Line_Apps.php';
require_once 'classes/LineBot.php';
require_once 'classes/Session.php';
require_once 'classes/Option.php';
$option = new Option();
$active_app = $option->get('active_app');
$bot = new LineBot($option->get('channel_access_token'), $option->get('channel_secret'));
require_once './apps/' . $active_app . '.php';
foreach ($bot->parseEvents() as $event) {
$source = $event['source'];
if($source['type'] == 'user'){
$profile = check_profile($bot, $source['userId']);
$app = new $active_app($profile, $bot);
$messages = array();
if($event['type'] == 'follow'){
$messages = process_messages($app->on_follow());
}else if($event['type'] == 'message'){
$messages = process_messages($app->on_message($event['message']));
}else if($event['type'] == 'postback'){
$messages = process_messages($app->on_postback($event['postback']['data']));
}else if($event['type'] == 'unfollow'){
$app->on_unfollow();
}
}
}
if($messages){
$bot->replyMessage(array(
'replyToken' => $event['replyToken'],
'messages' => $messages
));
}