обновление публикации новостей от stable до stable

This commit is contained in:
2024-07-25 20:53:10 +03:00
parent 570e0b58f9
commit bc22a8a129

View File

@@ -23,8 +23,7 @@ url_post = "https://linux-gaming.ru/posts.json"
url_news = f"https://linux-gaming.ru/c/news/{keys.cat_num}.json"
url_vk_post = "https://api.vk.com/method/wall.post"
url_vk_get = "https://api.vk.com/method/wall.get"
url_changelog = "https://raw.githubusercontent.com/xpamych/test_LG_news/main/changelog_ru"
#"https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/changelog_ru"
url_changelog = "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/changelog_ru"
heads_site = {
"Content-Type": "application/json",
@@ -34,7 +33,7 @@ heads_site = {
params_get = {
'access_token': keys.user_token_vk,
'v': '5.236', # Версия API
'v': '5.199', # Версия API
'owner_id': str(keys.own_id),
'count': str(100),
'offset': str(0),
@@ -42,7 +41,7 @@ params_get = {
}
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.setLevel(logging.INFO)
handler = colorlog.StreamHandler()
handler.setFormatter(colorlog.ColoredFormatter(
@@ -426,24 +425,25 @@ async def check_discord_public():
def vk_post(url, post_text, links=None):
params_post = {
'access_token': keys.api_key_vk,
'v': '5.236', # Версия API VK
'owner_id': str(keys.own_id),
'message': f'{post_text}'
'v': '5.199', # Версия API VK
'owner_id': str(keys.own_id)
# Дополнительные параметры можно добавить здесь
}
data = {
'message': f'{post_text}' # Перемещаем текст статьи в тело POST-запроса
}
if links:
params_post['attachments'] = links
try:
# Отправляем POST-запрос к VK API
resp_post = requests.post(url=url, params=params_post)
resp_post = requests.post(url=url, params=params_post, data=data)
if resp_post.status_code == 200:
logging.info("Сообщение успешно опубликовано.")
logging.info(resp_post.json()) # Выводим ответ сервера в формате JSON
else:
logging.error(f"Ошибка при публикации сообщения в ВК:, {resp_post.status_code}")
logging.error(f"Ошибка при публикации сообщения в ВК:, {resp_post.status_code} - {resp_post.reason}")
return resp_post
except requests.RequestException as err:
@@ -489,6 +489,7 @@ def check_vk_posts():
logging.warning(f"Постов на стене нет{vk_posts}")
list_titles_and_ids = news()
list_titles_and_ids = [pair for pair in list_titles_and_ids if pair[0] >= keys.start_topic_id]
if list_titles_and_ids:
list_for_public = []
for topic_id, topic_title in list_titles_and_ids:
@@ -499,25 +500,28 @@ def check_vk_posts():
if not list_for_public:
logging.warning(f"Новостей для публикации в ВК нет")
else:
# Отфильтровываем посты ниже определенного ID статьи
for topic_id, topic_title in reversed(list_for_public):
if topic_id > keys.start_topic_id:
logging.info(f"Новости для публикации в ВК: {list_for_public}")
text_data = news_content(topic_id)
if text_data:
content = f"{topic_title}\t\n" + text_data + "\n"
content = remove_markdown_links(content)
content = re.sub(r'https://linux-gaming.ru/uploads/default/original/1X/5cfa59077a5275971401fab0114e56f3ffdd0ec4.png', '\n', content, flags=re.DOTALL)
links = extract_links(content)
if "Кумулятивное обновление скриптов" in topic_title:
# Пример добавления изображения с постом
vk_post(url_vk_post, content, "photo-99238527_457244491")
logging.info(f"Новости для публикации в ВК: {list_for_public}")
text_data = news_content(topic_id)
if text_data:
content = f"{topic_title}\t\n" + text_data + "\n"
content = remove_markdown_links(content)
content = re.sub(r'https://linux-gaming.ru/uploads/default/original/1X/5cfa59077a5275971401fab0114e56f3ffdd0ec4.png', '\n', content, flags=re.DOTALL)
links = extract_links(content)
if "Кумулятивное обновление скриптов" in topic_title:
# Пример добавления изображения с постом
vk_post(url_vk_post, content, "photo-99238527_457244491")
else:
if links:
vk_post(url_vk_post, content, links)
else:
if links:
vk_post(url_vk_post, content, links)
else:
vk_post(url_vk_post, content)
else:
logging.warning(f"Новостей для публикации в ВК нет")
vk_post(url_vk_post, content)
else:
logging.warning(f"Не удалось получить текст новости {topic_id}")
break
else:
logging.warning(f"Новостей для публикации в ВК нет")
def tg_post(post_text, client_tg):