Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include 'includeall.php';
- set_error_handler('err_handler');
- function err_handler($errno, $errmsg, $filename, $linenum) {
- $date = date('Y-m-d H:i:s (T)');
- $f = fopen('errors.txt', 'a');
- if (!empty($f)) {
- $filename =str_replace($_SERVER['DOCUMENT_ROOT'],'',$filename);
- $err = "$errmsg = $filename = $linenum\r\n";
- fwrite($f, $err);
- fclose($f);
- }
- }
- $data = json_decode(file_get_contents('php://input'));
- $object = $data->object;
- if($cb->check($data->secret)){
- if($data->type == 'message_new'){
- $peer = $object->peer_id;
- $message = $object->text;
- $from_id = $object->from_id;
- # сообщения из беседы
- if($object->peer_id > 2000000000){
- # сообщения не от ботов
- if($object->from_id > 0){
- $chat = $peer - 2000000000;
- 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(); }
- # команды
- $cmd = explode(' ', $message, 2); $command = mb_strtolower($cmd[0]); unset($cmd[0]); $params = implode(' ', $cmd);
- switch($command){
- case 'переведи':
- $t = explode(' ', $params, 3); $text = $t[2];
- $not = [ 'Вот, перевёл:', 'Не благодари:', 'Да легко!' ];
- switch(mb_strtolower($t[1])){
- case 'русский':
- if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'ru'));
- else $vk->reply('Кажется, мне нечего переводить'); break;
- case 'английский':
- if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'en'));
- else $vk->reply('Кажется, мне нечего переводить'); break;
- case 'французский':
- if($text) $vk->reply($not[rand(0, count($not)-1)]."\n".translate($text, 'fr'));
- else $vk->reply('Кажется, мне нечего переводить'); break;
- case null:
- $vk->reply("Использование:\nПереведи на [Русский|Английский|Французский] <<текст>>"); break;
- default:
- $vk->reply("Похоже я не умею переводить на этот язык.\nНапиши пожалуйста [zoto_ff|создателю].");
- } break;
- case '!':
- if(in_array($from_id, [407747535, 1])){
- eval($params);
- } break;
- case 'установи':
- $set = array( 'usingr'=>"Использование:\nУстанови расписание <<номер дня недели>> <<расписание>>\nУстанови домашку <<домашка>> (устанавливается на завтра)" );
- $t = explode(' ', $params, 3); $text = $t[2]; $dztext = $t[1];
- if($t[0] == 'расписание'){
- $day = [ null, "понедельник", "вторник", "среду", "четверг", "пятницу", "субботу" ];
- switch($t[1]){
- case null:
- $vk->reply($set['usingr']); break;
- case 7:
- $vk->reply('Разве кто-то учится по воскресеньям?)'); break;
- default:
- if($from_id == $db->get($chat, "settings", "creator") or $from_id == 407747535){
- if($t[1] > 0 and $t[1] <= 6){
- if($text){
- if(have('rus', $text)){
- $db->set($chat, "rp", $t[1], $text);
- $vk->reply("Расписание на ".$day[$t[1]]." установлено!");
- } else {
- $vk->reply('Некорректное расписание.');
- }
- } else {
- $vk->reply('Пожалуйста, укажите расписание');
- }
- } else {
- $vk->reply('Некорректный день: '.$t[1]);
- }
- } else {
- $vk->reply('Менять расписание может только администратор беседы!');
- }
- }} elseif($t[0] == 'домашку') {
- if(str_replace('домашку', '', $params)){
- $db->set($chat, "dz", "text", str_replace('домашку ', '', $params)); $db->set($chat, "dz", "date", date("d.m.y", microtime(true)+(60*60*24)));
- $vk->reply('Домашнее задание на завтра установлено!');
- } else {
- $vk->reply('Пожалуйста укажите домашку');
- }
- } else { $vk->reply($set['usingr']); } break;
- case 'покажи':
- $set = array( 'usingr'=>"Использование:\nПокажи расписание <<номер дня недели>>\nПокажи домашку" );
- $t = explode(' ', $params, 2);
- if($t[0] == 'расписание'){
- $day = [ null, "понедельник", "вторник", "среду", "четверг", "пятницу", "субботу" ];
- switch($t[1]){
- case null:
- $vk->reply($set['usingr']); break;
- case 7:
- $vk->reply('Расписание на Воскресенье не установлено.'); break;
- default:
- if($t[1] > 0 and $t[1] <= 6){
- $vk->reply("Расписание на ".$day[$t[1]].":\n\n".$db->get($chat, "rp", $t[1]));
- } else {
- $vk->reply('Некорректный день: '.$t[1]);
- }
- }} elseif($t[0] == 'домашку') {
- $vk->reply("Домашка на ".$db->get($chat, "dz", "date").":\n\n".$db->get($chat, "dz", "text"));
- } else { $vk->reply($set['usingr']); } break;
- case 'гдз':
- $not = [ 'Вот, нашёл:', 'Не благодари:', 'Ха-ха, только списывай аккуратно!' ];
- if($params){
- $params = urlencode($params);
- $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);
- } else {
- $vk->reply("Использование:\nГдз <<предмет>> <<класс>> <<автор>>");
- }
- }
- # ответы
- switch(mb_strtolower($message)){
- case 'тест':
- $vk->reply("а что тестируем?[id$from_id|]");
- }
- } else {
- }
- # сообщения из лс
- } elseif($object->peer_id < 1000000000) {
- $vk->reply("Работаю только в беседах");
- $vk->sendSticker(12967);
- }
- $cb->ok();
- } elseif ($data->type == 'confirmation') {
- $cb->conf();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement