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

norrthh

Известный
Автор темы
280
102
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

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

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

norrthh

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


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]

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

Philomen

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

norrthh

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

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