ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Arizona RP | BOT [VK] (https://forum.antichat.xyz/showthread.php?t=1478693)

norrthh 01.06.2023 02:09

test.pngnorrthh · 1 Июн 2023 в 01:09' data-fancybox="lb-post-1319235" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/203377/" style="cursor: pointer;" title="test.png">
https://forum.antichat.xyz/attachments/28319235/

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


https://backend.arizona-rp.com/server/get-all

https://backend.arizona-rp.com/rating?type=oldest-players&serverId=

https://backend.arizona-rp.com/rating?type=richest-players&serverId=

https://backend.arizona-rp.com/fraction/get-players?serverId=&fractionId=

Попытавший тупо перейти по этим ссылкам, у меня ничего не получилось, пришлось запускать 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
;
}



https://forum.antichat.xyz/attachments/28319235/

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

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

amfetaminov 01.06.2023 14:34

Годно для новостных пабликов!

chromiusj 01.06.2023 14:37

Цитата:

Сообщение от norrthh

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

весёлый прикол соло

norrthh 01.06.2023 16:31

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

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
;
}
}


[SA ARZ] 24.07.2023 19:45

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

JolyStin 25.07.2023 23:27

а зачем

norrthh 27.07.2023 00:38

Цитата:

Сообщение от [SA ARZ]

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

PHP:





Код:

echo
count
(
getMembers
(
$server_id
,
$fraction_id
)
-
>
items
)
;


[SA ARZ] 28.07.2023 14:57

Цитата:

Сообщение от norrthh

PHP:





Код:

echo
count
(
getMembers
(
$server_id
,
$fraction_id
)
-
>
items
)
;



интересно, а как узнать кто из них в игре?)

norrthh 28.07.2023 15:20

Цитата:

Сообщение от [SA ARZ]

интересно, а как узнать кто из них в игре?)

Никак, там возвращается такой массив

Ответ с API:





Код:

[id] => 1229681228
            [name] => Yuudai_Chagai
            [rank] => 10
            [rankLabel] => Chief
            [isLeader] => 1


Philomen 28.07.2023 15:34

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


Время: 21:18