PHP Исходник Гайд Arizona RP | BOT [VK]

norrthh

Известный
Автор темы
287
106
test.png

Здравствуйте, читатели этой статьи! Так как на нашем форуме популярные темы связанные с Arizona RP, то вот. Сегодня взглянул на новый сайт аризоны и увидел четыре запросика к беку


Попытавший тупо перейти по этим ссылкам, у меня ничего не получилось, пришлось запускать PHPStorm и смотреть, что да как, отсюда и появилась идея для создания этого бота


Функционал бота
  • Просмотр онлайна выбранного сервера
  • Просмотр организации (только 15 аккаунтов, ибо VK не дает отправить больше)
  • Просмотр самых старых игроков
  • Просмотр самых богатых игроков
Бот распространяется только на такие сервера
  • Phoenix
  • Tucson
  • Scottdale
  • Chandler
  • Brainburg

Организации
  • LSPD
  • RCSD
  • FBI
  • SFPD
  • LsH
  • Government

Хотел для всех серверов сделать и все организации, но VK не дает :) Выход из этой ситуации есть, сделать пагинацию кнопок, но, как нибудь сами)
Вот пример функции, как допустим получить онлайн на Arizona RP

PHP:
function getOnline(int $server_id) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://backend.arizona-rp.com/server/get-all");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Referer: https://arizona-rp.com/',
    ]);

    $response = curl_exec($ch);
    $response = json_decode($response);

    curl_close($ch);
    return $response[$server_id]->players;

}

1685570300747.png


Упустил тот момент, что карта работает так же по такому принципу


PHP:
function getProperty(int $server_id) {
    $url = 'https://backend.arizona-rp.com/map?serverId=' . $server_id;
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Referer: https://arizona-rp.com/',
    ]);

    $response = curl_exec($ch);
    $response = json_decode($response);

    curl_close($ch);
    return $response;
}

Пример использования, допустим, как получить все ID домов, которые в госсе


PHP:
$houses = getProperty(3);
$houses = $houses->houses;

foreach ($houses as $house) {
    if ($house->isOwned != 1) {
        echo $house->id;
    }
}


Ссылка на Github: https://github.com/norrthh/arizonabot
Ссылка на мою студию: https://vk.com/drainweb
 
Последнее редактирование:

chromiusj

Стань той переменой, которую хочешь увидеть в мире
Модератор
5,733
4,039
Функционал бота
  • Просмотр онлайна выбранного сервера
  • Просмотр организации (только 15 аккаунтов, ибо VK не дает отправить больше)
  • Просмотр самых старых игроков
  • Просмотр самых богатых игроков
Бот распространяется только на такие сервера
  • Phoenix
  • Tucson
  • Scottdale
  • Chandler
  • Brainburg

Организации
  • LSPD
  • RCSD
  • FBI
  • SFPD
  • LsH
  • Government
весёлый прикол соло
 

norrthh

Известный
Автор темы
287
106
Упустил тот момент, что карта работает так же по такому принципу


PHP:
function getProperty(int $server_id) {
    $url = 'https://backend.arizona-rp.com/map?serverId=' . $server_id;
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Referer: https://arizona-rp.com/',
    ]);

    $response = curl_exec($ch);
    $response = json_decode($response);

    curl_close($ch);
    return $response;
}

Пример использования, допустим, как получить все ID домов, которые в госсе


PHP:
$houses = getProperty(3);
$houses = $houses->houses;

foreach ($houses as $house) {
    if ($house->isOwned != 1) {
        echo $house->id;
    }
}
 
  • Нравится
Реакции: Rice.

[SA ARZ]

Известный
392
8
а есть пример получение онлайн организации ? а не весь список
 

Philomen

Известный
120
29
Как на счёт поддержки всех серверов и добавить поиск статистики игроков? А еще оплату налогов чтобы вообще по кайфу было
 

norrthh

Известный
Автор темы
287
106
Как на счёт поддержки всех серверов и добавить поиск статистики игроков? А еще оплату налогов чтобы вообще по кайфу было
Для поддержки всех серверов придется делать пагинацию кнопок, а это муторно, в файлах есть пример пагинации, опираясь можно сделать.

Я имел ввиду, что через API для вывода фракции нельзя узнать, игрок в сети или нет. Через gamer/find можно сделать, но там придется помучится с Bareer токенами, я это не разбирал, но,возможно, в будущем добавлю эту функцию
 

evans1

Новичок
3
1
Утеряло свою актуальность, бэкенд от обычных обывателей прикрыли.
 

norrthh

Известный
Автор темы
287
106
Утеряло свою актуальность, бэкенд от обычных обывателей прикрыли.
Так не скрыли, просто запросы сделали через авторизацию, отправляешь запрос на авторизацию -> получаешь bearer toke и отправляешь реквесты