обновление публикации новостей от stable до stable
This commit is contained in:
58
news-bot.py
58
news-bot.py
@@ -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):
|
||||
|
Reference in New Issue
Block a user