· 5 years ago · Jun 19, 2020, 06:44 AM
1<?php
2
3error_reporting(0);
4
5const TOKEN = "ляляля";
6const API = 5.107;
7const KEY = "ляляля";
8const HELP_ARTICLE = "https://vk.com/@insight_bot-spisok-komand";
9
10$data = json_decode(file_get_contents('php://input'), true);
11if($data['type'] == "confirmation") echo KEY; else {
12 switch ($data['type']){
13 case 'message_new':
14 $data = $data['object']['message'];
15 $peer_id = $data['peer_id'];
16 $user_id = $data['from_id'];
17 $msg = $data['text'];
18 switch(mb_strtolower($msg)){
19 case "start":
20 msgSend("?♂ " . gp($user_id) . ", команды, а также их подробные описания доступны по ссылке ? \n" . HELP_ARTICLE , $peer_id);
21 break;
22 case "порох":
23 $poroh = rand(1, 20);
24 $ap = rand(1, 10);
25 msgSend("?Победа?\n\n? " . gp($user_id) . ", вы выиграли: \n\n• ?порох— +$poroh стаков\n• ?АР— +$ap стаков", $peer_id);
26 break;
27 case "кто я":
28 $rost = rand(100, 320)/100;
29 $chlen = rand(1, 35);
30 $ves = rand(35, 110);
31 $shans = rand(1, 100);
32 $rand_ytyber = ["Пятёрка", "Аид", "Demaster","Лололошка", "Ивангай", "Dilleron play", "Smale", "Фирамир", "SuperEvgexa", "MrUnfiny", "MrReyn"];
33 $ytyber = $rand_ytyber[array_rand($rand_ytyber)];
34 msgSend("? " . gp($user_id) . ", ваш результат \n\n ?Какой ты ютубер? \n\n С шансом $shans % ты : \n ?? Ютубер: $ytyber \n ? Рост: $rost м \n ⚖ Вес: $ves кг\n ? Писька: $chlen см \n", $peer_id);
35 break;
36 case "города":
37 msgSend("? " . gp($user_id) . ", список всех городов: \n \n 1⃣ Denver( вет ?) \n 2⃣ Beregans ( вет ?) \n 3️⃣ Ellenia ( вет ?) \n 4️⃣ Southwest ( вет ❤️) \n 5️⃣ Reonex ( вет ?) \n \n ⚙Напишите название города, чтобы получить подробную информацию о нём[/Denver]", $peer_id);
38 break;
39 case "denver":
40 msgSend("? " . gp($user_id) . ", информация о городе Denver \n \n ? Название города: Denver \n ?⚖️ Мер города: [id419897162|Genuine Paragon] \n Ветка: ?/560 \n \n Описание?: \n Представьте себе час пик в большом городе. Люди спешат домой после тяжелого трудового дня. Мимо проносятся беспилотные автомобили; по специально оборудованным безопасным дорожкам, обособленно от моторизованного движения и потока непредсказуемых пешеходов и велосипедистов.По мере наступления вечера установленные в помещениях датчики регулируют температуру окружающего воздуха и включают освещение;люди управляют телевизорами, радио, и даже подачей воды в ванной жестами, не вставая со своих кресел", $peer_id, upload("Image/Denver.jpg", $peer_id));
41 break;
42 }
43 break;
44 }
45 echo "ok";
46}
47
48function call($method, $params = [])
49{
50 $curl = curl_init('https://api.vk.com/method/' . $method . '?access_token=' . TOKEN . '&v=' . API);
51 curl_setopt_array($curl, [
52 CURLOPT_POST => true,
53 CURLOPT_POSTFIELDS => $params,
54 CURLOPT_RETURNTRANSFER => true
55 ]);
56 $response = json_decode(curl_exec($curl), true);
57 curl_close($curl);
58 return $response['response'];
59}
60
61function msgSend($text, $peer_id, $attachments = []){
62 if(!is_array($attachments)) $attachments = [$attachments];
63 return call('messages.send',
64 [
65 'random_id' => 0,
66 'peer_id' => $peer_id,
67 'message' => mb_substr($text, 0, 4096),
68 'attachment' => implode(',', $attachments),
69 'disable_mentions' => 1,
70 ]);
71}
72
73function upload($file, $peer_id)
74{
75 $server = json_decode(file_get_contents('https://api.vk.com/method/photos.getMessagesUploadServer?v=' . API . '&access_token=' . TOKEN . '&peer_id=' . $peer_id), true)['response']['upload_url'];
76 $ch = curl_init($server);
77 curl_setopt_array($ch, [
78 CURLOPT_RETURNTRANSFER => true,
79 CURLOPT_POST => true,
80 CURLOPT_POSTFIELDS => [
81 'photo' => new CURLfile(realpath($file))
82 ]
83 ]);
84 $data = json_decode(curl_exec($ch), true);
85 curl_close($ch);
86 $d1 = json_decode(file_get_contents('https://api.vk.com/method/photos.saveMessagesPhoto?v=' . API . '&access_token=' . TOKEN . '&server=' . $data['server'] . '&hash=' . $data['hash'] . '&photo=' . $data['photo']), true);
87 return "photo" . $d1['response'][0]['owner_id'] . "_" . $d1['response'][0]['id'];
88}
89
90function getName($user_id, $name_case = "nom")
91{
92 if ($user_id > 0) {
93 $name = call('users.get',
94 [
95 'name_case' => $name_case,
96 'user_ids' => $user_id,
97 ])[0];
98 return $name['first_name'] . " " . $name['last_name'];
99 } else return call('groups.getById',
100 [
101 'group_ids' => -$user_id,
102 ])[0]['name'];
103}
104
105function gp($user_id){
106 return "[" . ($user_id > 0 ? "id" . $user_id : "club" . -$user_id) . "|" . getName($user_id) . " ?]" ;
107}