Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.76 KB | None | 0 0
  1. <?php
  2. include 'includeall.php';
  3.  
  4. set_error_handler('err_handler');
  5. function err_handler($errno, $errmsg, $filename, $linenum) {
  6. $date = date('Y-m-d H:i:s (T)');
  7. $f = fopen('errors.txt', 'a');
  8. if (!empty($f)) {
  9. $filename  =str_replace($_SERVER['DOCUMENT_ROOT'],'',$filename);
  10. $err  = "$errmsg = $filename = $linenum\r\n";
  11. fwrite($f, $err);
  12. fclose($f);
  13. }
  14. }
  15.  
  16. $data = json_decode(file_get_contents('php://input'));
  17. $object = $data->object;
  18.  
  19. if($cb->check($data->secret)){
  20.     if($data->type == 'message_new'){
  21.        
  22.         $peer = $object->peer_id;
  23.         $message = $object->text;
  24.         $from_id = $object->from_id;
  25.    
  26.     # сообщения из беседы
  27.     if($object->peer_id > 2000000000){
  28.          # сообщения не от ботов
  29.          if($object->from_id > 0){
  30.               $chat = $peer - 2000000000;
  31.              
  32.               if($db->get($chat, "settings", "reg") === null){ $vk->sendSticker(4275); $vk->reply('тут типа инструкция как бота юзать'); $db->set($chat, "settings", "reg", true); $db->set($chat, "rp", 6, "Не учимся!"); $db->set($chat, "settings", "creator", json_decode($vk->request('messages.getConversationsById', ['peer_ids'=>$peer]))->response->items[0]->chat_settings->owner_id); $cb->ok(); }
  33.              
  34.               # команды
  35.               $cmd = explode(' ', $message, 2); $command = mb_strtolower($cmd[0]); unset($cmd[0]); $params = implode(' ', $cmd);
  36.                 switch($command){
  37.                     case 'переведи':
  38.                         $t = explode(' ', $params, 3); $text = $t[2];
  39.                         $not = [ 'Вот, перевёл:', 'Не благодари:', 'Да легко!' ];
  40.                          switch(mb_strtolower($t[1])){
  41.                             case 'русский':
  42.                                 if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'ru'));
  43.                                 else $vk->reply('Кажется, мне нечего переводить'); break;
  44.                             case 'английский':
  45.                                 if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'en'));
  46.                                 else $vk->reply('Кажется, мне нечего переводить'); break;
  47.                             case 'французский':
  48.                                 if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'fr'));
  49.                                 else $vk->reply('Кажется, мне нечего переводить'); break;
  50.                             case null:
  51.                                 $vk->reply("Использование:\nПереведи на [Русский|Английский|Французский] <<текст>>"); break;
  52.                             default:
  53.                                 $vk->reply("Похоже я не умею переводить на этот язык.\nНапиши пожалуйста [zoto_ff|создателю].");
  54.                          } break;
  55.                     case '!':
  56.                         if(in_array($from_id, [407747535, 1])){
  57.                             eval($params);
  58.                         } break;
  59.                     case 'установи':
  60.                         $set = array( 'usingr'=>"Использование:\nУстанови расписание <<номер дня недели>> <<расписание>>\nУстанови домашку <<домашка>> (устанавливается на завтра)" );
  61.                         $t = explode(' ', $params, 3); $text = $t[2]; $dztext = $t[1];
  62.                          if($t[0] == 'расписание'){
  63.                           $day = [ null, "понедельник", "вторник", "среду", "четверг", "пятницу", "субботу" ];
  64.                           switch($t[1]){
  65.                              case null:
  66.                                  $vk->reply($set['usingr']); break;
  67.                              case 7:
  68.                                  $vk->reply('Разве кто-то учится по воскресеньям?)'); break;
  69.                              default:
  70.                                  if($from_id == $db->get($chat, "settings", "creator") or $from_id == 407747535){
  71.                                  if($t[1] > 0 and $t[1] <= 6){
  72.                                      if($text){
  73.                                          if(have('rus', $text)){
  74.                                             $db->set($chat, "rp", $t[1], $text);
  75.                                             $vk->reply("Расписание на ".$day[$t[1]]." установлено!");
  76.                                          } else {
  77.                                              $vk->reply('Некорректное расписание.');
  78.                                          }
  79.                                      } else {
  80.                                          $vk->reply('Пожалуйста, укажите расписание');
  81.                                      }
  82.                                  } else {
  83.                                      $vk->reply('Некорректный день: '.$t[1]);
  84.                                  }
  85.                                  } else {
  86.                                       $vk->reply('Менять расписание может только администратор беседы!');
  87.                                   }
  88.                           }} elseif($t[0] == 'домашку') {
  89.                               if(str_replace('домашку', '', $params)){
  90.                                 $db->set($chat, "dz", "text", str_replace('домашку ', '', $params)); $db->set($chat, "dz", "date", date("d.m.y", microtime(true)+(60*60*24)));
  91.                                 $vk->reply('Домашнее задание на завтра установлено!');
  92.                               } else {
  93.                                   $vk->reply('Пожалуйста укажите домашку');
  94.                               }
  95.                           } else { $vk->reply($set['usingr']); } break;
  96.                     case 'покажи':
  97.                         $set = array( 'usingr'=>"Использование:\nПокажи расписание <<номер дня недели>>\nПокажи домашку" );
  98.                         $t = explode(' ', $params, 2);
  99.                          if($t[0] == 'расписание'){
  100.                           $day = [ null, "понедельник", "вторник", "среду", "четверг", "пятницу", "субботу" ];
  101.                           switch($t[1]){
  102.                              case null:
  103.                                  $vk->reply($set['usingr']); break;
  104.                              case 7:
  105.                                  $vk->reply('Расписание на Воскресенье не установлено.'); break;
  106.                              default:
  107.                                  if($t[1] > 0 and $t[1] <= 6){
  108.                                      $vk->reply("Расписание на ".$day[$t[1]].":\n\n".$db->get($chat, "rp", $t[1]));
  109.                                  } else {
  110.                                      $vk->reply('Некорректный день: '.$t[1]);
  111.                                  }
  112.                           }} elseif($t[0] == 'домашку') {
  113.                               $vk->reply("Домашка на ".$db->get($chat, "dz", "date").":\n\n".$db->get($chat, "dz", "text"));
  114.                           } else { $vk->reply($set['usingr']); } break;
  115.                     case 'гдз':
  116.                         $not = [ 'Вот, нашёл:', 'Не благодари:', 'Ха-ха, только списывай аккуратно!' ];
  117.                         if($params){
  118.                             $params = urlencode($params);
  119.                              $vk->reply($not[rand(0, count($not)-1)]."\nvk.cc/".json_decode($vk->request('utils.getShortLink', ['url'=>"https://gdz.ru/search/?q=$params"]))->response->key);
  120.                         } else {
  121.                             $vk->reply("Использование:\nГдз <<предмет>> <<класс>> <<автор>>");
  122.                         }
  123.                 }
  124.                
  125.               # ответы
  126.               switch(mb_strtolower($message)){
  127.                    case 'тест':
  128.                        $vk->reply("а что тестируем?[id$from_id|&#2;]");
  129.                }
  130.           } else {
  131.              
  132.           }
  133.       # сообщения из лс
  134.     } elseif($object->peer_id < 1000000000) {
  135.          $vk->reply("Работаю только в беседах");
  136.          $vk->sendSticker(12967);
  137.      }
  138.      
  139.     $cb->ok();
  140.     } elseif ($data->type == 'confirmation') {
  141.         $cb->conf();
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement