Перейти к публикации

Imperatorbaz

Активный игрок
  • Публикаций

    315
  • Зарегистрирован

  • Посещение

Изменения репутации

  1. Нравится
    Imperatorbaz получил репутацию от Kavodash в Хорошим людям нужно держаться вместе, да?   
    лол чел ты на идеальных серверах 
  2. Вышка
    Imperatorbaz получил репутацию от BATYA_GAME в Лобби Скайварс   
    имба, ставим
  3. Вышка
    Imperatorbaz получил репутацию от Smail291999 в Читы   
    сразу видно , читер. Жду бана
  4. Вышка
    Imperatorbaz получил репутацию от Zip23 в Цены на разбан   
    я против читеров!
  5. Вышка
    Imperatorbaz получил репутацию от LordKrisp в Цены на разбан   
    я против читеров!
  6. Вышка
    Imperatorbaz получил репутацию от Bunny_Jeck в Цены на разбан   
    я против читеров!
  7. Вышка
    Imperatorbaz получил репутацию от anatolly_Top в Модератор на самоволке   
    clown
  8. Днишка
    Imperatorbaz получил репутацию от Gendarme в Модератор на самоволке   
    clown
  9. Вышка
    Imperatorbaz получил репутацию от MrSindi в Подстава   
    не тот раздел 
  10. Вышка
    Imperatorbaz получил репутацию от pelmeshik2 в EggWars   
    зачем нам ег варс, когда есть топовый клэш поинт!!!!
  11. Вышка
    Imperatorbaz получил репутацию от Flash_Gaming_ в Цены на разбан   
    вот таких модеров нам не хватает на мг!
  12. Вышка
    Imperatorbaz получил репутацию от 0_Euphoria_0 в даже пве модер закроет...   
    о боже, мои глаза
  13. Вышка
    Imperatorbaz изменил репутацию Flash_Gaming_ в Цены на разбан   
    В таком случае пишите жалобу в этот раздел- https://forum.vimeworld.ru/forum/73-%D0%B6%D0%B0%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB/
     
     
    Во время бана сможете играть на другом аккаунте, т.к. разрешено иметь 2 игровых аккаунта :)
  14. Вышка
    Imperatorbaz получил репутацию от Sinsemilla в Мильпопс с ментолами   
    не будет бана, мин 3 оска
  15. Вышка
    Imperatorbaz изменил репутацию Sinsemilla в Заявка на должность "модератор".   
    Желаемая должность - Модератор.
    Время игры на сервере (должно быть не менее наигранных 48 часов) - 4 дня.
    Ник в игре - Sinsemilla.
    Настоящее имя -  Михаил.
    Возраст  (Модератор - с 16; Хелпер - с 14) - 16 лет.
    Есть опыт в этом деле? (где, кем, когда, кто может подтвердить) - Опыта в данной сфере нет, но хотелось бы получить его в дальнейшем, тем самым помочь проекту.
    Сколько часов в день вы готовы посвятить нашему проекту? - В данный момент, большая часть времени уходит на учёбу. Он составит примерно 3-4 часа.
    В какое время обычно играете (по Москве) - 15:00-19:00 мск.
    В каком городе проживаете? - Великий Новгород 
    Почему вы хотите занять эту должность? - Я провожу своё время на вашем проекте, и часто замечаю в мини-играх игроков, которые используют ненормативную лексику. Хочу быть тем модератором, к которому игроки будут обращаться с просьбами, а я всегда им помогу. Чем больше людей, которые будут очищать чат, заниматься помощью, тем лучше серверу и игрокам.
    Прочитали ли правила нашего проекта? - Да, прочитал. Готов нести полную ответственность за выданные наказания.
    Напишите немного о себе - Как я писал выше, меня зовут Михаил, мне 16 лет. На данный момент учусь в 10 классе, усердно готовлюсь к экзаменам, чтобы в будущем поступить в достойный вуз. Если говорить обо мне, как о человеке, то я дружелюбный, и отзывчивый человек. Легко схожусь с людьми, если же не получается - стараюсь ограничить общение до минимума, да бы не провоцировать конфликты.
    Ссылка на Вашу страницу ВКонтакте (Личка и страница должны быть открытыми! А так же вы должны оставлять ссылку с вашим настоящим ID, состоящим из цифр, а не вами придуманным) - https://vk.com/id244309121
  16. Вышка
    Imperatorbaz получил репутацию от dreakx в 2.0   
    за 
  17. Вышка
    Imperatorbaz получил репутацию от kokagtan в призон   
    справедливый ответ
  18. Вышка
    Imperatorbaz изменил репутацию MoRFi__MiST в 25 наклеек за положительную репутацию.   
    И так, чтобы получить Вам наклейку, вам нужно поставить положительную репутацию.
    Форма для заявки:
    1.Написать свой ник;
    2.Поставил ли ты положительную репутацию да/нет;



    Док-ва, что есть наклейки. - - - > 


     
  19. Вышка
    Imperatorbaz получил репутацию от vol4onok_Wolf в Клинок Рассекающий Нарушителей.№ 6   
    мало, я ждал 4 месяца ))
  20. Вышка
    Imperatorbaz изменил репутацию Sinsemilla в Заявка на должность модератора MiniGames   
    Против.
     
  21. Вышка
    Imperatorbaz изменил репутацию Charkos0ff в [Гайд] Создание ботов для ВКонтакте, а также работа с API VimeWorld   
    Краткая информация:
    PHP - скриптовый язык программирования. Используется, в большей степени, для создания веб-приложений, и является самым популярным языком для разработки динамических веб-сайтов и генерации HTML.
     
    Подготовка:
    Для начала нам нужно создать файл с нашим ботом. Давайте назовем его "bot.php"?, а затем откроем с помощью любого текстового редактора (Например: Sublime Text 3, Atom, Nodepad++) и вставим теги начала и конца:
     
    Начинаем кодить:
    Для удобства, предложу сразу же задефайнить наш токен доступа и строку (строку можно получить в настройках CallBack API)
    define('confirmation_token', 'c6d0c6e4'); define('token', '086b5839bbd99ee025cf1ffee4436cicfab8addc98937cw6028190555b929871bb03b86098a59939212d8'); Теперь, можем начать писать и сам обработчик событий!
    Для получения обновлений, можно создать переменную data и просвоить ей значение: "json_decode(file_get_contents('php://input') , true)". После этого весь ваш код должен выглядеть так:
    <?php //Строка для подтверждения адреса сервера из настроек Callback API define('confirmation_token', 'c6d0c6e4'); //Токен доступа к сообществу define('token', '086b5839bbd99ee025cf1ffee4436cicfab8addc98937cw6028190555b929871aa03b86398a59939212d8'); //При отправке запроса на наш файл, пришедшие в него данные будут переведены в массив для дальнейшей работы $data = json_decode(file_get_contents('php://input') , true); ?> Мы можем начинать обрабатывать события, которые нам отсылает ВКонтакте. Для этого давайте создадим switch, перебирающий значение у массива, находящегося в переменной $data.
    switch ($data['type']){ case 'confirmation': break; case 'message_new': break; }  Теперь можно написать действия для наших кейсов. В "confirmation" добавьте строку: 
    echo confirmation_token; А в "message_new" просто скопируйте этот код:
    //айди чата, где был вызван бот $peer_id = $data['object']['peer_id'] ? : $data['object']['user_id']; //текст сообщения, разбитый на пробелы $text = explode(" ", $data['object']['text']); //1 часть текста, переведенная в формат, где все буквы - маленькие $text[0] = mb_strtolower($text[0]); switch ($text[0]){ case '/help': case '/хелп': case '/команды': send_message($peer_id, "Доступные команды:\n\n/stats <ник> - просмотр статистики игроков"); break; } echo ('ok'); header("HTTP/1.1 200 OK"); Он содержит несколько переменных для работы с сообщениями. А также простой обработчик сообщений.
     
    И также чтоб не сильно углубляться в строение ВК-API, вставьте эти функции в конец бота (перед ?>)
    function send_message($peer_id = null, $message = null, $forward_messages = null, $attach = null, $random_id = null) { api('messages.send', array( 'peer_id' => $peer_id, 'message' => $message, 'forward_messages' => $forward_messages, 'keyboard' => $keyboard, 'attachment' => $attach, 'random_id' => '0' )); } function api($method, $params) { $params['access_token'] = token; $params['v'] = '5.102'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.vk.com/method/' . $method, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_POSTFIELDS => $params, CURLOPT_CUSTOMREQUEST => "POST" ]); $json = curl_exec($curl); curl_close($curl); $response = json_decode($json, true); return $response['response']; } Теперь ваш файлик должен выглядеть примерно так:
    <?php define('confirmation_token', 'c6d0c6e4'); define('token', '086b5839bbd99ee025cf1ffee4436cicfab8addc98937cw6028190555b929871aa03b86398a59939212d8'); $data = json_decode(file_get_contents('php://input') , true); switch ($data['type']){ case 'confirmation': echo confirmation_token; break; case 'message_new': $peer_id = $data['object']['peer_id'] ? : $data['object']['user_id']; $text = explode(" ", $data['object']['text']); $text[0] = mb_strtolower($text[0]); switch ($text[0]){ case '/help': case '/хелп': case '/команды': send_message($peer_id, "Доступные команды:\n\n/stats <ник> - просмотр статистики игроков"); break; } echo ('ok'); header("HTTP/1.1 200 OK"); break; default: echo ('Unsupported event'); break; } function send_message($peer_id = null, $message = null, $forward_messages = null, $attach = null, $random_id = null) { api('messages.send', array( 'peer_id' => $peer_id, 'message' => $message, 'forward_messages' => $forward_messages, 'keyboard' => $keyboard, 'attachment' => $attach, 'random_id' => '0' )); } function api($method, $params) { $params['access_token'] = token; $params['v'] = '5.102'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.vk.com/method/' . $method, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_POSTFIELDS => $params, CURLOPT_CUSTOMREQUEST => "POST" ]); $json = curl_exec($curl); curl_close($curl); $response = json_decode($json, true); return $response['response']; } ?> Пожалуй, давайте зальем его на хостинг и проверим работоспособность, не забывая версию CallBack API и путь до бота на вашем сайте (смотрите спойлер).
     
    Важно! Если вы это ранее не сделали, то включите сообщения сообщества.
     
    Если вы все сделали правильно, то написав боту "/help" вы должны получить в ответ такое сообщение:
     
    Собственно, можем начать работать уже с самим API VimeWorld.ru
     
    Работа с API:
    Для получения информации об игроке мы будем использовать cURL.
    Давайте добавим новую команду - /stats. Для этого перейдем в кейс "message_new" и вставим под "/help" этот текст:
    case '/stats': case '/статс': case '/статистика': send_message($peer_id, "Тест"); break;  И теперь, перед вызовом функции send_message добавим подключение к апи вайма:
    $ch = curl_init("https://api.vimeworld.ru/user/name/{$text[1]}"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Access-Token: MY_TOKEN')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = json_decode(curl_exec($ch), true); curl_close($ch);  Вместо "MY_TOKEN" вставьте свой токен разработчика (или удалите эту строчку, иначе будет ошибка).
     
    Далее, можно сделать обработчик ответа:
    //если айди не равен нулю if($response[0]['id']){ //создаем переменную с информацией о игроке $player = "Профиль игрока: {$response[0]['username']}\nРанг: {$response[0]['rank']}"; } //иначе else{ //создаем переменную с ошибкой $player = "Данного игрока не существует!"; }  И не забываем изменить строчку с send_message на эту:
    send_message($peer_id, $player); Теперь давайте снова зальем этот скрипт и напишем боту "/stats barahag"
     
     
    Вывод ранга и ника - круто, но как насчет добавления новой информации в /stats?
    Давайте зайдем в официальную документацию к этому методу (ну, или под спойлер), и посмотрим, какую информацию предоставляет нам VimeWorld
     
    Полезная для нас информация: гильдия, наигранное время, ранг, уровень и айди.
    Для гильдии можно написать простой обработчик:
    //если имя гильдии равно чему-то if($response[0]['guild']['name']){ //делаем переменную с ним $guild = $response[0]['guild']['name']; } //иначе else{ //переменную с ошибкой $guild = "Отсутствует"; }  И также, стоило бы преобразовать наигранное время в человеческий вид:
    $days = number_format($response[0]['playedSeconds']/60/60/24,0,'.',''); $hour = number_format($response[0]['playedSeconds']/60/60%24,0,'.',''); $min = number_format($response[0]['playedSeconds']/60%60,0,'.',''); $sec = number_format($response[0]['playedSeconds']%60,0,'.',''); И в конце, давайте изменим значение переменной:
    $player = "Профиль игрока: {$response[0]['username']} Ранг: {$response[0]['rank']} Гильдия: {$guild} Проведено в игре: {$days} дн. {$hour} ч. {$min} мин. {$sec} сек."; Новые команды:
    Но зачем ограничиваться только статистикой? Давайте также добавим две новые команды: /staff и /streams.
    В отличие от "/stats", здесь мы должны подключиться один раз к апи и работать с информацией в цикле.
     
    /streams:
    $ch = curl_init("https://api.vimeworld.ru/online/streams"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = json_decode(curl_exec($ch), true); curl_close($ch); $count = count($response); $s = -1; while($s != $count-1){ $s +=1; $time1 = $response[$s]['duration']/60/60/24; $time2 = $response[$s]['duration']/60/60%24; $time3 = $response[$s]['duration']/60%60; $time4 = $response[$s]['duration']%60; $time1 = number_format($time1,0,'.',''); $time2 = number_format($time2,0,'.',''); $time3 = number_format($time3,0,'.',''); $time4 = number_format($time4,0,'.',''); $c +=1; $template .= "{$response[$s]['title']}\nСтример: {$response[$s]['owner']} \nЗрителей: {$response[$s]['viewers']}\nСсылка: {$response[$s]['url']}\nСтрим идёт: {$time1} дн. {$time2} ч. {$time3} мин. {$time4} сек.\n"; } send_message($peer_id, "Стримы в данный момент:\n\n{$template}Всего стримов: {$count}");  /staff:
    $ch = curl_init("https://api.vimeworld.ru/online/staff"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Access-Token: DVjvMiIi5cbHXuNvRheRM6XGoYB0tcG')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = json_decode(curl_exec($ch), true); curl_close($ch); $count = count($response); $m = -1; while($m != $count-1){ $m +=1; if($response[$m]['guild']['tag']){$guildtag = "<{$response[$m]['guild']['tag']}> ";}else{$guildtag = "";} if($response[$m]['rank'] == 'MODER'){$rank = '[Модер]';} if($response[$m]['rank'] == 'WARDEN'){$rank = '[Пр.Модер]';} if($response[$m]['rank'] == 'CHIEF'){$rank = '[Гл.Модер]';} $c +=1; $template .= "\n{$guildtag}{$rank} {$response[$m]['username']}. {$response[$m]['online']['message']}"; } send_message($peer_id, "Модераторы онлайн: \n{$template}\n\nВсего в сети: {$count}");  После добавления новых команд, весь ваш код должен выглядеть так:
     
  22. Вышка
    Imperatorbaz получил репутацию от Charkos0ff в [Гайд] Создание ботов для ВКонтакте, а также работа с API VimeWorld   
    давайте еще ботов так 40 сделаем, а так тема полезная 
  23. Днишка
    Imperatorbaz получил репутацию от Ksanex в Читы.   
    туда бомжа
  24. Вышка
    Imperatorbaz получил репутацию от LeoniD_elki_palki в Облегчение работы модераторам проекта   
    многие знают уже ники, есть одна фича, которая меняет ники,но я хз
  25. Вышка
    Imperatorbaz изменил репутацию dreakx в Читы.   
    1. dak1337
    2. dreakx.
    3. Читы ( акб, + рич)
    4. 15.10.2020
    5. 
×
×
  • Создать...