PDA

Просмотр полной версии : Arizona Forum API [v2.2]


TastyBread123
08.07.2023, 16:13
Всех приветствую

Как вы могли догадаться, это API для интернет ресурсов аризоны. Можете потыкать по спойлерам для большей информации

Пакет доступен к установке через pip: pip install arz-api

Github (https://github.com/TastyBread123/Arizona-API/) |Релизы (https://github.com/TastyBread123/Arizona-API/releases) |Документация |PyPI



Не используйте способ с document.cookie в консоли JavaScript. Для этого лучше использовать отдельные расширения для работы с куки. Например, EditThisCookie или Cookie-Editor



Примеры:




Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
user
=
api
.
current_member
print
(
f'Успешно авторизовались!\nИмя пользователя:{user.username}| Звание:{user.user_title}\nАватарка:{ user.avatar}\nСообщений:{user.messages_co unt}| Реакций:{user.reactions_count}\n'
)
category
=
api
.
get_category
(
1865
)
print
(
f"Название:{category.title}({category.id})\n Страниц:{category.pages_count}\n"
)
member
=
api
.
get_member
(
583439
)
print
(
f'Пользователь найден!\nИмя пользователя:{member.username}| Звание:{member.user_title}\nАватарка :{member.avatar}\nСообщений:{member.messa ges_count}| Реакций:{member.reactions_count}\n'
)
thread
=
api
.
get_thread
(
6594323
)
print
(
f'Название:{thread.title}({thread.id})\nА втор темы:{thread.creator.username}\nКатегор ия:{thread.category.title}({thread.category.id}) \nДата создания:{thread.create_date}| Закрыто:{thread.is_closed}'
)
statistic
=
api
.
get_forum_statistic
(
)
print
(
f'\n\nТем:{statistic.threads_count}| Постов:{statistic.posts_count}| Пользователей:{statistic.users_count} \nПоследний пользователь:{statistic.last_register_ member.username}'
)
post
=
api
.
get_post
(
36550558
)
print
(
f'\n\nАвтор:{post.creator.username}({post.cre ator.id})\nID:{post.id}| Дата создания:{post.create_date}\nРазмещ но в теме{post.thread.title}\n\n{post.bb_content}'
)
profile_post
=
api
.
get_profile_post
(
2247012
)
print
(
f"\n\nАвтор:{profile_post.creator.username}({pr ofile_post.creator.id})\nСоздано в{profile_post.create_date}у пользователя{profile_post.profile.user name}({profile_post.profile.id})\n\n{profile_post. bb_content}"
)








Отсюда (https://forum.antichat.xyz/threads/1420069/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
threads
=
api
.
get_threads
(
354
)
print
(
'Закрепленные темы:'
)
for
i
in
threads
[
"pins"
]
:
thread
=
api
.
get_thread
(
i
)
print
(
f'{thread.title}by{thread.creator.username}'
)
print
(
'\n____________________\nНезакрепленн е темы:'
)
for
i
in
threads
[
"unpins"
]
:
thread
=
api
.
get_thread
(
i
)
print
(
f'{thread.title}by{thread.creator.username}'
)








Отсюда (https://forum.antichat.xyz/threads/1382358/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
}
try
:
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
print
(
'Success login! Getting last posts in your profile...'
)
for
post_id
in
api
.
current_member
.
get_profile_messages
(
)
:
post
=
api
.
get_profile_post
(
post_id
)
print
(
"\nMessage ID: {0}\nFrom: {1}\nText: {2}\nUnformatted text: {3}"
.
format
(
post
.
creator
.
id
,
post
.
creator
.
username
,
post
.
text_content
,
post
.
bb_content
)
)
except
arz_api
.
IncorrectLoginData
:
print
(
'Invalid login data!'
)









Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
# ПРИМЕР ДЛЯ PAYSON
jb
=
api
.
send_form
(
45
,
{
'question[531]'
:
'1'
,
# Тип жалобы (1 - на адм / 2 - на красных), в этом примере на адм (в жб на красных id полей различаются)
'question[532]'
:
"Your_Nick"
,
# Ваш ник
'question[533]'
:
"Admin_Nick"
,
# Ник администратора
'question[534]'
:
"ДМ ЗЗ"
,
# Причина наказания
'question[535]'
:
"ВИ ПЛАХИЕ ОПРУ ИЛИ СНИМАЙТИ ОДМЕНА"
,
# Суть жалобы
'question[536]'
:
"https://imgur.com/a/rfFsf"
,
#Скриншот истории наказаний
'question[537]'
:
"https://imgur.com/a/fGFYj"
,
# Скриншот при входе в игру (при бане)
'question[538]'
:
"2023-07-10"
,
# Дата выдачи наказания
'question[539]'
:
'1'
# Готов нести ответственность в случае обмана
}
)









@xSkateboard (https://forum.antichat.xyz/members/2359356/) - тема (https://forum.antichat.xyz/threads/1420069/), обходик (https://forum.antichat.xyz/threads/1478585/)

@MrCreepTon (https://forum.antichat.xyz/members/1988417/) - тема (https://forum.antichat.xyz/threads/1382358/)




Вроде как имеется (не тестировал). Дополнительно можете при авторизации отключить обход, поставив параметр do_bypass = False

Без обхода:






api
=
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
,
do_bypass
=
False
)







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

vovans.
08.07.2023, 17:35
Го автожалобу после бана бота в ракботе

N1C1
08.07.2023, 18:40
Круто, пиво.

TastyBread123
09.07.2023, 00:00
Update v1.1

- В объект пользователя (Member) был добавлен метод get_profile_messages(page: int), возвращает список из ID сообщений

- В объект поста (Post) были добавлены поля text_content - текст без html тегов

- Теперь методы объекта раздела (Category) get_threads(page) и get_categories() возвращают список (list) из ID

- Поправлены/добавлены комментарии

- Добавлен requirements.txt

- Добавлены новые примеры

Release (https://github.com/TastyBread123/ArizonaForum-API/releases/tag/v1.1)

Basedbounty
09.07.2023, 17:43
Го автожалобу после бана бота в ракботе


up

TastyBread123
09.07.2023, 22:08
Update v1.2

- Теперь из объекта ArizonaAPI можно вызвать большинство методов (пример (https://github.com/TastyBread123/ArizonaForum-API/blob/main/examples/category_threads.py))

- Теперь по умолчанию в get_posts() у объекта Thread стоит 1 страница

- Улучшен внешний вид документации

- Мелкие исправления, улучшения

Release (https://github.com/TastyBread123/ArizonaForum-API/releases/tag/v1.2)

Xros 2
09.07.2023, 22:43
Го автожалобу после бана бота в ракботе


поддерживаю!!!!

TastyBread123
10.07.2023, 13:31
Update v1.3

- Добавлен метод в объект темы (Thread) - edit_info(title: str, prefix_id: int). В ArizonaAPI - edit_thread_info(thread_id: int, title: str, prefix_id: int)

- Новый метод ArizonaAPI send_form(form_id: int, form_data: dict). Может быть использован для создания жалоб (пример (https://github.com/TastyBread123/ArizonaForum-API/blob/main/examples/send_form.py))

- Мелкие исправления, улучшения

Release (https://github.com/TastyBread123/ArizonaForum-API/releases/tag/v1.3)

Philomen
11.07.2023, 16:57
Не хочешь сделать АПИ для личного кабинета на АРЗ? Там можно пробивать статистику игроков, тоже прикольная штука

TastyBread123
11.07.2023, 17:33
Не хочешь сделать АПИ для личного кабинета на АРЗ? Там можно пробивать статистику игроков, тоже прикольная штука


Там пару проблем - капча, а также куки хранятся до закрытия сессии (браузера)

neverlane
16.07.2023, 03:52
Там пару проблем - капча, а также куки хранятся до закрытия сессии (браузера)


в лк просто по-еблански сделана авторизация с jwt токенами, так-то можно 1 раз с помощью любого солвера recaptcha v3 войти а потом сделать следующее

получаем refresh токен (на арз, живет 3 дня) -> обновляем с помощью backend.arizona-rp.com/auth/refresh -> получаем новые access и refresh токены

когда срок access токена заканчивается (12 часов живет вроде) - повторяем наши действия

ferdik
17.07.2023, 01:29
Как сделать проверку на префикс темы и закреп?

TastyBread123
17.07.2023, 09:47
Как сделать проверку на префикс темы и закреп?


Префикс только если сравнивать с помощью метода startswith

Префикс:






# импортируем, авторизуемся и тд
is_prefix_important
=
api
.
get_thread
(
id
)
.
title
.
startswith
(
"Важно"
)




Проверку на закреп постараюсь сделать в следующей обнове

ferdik
18.07.2023, 04:46
Как работает get_post?



@bot.on.message(text="+test")
async def echo(message: Message):
for post_id in a_api.get_thread_posts(6635856):
post = a_api.get_post(post_id)
print(post)






https://sun9-15.userapi.com/impg/PdKjq5dAiZIW1c4NnCPsNCIDLCsU2SLpCstJ3g/Xv74La0NYP0.jpg?size=903x333&quality=96&sign=bd05dfb83dfaf18156b426471ecb75f6&type=album

TastyBread123
18.07.2023, 09:26
Update 1.3.1

- Исправлена ошибка с методом get_post

Release (https://github.com/TastyBread123/ArizonaForum-API/releases/tag/v1.3.1)

ferdik
18.07.2023, 15:19
https://sun9-77.userapi.com/impg/UmjAW8ll7bEt95iUoimwfUiAufcAoX43q5ZdGg/UmDf-Ljl2IQ.jpg?size=717x140&quality=96&sign=8b6feb46b0fbc78b09e06b02f047de07&type=album

Все обновил и ошибка таже)

TastyBread123
18.07.2023, 19:00
https://sun9-77.userapi.com/impg/UmjAW8ll7bEt95iUoimwfUiAufcAoX43q5ZdGg/UmDf-Ljl2IQ.jpg?size=717x140&quality=96&sign=8b6feb46b0fbc78b09e06b02f047de07&type=album

Все обновил и ошибка таже)


Тупанул, пофиксил, скачай с гита еще раз

Xros 2
18.07.2023, 19:17
Всех приветствую
Как вы могли догадаться, это API для форума аризоны. Можете потыкать по спойлерам для большей информации

Github (https://github.com/TastyBread123/ArizonaForum-API)|Релизы (https://github.com/TastyBread123/ArizonaForum-API/releases) |Документация

Примеры:



Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
,
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
user
=
api
.
current_member
print
(
f'Успешно авторизовались!\nИмя пользователя:{user.username}| Звание:{user.user_title}\nАватарка:{ user.avatar}\nСообщений:{user.messages_co unt}| Реакций:{user.reactions_count}\n'
)
category
=
api
.
get_category
(
1865
)
print
(
f"Название:{category.title}({category.id})\n Страниц:{category.pages_count}\n"
)
member
=
api
.
get_member
(
583439
)
print
(
f'Пользователь найден!\nИмя пользователя:{member.username}| Звание:{member.user_title}\nАватарка :{member.avatar}\nСообщений:{member.messa ges_count}| Реакций:{member.reactions_count}\n'
)
thread
=
api
.
get_thread
(
6594323
)
print
(
f'Название:{thread.title}({thread.id})\nА втор темы:{thread.creator.username}\nКатегор ия:{thread.category.title}({thread.category.id}) \nДата создания:{thread.create_date}| Закрыто:{thread.is_closed}'
)
statistic
=
api
.
get_forum_statistic
(
)
print
(
f'\n\nТем:{statistic.threads_count}| Постов:{statistic.posts_count}| Пользователей:{statistic.users_count} \nПоследний пользователь:{statistic.last_register_ member.username}'
)
post
=
api
.
get_post
(
36550558
)
print
(
f'\n\nАвтор:{post.creator.username}({post.cre ator.id})\nID:{post.id}| Дата создания:{post.create_date}\nРазмещ но в теме{post.thread.title}\n\n{post.bb_content}'
)
profile_post
=
api
.
get_profile_post
(
2247012
)
print
(
f"\n\nАвтор:{profile_post.creator.username}({pr ofile_post.creator.id})\nСоздано в{profile_post.create_date}у пользователя{profile_post.profile.user name}({profile_post.profile.id})\n\n{profile_post. bb_content}"
)








Отсюда (https://forum.antichat.xyz/threads/1420069/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
for
thread_id
in
api
.
get_threads
(
1583
)
:
thread
=
api
.
get_thread
(
thread_id
)
print
(
f"{thread.title}by{thread.creator.username}"
)








Отсюда (https://forum.antichat.xyz/threads/1382358/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
try
:
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
print
(
'Success login! Getting last posts in your profile...'
)
for
post_id
in
api
.
current_member
.
get_profile_messages
(
)
:
post
=
api
.
get_profile_post
(
post_id
)
print
(
"\nMessage ID: {0}\nFrom: {1}\nText: {2}\nUnformatted text: {3}"
.
format
(
post
.
creator
.
id
,
post
.
creator
.
username
,
post
.
text_content
,
post
.
bb_content
)
)
except
arz_api
.
IncorrectLoginData
:
print
(
'Invalid login data!'
)









Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
# ПРИМЕР ДЛЯ PAYSON
jb
=
api
.
send_form
(
45
,
{
'question[531]'
:
'1'
,
# Тип жалобы (1 - на адм / 2 - на красных), в этом примере на адм (в жб на красных id полей различаются)
'question[532]'
:
"Your_Nick"
,
# Ваш ник
'question[533]'
:
"Admin_Nick"
,
# Ник администратора
'question[534]'
:
"ДМ ЗЗ"
,
# Причина наказания
'question[535]'
:
"ВИ ПЛАХИЕ ОПРУ ИЛИ СНИМАЙТИ ОДМЕНА"
,
# Суть жалобы
'question[536]'
:
"https://imgur.com/a/rfFsf"
,
#Скриншот истории наказаний
'question[537]'
:
"https://imgur.com/a/fGFYj"
,
# Скриншот при входе в игру (при бане)
'question[538]'
:
"2023-07-10"
,
# Дата выдачи наказания
'question[539]'
:
'1'
# Готов нести ответственность в случае обмана
}
)








@xSkateboard (https://forum.antichat.xyz/members/2359356/) - тема (https://forum.antichat.xyz/threads/1420069/), обходик (https://forum.antichat.xyz/threads/1478585/)

@MrCreepTon (https://forum.antichat.xyz/members/1988417/) - тема (https://forum.antichat.xyz/threads/1382358/)




Вроде как имеется (не тестировал). Дополнительно можете при авторизации отключить обход, поставив параметр do_bypass = False

Без обхода:






api
=
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
,
do_bypass
=
False
)






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

Daidem0N
19.07.2023, 15:04
Всех приветствую
Как вы могли догадаться, это API для интернет ресурсов аризоны. Можете потыкать по спойлерам для большей информации

Github (https://github.com/TastyBread123/Arizona-API/) |Релизы (https://github.com/TastyBread123/Arizona-API/releases) |Документация



Не используйте способ с document.cookie в консоли JavaScript. Для этого лучше использовать отдельные расширения для работы с куки. Например, EditThisCookie или Cookie-Editor


Примеры:



Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
,
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
user
=
api
.
current_member
print
(
f'Успешно авторизовались!\nИмя пользователя:{user.username}| Звание:{user.user_title}\nАватарка:{ user.avatar}\nСообщений:{user.messages_co unt}| Реакций:{user.reactions_count}\n'
)
category
=
api
.
get_category
(
1865
)
print
(
f"Название:{category.title}({category.id})\n Страниц:{category.pages_count}\n"
)
member
=
api
.
get_member
(
583439
)
print
(
f'Пользователь найден!\nИмя пользователя:{member.username}| Звание:{member.user_title}\nАватарка :{member.avatar}\nСообщений:{member.messa ges_count}| Реакций:{member.reactions_count}\n'
)
thread
=
api
.
get_thread
(
6594323
)
print
(
f'Название:{thread.title}({thread.id})\nА втор темы:{thread.creator.username}\nКатегор ия:{thread.category.title}({thread.category.id}) \nДата создания:{thread.create_date}| Закрыто:{thread.is_closed}'
)
statistic
=
api
.
get_forum_statistic
(
)
print
(
f'\n\nТем:{statistic.threads_count}| Постов:{statistic.posts_count}| Пользователей:{statistic.users_count} \nПоследний пользователь:{statistic.last_register_ member.username}'
)
post
=
api
.
get_post
(
36550558
)
print
(
f'\n\nАвтор:{post.creator.username}({post.cre ator.id})\nID:{post.id}| Дата создания:{post.create_date}\nРазмещ но в теме{post.thread.title}\n\n{post.bb_content}'
)
profile_post
=
api
.
get_profile_post
(
2247012
)
print
(
f"\n\nАвтор:{profile_post.creator.username}({pr ofile_post.creator.id})\nСоздано в{profile_post.create_date}у пользователя{profile_post.profile.user name}({profile_post.profile.id})\n\n{profile_post. bb_content}"
)








Отсюда (https://forum.antichat.xyz/threads/1420069/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
for
thread_id
in
api
.
get_threads
(
1583
)
:
thread
=
api
.
get_thread
(
thread_id
)
print
(
f"{thread.title}by{thread.creator.username}"
)








Отсюда (https://forum.antichat.xyz/threads/1382358/)

Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
try
:
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
print
(
'Success login! Getting last posts in your profile...'
)
for
post_id
in
api
.
current_member
.
get_profile_messages
(
)
:
post
=
api
.
get_profile_post
(
post_id
)
print
(
"\nMessage ID: {0}\nFrom: {1}\nText: {2}\nUnformatted text: {3}"
.
format
(
post
.
creator
.
id
,
post
.
creator
.
username
,
post
.
text_content
,
post
.
bb_content
)
)
except
arz_api
.
IncorrectLoginData
:
print
(
'Invalid login data!'
)









Код:






import
arz_api

cookies
=
{
"xf_user"
:
"your"
,
"xf_tfa_trust"
:
"your"
,
"xf_session"
:
"your"
,
"xf_csrf"
:
"your"
}
api
=
arz_api
.
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
)
# ПРИМЕР ДЛЯ PAYSON
jb
=
api
.
send_form
(
45
,
{
'question[531]'
:
'1'
,
# Тип жалобы (1 - на адм / 2 - на красных), в этом примере на адм (в жб на красных id полей различаются)
'question[532]'
:
"Your_Nick"
,
# Ваш ник
'question[533]'
:
"Admin_Nick"
,
# Ник администратора
'question[534]'
:
"ДМ ЗЗ"
,
# Причина наказания
'question[535]'
:
"ВИ ПЛАХИЕ ОПРУ ИЛИ СНИМАЙТИ ОДМЕНА"
,
# Суть жалобы
'question[536]'
:
"https://imgur.com/a/rfFsf"
,
#Скриншот истории наказаний
'question[537]'
:
"https://imgur.com/a/fGFYj"
,
# Скриншот при входе в игру (при бане)
'question[538]'
:
"2023-07-10"
,
# Дата выдачи наказания
'question[539]'
:
'1'
# Готов нести ответственность в случае обмана
}
)








@xSkateboard (https://forum.antichat.xyz/members/2359356/) - тема (https://forum.antichat.xyz/threads/1420069/), обходик (https://forum.antichat.xyz/threads/1478585/)

@MrCreepTon (https://forum.antichat.xyz/members/1988417/) - тема (https://forum.antichat.xyz/threads/1382358/)




Вроде как имеется (не тестировал). Дополнительно можете при авторизации отключить обход, поставив параметр do_bypass = False

Без обхода:






api
=
ArizonaAPI
(
user_agent
=
"your"
,
cookie
=
cookies
,
do_bypass
=
False
)






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


Ну нихера, рабочее api

TastyBread123
19.07.2023, 16:06
Update v1.4

- Теперь методы с действиями, которые раньше возвращали True или None, теперь возвращает объект Response, откуда можно узнать код ответа и тд

- В объект Thread (тема) добавлено поле prefix (префикс темы)

- В объект Member (пользователь) добавлен метод ignore() - ignore_member(member_id: int) в ArizonaAPI

- Мелкие исправления

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.4)

YuZuRu
20.07.2023, 09:59
Топ, добавь функуцию смены аватарки на форуме

TastyBread123
20.07.2023, 12:04
Топ, добавь функуцию смены аватарки на форуме


Окей, сделаю

YuZuRu
20.07.2023, 12:11
Окей, сделаю


Сделай проверку, что бы биоблиотека не крашилась если юзера или поста нету

TastyBread123
20.07.2023, 12:15
Можешь сделать отлов ошибок через try-except



Сделай проверку, что бы биоблиотека не крашилась если юзера или поста нету

YuZuRu
20.07.2023, 14:32
Можешь сделать отлов ошибок через try-except


Особо не шарю в этом, можно подробнее

TastyBread123
20.07.2023, 14:34
Особо не шарю в этом, можно подробнее



Пример", language="Python:






# апишка все дела
try: thread = api.get_thread(888)
except: print("Тема не найдена!")

YuZuRu
20.07.2023, 14:36
Пример", lang="Python", lang="Python:






# апишка все дела
try: thread = api.get_thread(888)
except: print("Тема не найдена!")





Спасибо

ferdik
20.07.2023, 19:33
Когда проверка на закреп?)

TastyBread123
20.07.2023, 22:34
Update v1.5

- Изменена механика работы get_threads. Теперь функция возвращает словарь (dict) с ключами 'pins' и 'unpins' - списки (list) закрепленных и незакрепленных тем соответственно. Пример (https://github.com/TastyBread123/Arizona-API/blob/main/examples/category_threads.py)

- Теперь member.avatar возвращает полную ссылку на аватарку

- Уборка в сортире репозитория

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/ver1.5)

ferdik
20.07.2023, 23:54
Опять сломал get_post)

TastyBread123
21.07.2023, 00:00
Опять сломал get_post)


пофиксил. Можно скачивать с репозитория и релиза (https://github.com/TastyBread123/Arizona-API/releases/tag/ver1.5)

ferdik
29.07.2023, 18:18
Как сделать перенос текста на след строку?

https://i.imgur.com/B1VCggn.png



text = f"Доброго времени суток, уважаемый игрок!\nЗакрыто."
api.answer_thread (6695819, text)

TastyBread123
29.07.2023, 18:36
Как сделать перенос текста на след строку?

https://i.imgur.com/B1VCggn.png


\n\n может?

neverlane
29.07.2023, 20:22
Как сделать перенос текста на след строку?

https://i.imgur.com/B1VCggn.png




first linesecond line

Ottolo
04.08.2023, 19:49
Ну уже можно было и асинхронную либу писать🙄🙄🙄

(Несерьёзный доёб, Красава, чел)

TastyBread123
05.08.2023, 01:38
Update v1.6

- Добавлены более подробные комментарии ко всем методам

- Новые методы в ArizonaAPI: react_thread(thread_id: int, reaction_id: int) - поставить реакцию на тему, edit_thread(thread_id: int, message_html: str) - изменить текст темы

- Новые методы в объекте CurrentMember: edit_avatar(upload_photo: str) - изменить автарку, delete_avatar() - удалить аватарку (спасибо https://www.blast.hk/members/502833 (https://forum.antichat.xyz/members/2422833/) за функцию, а то я бы и не вспомнил :D)

- Теперь в методах react всех обхектов по умолчанию ставится реакция 1 id

- В некоторых методах изменен рекомендуемый тип данных с int на bool. Подробнее в документации

- Незначительные изменения

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.6)



Ну уже можно было и асинхронную либу писать🙄🙄🙄
(Несерьёзный доёб, Красава, чел)


Вообще, была такая идея, поэтому почему бы и нет)

Осталось лишь разобраться, как же она работает в пайтоне 😅

Ottolo
06.08.2023, 14:55
Вообще, была такая идея, поэтому почему бы и нет)
Осталось лишь разобраться, как же она работает в пайтоне 😅


Если интересует идея совместной работы над асинк библиотекой, то пиши в тг: @g_syntax

TastyBread123
17.08.2023, 15:16
Теперь пакет доступен к установке через pip:

pip install arz-api

YuZuRu
17.08.2023, 15:25
Теперь пакет доступен к установке через pip:
pip install arz-api


Ого, крут

Zeox
13.09.2023, 23:32
Теперь пакет доступен к установке через pip:
pip install arz-api


Брат спрошу заранее перед тем как залезть, есть внутри обход ddos протекта аризонки ?

А всё родной открыл глаза увидел

Бро сделай что бы был рендер жалоб на админов по ключевому запросу ну например ник Carl и что бы выписывались жб в список и ссылки на них, я делал такое впринципе труда не составит



Update 1.3.1
- Исправлена ошибка с методом get_post

Release (https://github.com/TastyBread123/ArizonaForum-API/releases/tag/v1.3.1)

TastyBread123
14.09.2023, 15:14
Бро сделай что бы был рендер жалоб на админов по ключевому запросу ну например ник Carl и что бы выписывались жб в список и ссылки на них, я делал такое впринципе труда не составит


У меня именно библиотека, а не готовый скрипт



Библиоте́ка в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения

TastyBread123
08.11.2023, 23:42
Update v1.7

- Улучшена структура API

- В current_member исправлен баг, при котором API не могло найти ID пользователя, если у него не было автарки

Spanishmax
01.02.2024, 22:46
1706813166852.pngSpanishmax · 1 Фев 2024 в 21:46' data-fancybox="lb-post-1450286" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/230805/" style="cursor: pointer;" title="1706813166852.png">
https://forum.antichat.xyz/attachments/28450286/img_bd865b84f2.png

arz-api дополнительно ставит dukpy, который требует 14 версию MS Visual C++

Не совсем понял, из всего этого прекрасного списка - мне что нужно?

1706813153007.pngSpanishmax · 1 Фев 2024 в 21:46' data-fancybox="lb-post-1450286" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/230804/" style="cursor: pointer;" title="1706813153007.png">
https://forum.antichat.xyz/attachments/28450286/img_e7f735babd.png

TastyBread123
01.02.2024, 23:36
arz-api дополнительно ставит dukpy, который требует 14 версию MS Visual C++
Не совсем понял, из всего этого прекрасного списка - мне что нужно?


1706816190330.pngTastyBread123 · 1 Фев 2024 в 22:36' data-fancybox="lb-post-1450299" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/230809/" style="cursor: pointer;" title="1706816190330.png">
https://forum.antichat.xyz/attachments/28450299/img_7c554d7b1f.png

Ascerman
06.04.2024, 20:35
image.pngAscerman · 6 Апр 2024 в 19:35' data-fancybox="lb-post-1480020" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="/proxy.php?image=https%3A%2F%2Fi.ibb.co%2Fx3fw4V1%2 Fimage.png&hash=82e6a4ce43ab23ce778a052f59b8ac77" style="cursor: pointer;" title="image.png">
https://i.ibb.co/x3fw4V1/image.png

Ошибка возникала при изменении префикса темы, и я смог исправить ее, изменив код файла api.py. Возможно, это было связано с моей тупостью, но я точно этого не знаю. Ниже предоставлен скриншот, на котором показаны мои изменения в файле api.py

image.pngAscerman · 6 Апр 2024 в 19:35' data-fancybox="lb-post-1480020" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="/proxy.php?image=https%3A%2F%2Fi.ibb.co%2FStkRnqG%2 Fimage.png&hash=dd77eda499db8beafa30a361fbc1503c" style="cursor: pointer;" title="image.png">
https://i.ibb.co/StkRnqG/image.png

TastyBread123
06.04.2024, 23:17
https://i.ibb.co/x3fw4V1/image.png

Ошибка возникала при изменении префикса темы, и я смог исправить ее, изменив код файла api.py. Возможно, это было связано с моей тупостью, но я точно этого не знаю. Ниже предоставлен скриншот, на котором показаны мои изменения в файле api.py

https://i.ibb.co/StkRnqG/image.png


да, моя ошибка, сейчас исправлю

ZviNK
26.04.2024, 15:19
да, моя ошибка, сейчас исправлю


Подскажи, есть апдейт по этому багу? Все еще актуальный.

TastyBread123
26.04.2024, 23:31
Подскажи, есть апдейт по этому багу? Все еще актуальный.



Release Update 1.7.1 · TastyBread123/Arizona-API (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.7.1)

Исправлен баг в методе edit_thread_info

github.com

ZviNK
01.05.2024, 22:58
Планируешь добавить возможность получить покраску пользователя в объекте Member?

TastyBread123
02.05.2024, 01:12
Update v1.8

- Добавлен метод bookmark в Post (в главном api.py метод bookmark_post(post_id))

- В каждый объект (кроме Other) был добавлен служебный метод get_url()

- В объект Member было добавлено поле roles со списком покрасок пользователя (тип list)

- В каждый метод на получения объекта (например, get_thread) был добавлена проверка на существование. Если данного объекта нет, то возвращается None

- В объекта Catrgory добавлено поле parent_category_id (id предыдщей категории)

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.8) | PyPI

Fix v1.8.1

- Исправлен баг в методе get_post, связанный с аргументами объекта Member

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.8.1)| PyPI

ZviNK
02.05.2024, 18:49
self.api.edit_thread_info(thread.id,thread.title,1 5)


Этот код почему-то по мимо установки префикса еще закрывает и открепляет/закрепляет тему.

TastyBread123
02.05.2024, 21:18
Fix v1.8.2

- В метод edit_thread_info добавлены новые аргументы: sticky - статус закрепа; open - статус открыто/закрыто

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.8.2)| PyPI

ZviNK
03.05.2024, 14:29
Fix v1.8.2
- В метод edit_thread_info добавлены новые аргументы: sticky - статус закрепа; open - статус открыто/закрыто

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v1.8.2)| PyPI


Я похож на душнилу, но вне зависимости от параметров метод закрепляет тему и оставляет её открытой)

Ну и префикс не применяется

TastyBread123
04.05.2024, 21:19
Global Update 2.0

- Увеличена скорость работы методов get_thread(), get_category(), get_member(), get_profile_messages(), get_threads(), get_thread_posts(), get_categories() в 2-3 раза

- Все методы get_url() превращены в поля url и теперь в них учитывается переменная MAIN_URL

- Удалены методы объекта Thread pin() и close(). Теперь их функцию выполняет метод edit_info() - API: edit_thread_info()

- Поле parent_category_id в объекте Category заменено методом get_parent_category() (get_parent_category_of_category() в API)

- Поле category в объекте Thread заменено методом get_category() (get_thread_category в API)

- Исправлен баг с методом edit_info() - с открытием и закреплением темы (https://www.blast.hk/threads/182141/post-1490843 (https://forum.antichat.xyz/threads/1482141/post-1490843))

- Обновлены некоторые примеры

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v2.0)| PyPI

ZviNK
07.05.2024, 12:34
Global Update 2.0
- Увеличена скорость работы методов get_thread(), get_category(), get_member(), get_profile_messages(), get_threads(), get_thread_posts(), get_categories() в 2-3 раза
- Все методы get_url() превращены в поля url и теперь в них учитывается переменная MAIN_URL
- Удалены методы объекта Thread pin() и close(). Теперь их функцию выполняет метод edit_info() - API: edit_thread_info()
- Поле parent_category_id в объекте Category заменено методом get_parent_category() (get_parent_category_of_category() в API)
- Поле category в объекте Thread заменено методом get_category() (get_thread_category в API)
- Исправлен баг с методом edit_info() - с открытием и закреплением темы (https://www.blast.hk/threads/182141/post-1490843 (https://forum.antichat.xyz/threads/1482141/post-1490843))
- Обновлены некоторые примеры

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v2.0)| PyPI


edit_thread_info() не работает, если передать title=None

Так-же слетела кодировка, теперь при получении к примеру названии темы в названии которой есть "" вместо них в thread.title "

ferdik
07.05.2024, 17:29
Как-то через API можно получить список сообщений в теме?

TastyBread123
07.05.2024, 17:51
Как-то через API можно получить список сообщений в теме?



arz_api.api API documentation

Fix Update v2.0.1

- В методе edit_thread_info() теперь title обязательный аргумент

- Исправлен баг с префиксом в названии темы

- Исправлены символы типа "quot;" в названии темы, категории или имени пользователя

- Изменен комментарий в edit_thread_info()

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v2.0.1)| PyPI

tripple sixx
07.05.2024, 22:06
добавь метод для поиска по форуму

TastyBread123
07.05.2024, 22:15
добавь метод для поиска по форуму


Будет добавлено когда-нибудь)

alex.morozov
14.05.2024, 18:53
тема актуальная?

TastyBread123
14.05.2024, 21:23
тема актуальная?


ну да, ласт обнова в мае же

alex.morozov
14.05.2024, 21:46
ну да, ласт обнова в мае же


можешь дать свой вк? есть о чем поговорить

ZviNK
15.05.2024, 13:45
Как насчет добавления необязательной фильтрации, конкретно говорю сейчас о методе get_threads

К примеру, получить только открытые темы или с определенным префиксом

Думаю, где-то еще можно подобные сделать, но это то, что использовал бы лично я

Получать жалобы со всей первой страницы, бегать по ним циклом, а по итогу там вовсе не будет жалоб нужных тебе или одна-две - как-то не оптимально по затрате ресурсов получается.

TastyBread123
15.05.2024, 14:03
Как насчет добавления необязательной фильтрации, конкретно говорю сейчас о методе get_threads
К примеру, получить только открытые темы или с определенным префиксом
Думаю, где-то еще можно подобные сделать, но это то, что использовал бы лично я
Получать жалобы со всей первой страницы, бегать по ним циклом, а по итогу там вовсе не будет жалоб нужных тебе или одна-две - как-то не оптимально по затрате ресурсов получается.



https://forum.antichat.xyz/attachments/28496749/img_73f5431b1e.png

Могу сделать только такие фильтры, иначе будет то же самое, что ты и написал, только в самой апишке. Смысла в этом нет

ZviNK
22.06.2024, 12:09
При использовании скрипта на странице профиля отображается.

Активность Только что · Просматривает страницу помощи

alex.morozov
22.06.2024, 17:32
При использовании скрипта на странице профиля отображается.
Активность Только что · Просматривает страницу помощи


то есть по твоему должно не показывать?

TastyBread123
22.06.2024, 22:59
При использовании скрипта на странице профиля отображается.
Активность Только что · Просматривает страницу помощи


мб если посмотреть код, то будет ясно, что он оттуда получает токен?

ZviNK
24.06.2024, 22:26
мб если посмотреть код, то будет ясно, что он оттуда получает токен?


По идеи только при:

Код:






api = arz_api.ArizonaAPI(user_agent="your", cookie=cookies)




У меня по крону проверяется раздел, авторизация вызывается только при запуске проекта(раз в сутки рестарт). Отображается эта штука каждый раз, когда скрипт в "ожидании" следующей проверки.

+ отмечаются уведомления прочитанными все :(

TastyBread123
24.06.2024, 22:58
+ отмечаются уведомления прочитанными все :(


насчет этого хз, не должно такого происходить



По идеи только при:


-, CSRF токен получается при каждом действии, тк через n времени он устаревает (могу предположить что в течение 30 минут/часа)

choco.pay
04.07.2024, 05:04
Как отправить сообщение в теме?

TastyBread123
04.07.2024, 13:38
Как отправить сообщение в теме?



arz_api.api API documentation

choco.pay
04.07.2024, 16:51
arz_api.api API documentation


Cпасибки

choco.pay
31.07.2024, 13:25
Как в get_thread получить префиксы темы? Вот такие:

https://forum.antichat.xyz/attachments/28524964/img_b7dc234535.png

ferdik
06.08.2024, 13:36
Как в get_thread получить префиксы темы? Вот такие:


thread = api.get_thread(8467982)

print(thread.prefix)

choco.pay
21.08.2024, 12:38
Как получить все сообщения из темы?

TastyBread123
21.08.2024, 14:40
Как получить все сообщения из темы?



Код:






thread = api.get_thread(THREAD_ID)

threads = []
for page in range(1, thread.pages_count + 1):
# Если нужны просто айдишники
threads += thread.get_posts(page)

# если нужны еще сами объекты
posts = thread.get_posts(page)
for post in posts:
threds.append(api.get_post(post))




как то так примерно

choco.pay
16.11.2024, 14:59
Как получить только открытые незакрепленные темы?

Mercyline
18.11.2024, 01:10
как получить куки?

cookies = {"xf_user": "your",

"xf_tfa_trust": "your",

"xf_session": "your"

}

chromiusj
18.11.2024, 01:12
как получить куки?

cookies = {"xf_user": "your",
"xf_tfa_trust": "your",
"xf_session": "your"
}


вы че рофлите

1731877940887.pngchromiusj · 18 Ноя 2024 в 00:12' data-fancybox="lb-post-1561956" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/257439/" style="cursor: pointer;" title="1731877940887.png">
https://forum.antichat.xyz/attachments/28561956/img_2fb971f357.png

TastyBread123
19.11.2024, 10:57
Как получить только открытые незакрепленные темы?


api.get_threads(category, page)['unpin']

fakelag28
31.01.2025, 23:04
Изменение текста в теме/посте не работает, покрас 3 лвла есть, сам могу менять, через библиотеку не получается.

Python:






post_structure
=
api
.
get_post
(
37470102
)
post_structure
.
edit
(
"123"
)

TastyBread123
01.02.2025, 11:12
Изменение текста в теме/посте не работает, покрас 3 лвла есть, сам могу менять, через библиотеку не получается.

Python:






post_structure
=
api
.
get_post
(
37470102
)
post_structure
.
edit
(
"123"
)





есть какие то ошибки?

fakelag28
01.02.2025, 19:52
есть какие то ошибки?


-

TastyBread123
02.02.2025, 11:56
-


попробуй в какой то html файл записать post_structure.content

nikusyaxxs
08.02.2025, 07:04
Почему если страница темы >1, то начинает некорректно выводить содержимое заголовка?

https://forum.antichat.xyz/attachments/28584469/img_4ca8e1e41a.png

TastyBread123
08.02.2025, 12:04
Почему если страница темы >1, то начинает некорректно выводить содержимое заголовка?


скинь код, посмотрю

nikusyaxxs
08.02.2025, 13:07
скинь код, посмотрю



need 4lvl paint:





[CODE]
page
=
1
def
get_threads_on_page
(
page
)
:
threads
=
api
.
get_threads
(
3434
,
page
)
for
i
in
threads
[
"unpins"
]
:
thread
=
api
.
get_thread
(
i
)
print
(
f'Server:{thread.prefix}| Author:{thread.title}| By:{thread.creator.username}'
)
while
(
page

fakelag28
21.02.2025, 14:26
попробуй в какой то html файл записать post_structure.content


Нашёл решение проблемы:

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

Python:






def
edit_post
(
self
,
post_id
:
int
,
message_html
:
str
)
-
>
Response
:
"""Отредактировать сообщение

Attributes:
post_id (int): ID сообщения
message_html (str): Новый текст сообщения. Рекомендуется использование HTML

Returns:
Объект Response модуля requests
"""
title_of_thread_post
=
self
.
get_post
(
post_id
)
.
thread
.
title
return
self
.
session
.
post
(
f"{MAIN_URL}/posts/{post_id}/edit"
,
{
"title"
:
title_of_thread_post
,
"message_html"
:
message_html
,
"message"
:
message_html
,
"_xfToken"
:
self
.
token
}
)

TastyBread123
25.02.2025, 16:22
Нашёл решение проблемы:
При редактировании обязательно нужно указывать заголовок темы, даже если редактируется пост.

Python:






def
edit_post
(
self
,
post_id
:
int
,
message_html
:
str
)
-
>
Response
:
"""Отредактировать сообщение

Attributes:
post_id (int): ID сообщения
message_html (str): Новый текст сообщения. Рекомендуется использование HTML

Returns:
Объект Response модуля requests
"""
title_of_thread_post
=
self
.
get_post
(
post_id
)
.
thread
.
title
return
self
.
session
.
post
(
f"{MAIN_URL}/posts/{post_id}/edit"
,
{
"title"
:
title_of_thread_post
,
"message_html"
:
message_html
,
"message"
:
message_html
,
"_xfToken"
:
self
.
token
}
)





благодарю

nikusyaxxs
28.02.2025, 17:29
Почему если страница темы >1, то начинает некорректно выводить содержимое заголовка?


Решил это изменением логики(?) получения названия темы

Python:






def
get_thread
(
self
,
thread_id
:
int
)
:
request
=
self
.
session
.
get
(
f"{MAIN_URL}/threads/{thread_id}/page-1?_xfResponseType=json&_xfToken={self.token}"
)
.
json
(
)
if
request
[
'status'
]
==
'error'
:
return
None
if
request
.
get
(
'redirect'
)
is
not
None
:
return
self
.
get_thread
(
request
[
'redirect'
]
.
strip
(
MAIN_URL
)
.
split
(
'/'
)
[
content
=
unescape
(
request
[
'html'
]
[
'content'
]
)
content_h1
=
unescape
(
request
[
'html'
]
[
'h1'
]
)
content
=
BeautifulSoup
(
content
,
'lxml'
)
content_h1
=
BeautifulSoup
(
content_h1
,
'lxm
creator_id
=
content
.
find
(
'a'
,
{
'class'
:
'username'
}
)
try
:
creator
=
self
.
get_member
(
int
(
creator_id
[
'data-user-id'
]
)
)
except
:
creator
=
Member
(
self
,
int
(
creator_id
[
'data-user-id'
]
)
,
content
.
find
(
'a'
,
{
'class'
:
'username'
}
)
.
text
,
None
,
None
,
None
,
None
,
None
,
None
)
create_date
=
int
(
content
.
find
(
'time'
)
[
'data-time'
]
)
try
:
prefix
=
content_h1
.
find
(
'span'
,
{
'class'
:
'label'
}
)
.
text
title
=
content_h1
.
text
.
strip
(
)
.
replace
(
prefix
,
""
)
.
strip
(
)

TastyBread123
02.03.2025, 22:57
Update v2.1

- Добавлены несколько комментариев к методам

- Fix метода edit_post (от https://www.blast.hk/members/488052/ (https://forum.antichat.xyz/members/2408052/))

- Fix получения заголовка в get_thread (https://www.blast.hk/members/546617/ (https://forum.antichat.xyz/members/2466617/))

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v2.1) | PyPI

ZviNK
04.03.2025, 12:49
Есть какой-то вариант получить сам ББКод ответа через get_post()

Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.

Ломаются любые стили, хайды, реплаи и т.п.

fakelag28
09.03.2025, 17:45
Есть какой-то вариант получить сам ББКод ответа через get_post()
Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.
Ломаются любые стили, хайды, реплаи и т.п.



Python:






def
get_post_bbcode
(
self
,
thread_id
:
int
,
post_id
:
int
)
-
>
str
:
"""Получить BB-код из HTML-содержимого поста

Returns:
str: BB-код поста
"""
params
=
{
'_xfRequestUri'
:
f'/threads/{thread_id}/'
,
'_xfWithData'
:
1
,
'_xfToken'
:
self
.
token
,
'_xfResponseType'
:
'json'
}
response
=
self
.
session
.
get
(
f"{MAIN_URL}/posts/{post_id}/edit"
,
params
=
params
)
html_content
=
response
.
json
(
)
.
get
(
'html'
,
{
}
)
.
get
(
'content'
,
''
)
if
not
html_content
:
return
''
data
=
{
'_xfResponseType'
:
'json'
,
'_xfRequestUri'
:
f'/threads/{thread_id}/'
,
'_xfWithData'
:
1
,
'_xfToken'
:
self
.
token
,
'html'
:
html_content
}
response
=
self
.
session
.
post
(
f"{MAIN_URL}/index.php?editor/to-bb-code"
,
data
=
data
)
return
response
.
json
(
)
.
get
(
'bbCode'
,
''
)




Python:






bbcode
=
api
.
get_post_bbcode
(
9383346
,
50815999
)
print
(
bbcode
)




Но есть некоторые подводные камни:

1. Нужна покраска 3+ уровня, дабы /edit сработал

2. Возвращает HTML контент + BB код + Лишний мусор (Кнопки сохранить например)

https://i.imgur.com/DoVupMf.png

choco.pay
31.03.2025, 17:58
Как сделать уведомления в консоль при созданиях новой темы в разделе?

TastyBread123
31.03.2025, 22:52
Как сделать уведомления в консоль при созданиях новой темы в разделе?


каждые 2-3 минуты вызывать метод на поиск тем в категории, сохранять где то в массиве, и если при следующем вызове появляются новые иды, значит это новая тема (дополнительно можно сравнивать еще и дату создания)

nclv
01.04.2025, 00:40
Метод поиска по форуму планируется универсальный?

С строкой, разделом в котором искать, от кого сообщение.

choco.pay
01.04.2025, 14:53
каждые 2-3 минуты вызывать метод на поиск тем в категории, сохранять где то в массиве, и если при следующем вызове появляются новые иды, значит это новая тема (дополнительно можно сравнивать еще и дату создания)


Спасибо!

TastyBread123
01.04.2025, 23:26
Метод поиска по форуму планируется универсальный?
С строкой, разделом в котором искать, от кого сообщение.


как будет время, скорее всего да

bubbles
10.04.2025, 17:31
Теперь можно получить последнюю активность пользователя

member_object.py:






def
__init__
(
self
,
API
:
'ArizonaAPI'
,
id
:
int
,
username
:
str
,
user_title
:
str
,
avatar
:
str
,
roles
:
list
,
messages_count
:
int
,
reactions_count
:
int
,
trophies_count
:
int
,
activity
:
str
)
-
>
None
:
self
.
API
=
API
self
.
id
=
id
"""**ID пользователя**"""
self
.
username
=
username
"""**Имя пользователя**"""
self
.
user_title
=
user_title
"""**Звание пользователя**"""
self
.
avatar
=
avatar
"""**Ссылка на аватарку пользователя**"""
self
.
roles
=
roles
"""Роль пользователя на форуме ('покраска')"""
self
.
activity
=
activity
"""**Активность пользователя на форуме**"""
self
.
messages_count
=
messages_count
"""**Количество сообщений в счетчике**"""
self
.
reactions_count
=
reactions_count
"""**Количество реакций в счетчике**"""
self
.
trophies_count
=
trophies_count
"""**Количество баллов в счетчике**"""
self
.
url
=
f"{MAIN_URL}/members/{self.id}/"
"""Ссылка на объект"""




api.py:






def
get_member
(
self
,
user_id
:
int
)
-
>
Member
:
"""Найти пользователя по ID (возвращает либо Member, либо None (если профиль закрыт / не существует))"""
request
=
self
.
session
.
get
(
f"{MAIN_URL}/members/{user_id}?_xfResponseType=json&_xfToken={self.token}"
)
.
json
(
)
if
request
[
'status'
]
==
'error'
:
return
None
content
=
unescape
(
request
[
'html'
]
[
'content'
]
)
content
=
BeautifulSoup
(
content
,
'lxml'
)
username
=
unescape
(
request
[
'html'
]
[
'title'
]
)
activity
=
content
.
find
(
'dd'
,
{
'dir'
:
'auto'
}
)
.
get_text
(
strip
=
False
)
.
strip
(
'\n'
)
roles
=
[
]
for
i
in
content
.
find
(
'div'
,
{
'class'
:
'memberHeader-banners'
}
)
.
children
:
if
i
.
text
!=
'\n'
:
roles
.
append
(
i
.
text
)
try
:
user_title
=
content
.
find
(
'span'
,
{
'class'
:
'userTitle'
}
)
.
text
except
AttributeError
:
user_title
=
None
try
:
avatar
=
MAIN_URL
+
content
.
find
(
'a'
,
{
'class'
:
'avatar avatar--l'
}
)
[
'href'
]
except
TypeError
:
avatar
=
None
messages_count
=
int
(
content
.
find
(
'a'
,
{
'href'
:
f'/search/member?user_id={user_id}'
}
)
.
text
.
strip
(
)
.
replace
(
','
,
''
)
)
reactions_count
=
int
(
content
.
find
(
'dl'
,
{
'class'
:
'pairs pairs--rows pairs--rows--centered'
}
)
.
find
(
'dd'
)
.
text
.
strip
(
)
.
replace
(
','
,
''
)
)
trophies_count
=
int
(
content
.
find
(
'a'
,
{
'href'
:
f'/members/{user_id}/trophies'
}
)
.
text
.
strip
(
)
.
replace
(
','
,
''
)
)
return
Member
(
self
,
user_id
,
username
,
user_title
,
avatar
,
roles
,
messages_count
,
reactions_count
,
trophies_count
,
activity
)

monty capone
18.05.2025, 14:46
Снимок экрана 2025-05-18 154543.pngmonty capone · 18 Май 2025 в 13:46' data-fancybox="lb-post-1608200" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/270493/" style="cursor: pointer;" title="Снимок экрана 2025-05-18 154543.png">
https://forum.antichat.xyz/attachments/28608200/img_5152097967.png

как это фиксить?

TastyBread123
19.05.2025, 00:07
как это фиксить?


pip install aiohttp_socks

Krakowi
21.05.2025, 21:09
Привет, с чем может быть связана проблема? куки указанны верно, вот до сегодня все работало прекрасно:

1747847335198.pngKrakowi · 21 Май 2025 в 20:09' data-fancybox="lb-post-1608956" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/270688/" style="cursor: pointer;" title="1747847335198.png">
https://forum.antichat.xyz/attachments/28608956/img_c3f10a2831.png

TastyBread123
22.05.2025, 19:29
Привет, с чем может быть связана проблема? куки указанны верно, вот до сегодня все работало прекрасно:


попробуй куки обновить

TastyBread123
06.09.2025, 15:17
Update v2.2

- Добавлена поддержка последней версии форума

- Возвращены методы pin_thread, close_thread (в том числе и методы close, pin в объект Thread)

- Подправлены TypeCheck и комментарии

- Обновлён requirements.txt

- Метод get_threads() в глобальном api переименован в get_category_threads()

- Изменен принцип работы get_category_threads(), более подробно в комментарии к методу

Release (https://github.com/TastyBread123/Arizona-API/releases/tag/v2.2.0) | PyPI

fsrxvdd
20.10.2025, 22:37
invalid literal for int() with base 10: '12:47'

https://forum.antichat.xyz/attachments/28641480/img_a9ef21d2a6.png

пкд крашит как бы не использовал, как фиксить?

chromiusj
20.10.2025, 22:41
invalid literal for int() with base 10: '12:47'

пкд крашит как бы не использовал, как фиксить?


попробуй это,может тут пофикшено

Исходник - Arizona Forum API Async (https://forum.antichat.xyz/threads/1534227/)

Arizona Forum API Async | NodeJS версия Асинхронная Python библиотека для взаимодействия с форумом Arizona RP (forum.arizona-rp.com) без необходимости получения API ключа. Эта библиотека предоставляет современный, асинхронный интерфейс для работы с форумом Arizona RP. Это расширенная и...

www.blast.hk

Ну погоди!
09.01.2026, 01:16
invalid literal for int() with base 10: '12:47'

пкд крашит как бы не использовал, как фиксить?


конечно и поздний ответ, но можешь посмотреть в целом пул реквест мой на фикс этой темы https://github.com/TastyBread123/Arizona-API/pull/1