 |
|

02.03.2025, 22:57
|
|
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами:
2380746
Репутация:
68
|
|
|
|
|

04.03.2025, 12:49
|
|
Новичок
Регистрация: 19.06.2023
Сообщений: 12
С нами:
1529139
Репутация:
3
|
|
Есть какой-то вариант получить сам ББКод ответа через get_post()
Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.
Ломаются любые стили, хайды, реплаи и т.п.
|
|
|

09.03.2025, 17:45
|
|
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами:
1961408
Репутация:
23
|
|
Сообщение от ZviNK
Есть какой-то вариант получить сам ББКод ответа через 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 код + Лишний мусор (Кнопки сохранить например)

|
|
|

31.03.2025, 17:58
|
|
Познающий
Регистрация: 08.07.2023
Сообщений: 46
С нами:
1502558
Репутация:
8
|
|
Как сделать уведомления в консоль при созданиях новой темы в разделе?
|
|
|

31.03.2025, 22:52
|
|
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами:
2380746
Репутация:
68
|
|
Сообщение от choco.pay
Как сделать уведомления в консоль при созданиях новой темы в разделе?
каждые 2-3 минуты вызывать метод на поиск тем в категории, сохранять где то в массиве, и если при следующем вызове появляются новые иды, значит это новая тема (дополнительно можно сравнивать еще и дату создания)
|
|
|

01.04.2025, 00:40
|
|
Новичок
Регистрация: 01.04.2025
Сообщений: 1
С нами:
591469
Репутация:
1
|
|
Метод поиска по форуму планируется универсальный?
С строкой, разделом в котором искать, от кого сообщение.
|
|
|

01.04.2025, 14:53
|
|
Познающий
Регистрация: 08.07.2023
Сообщений: 46
С нами:
1502558
Репутация:
8
|
|
Сообщение от TastyBread123
каждые 2-3 минуты вызывать метод на поиск тем в категории, сохранять где то в массиве, и если при следующем вызове появляются новые иды, значит это новая тема (дополнительно можно сравнивать еще и дату создания)
Спасибо!
|
|
|

01.04.2025, 23:26
|
|
Постоянный
Регистрация: 05.11.2021
Сообщений: 634
С нами:
2380746
Репутация:
68
|
|
Сообщение от nclv
Метод поиска по форуму планируется универсальный?
С строкой, разделом в котором искать, от кого сообщение.
как будет время, скорее всего да
|
|
|

10.04.2025, 17:31
|
|
Новичок
Регистрация: 10.04.2025
Сообщений: 7
С нами:
577499
Репутация:
8
|
|
Теперь можно получить последнюю активность пользователя
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
)
|
|
|

18.05.2025, 14:46
|
|
Новичок
Регистрация: 13.02.2023
Сообщений: 13
С нами:
1710677
Репутация:
1
|
|
Снимок экрана 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">
как это фиксить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|