-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathFacebookBotPHP.php
108 lines (90 loc) · 3.26 KB
/
FacebookBotPHP.php
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
facebookBot::$postData = file_get_contents('php://input');
facebookBot::$get = $_GET;
class facebookBot {
public static $get;
public static $postData;
public static $token;
public static function verifyWebsite() {
if (isset(self::$get['verify_token'])) {
$verify_token = self::$get['verify_token'];
$challenge = self::$get['hub_challenge'];
if ($verify_token == "verification_token") {
print $challenge;
} elseif ($verify_token != "verification_token") {
print 'Error, wrong validation token';
}
}
}
public static function getMessage() {
$output = json_decode(self::$postData);
return $output->entry[0]->messaging[0]->message->text;
}
public static function getSender() {
$output = json_decode(preg_replace('/"id":(\d+)/', '"id":"$1"',self::$postData ));
return $output->entry[0]->messaging[0]->sender->id;
}
public static function sendFormattedMessage($recipient, $elements) {
$json = '{
"recipient":{"id":"' . $recipient . '"},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"elements":' . json_encode($elements) . '
}
}
}}';
$options = array(
'http' => array(
'method' => 'POST',
'content' => $json,
'header' => "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=' . self::$token;
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $json;
}
public static function sendMessage($recipient, $message) {
$json = '{
"recipient":{"id":"' . $recipient . '"},
"message":{
"text":"' . $message . '"
}
}';
$options = array(
'http' => array(
'method' => 'POST',
'content' => $json,
'header' => "Content-Type: application/json\r\n" .
"Accept: application/json\r\n"
)
);
$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=' . self::$token;
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $json;
}
}
class witAI {
public static $token;
function getWitAIResponse($q) {
$access_token = self::$token;
$options = array(
'http' => array(
'method' => 'GET',
'header' => "Authorization: Bearer " . $access_token . "\r\n" .
"Accept: appliation/vnd.wit.20141022+json\r\n"
)
);
$context = stream_context_create($options);
$url = 'https://api.wit.ai/message?q=' . urlencode($q);
$result = file_get_contents($url, false, $context);
$result = json_decode($result);
return $result;
}
}