diff --git a/news-bot.py b/news-bot.py index 224df41..60e3782 100755 --- a/news-bot.py +++ b/news-bot.py @@ -23,7 +23,8 @@ 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://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/changelog_ru" +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" heads_site = { "Content-Type": "application/json", @@ -85,8 +86,6 @@ def html_to_text(html_content): logging.debug(f"Текст до обработки регулярками {markdown_text}") - #Удаляем лишние записи о версии скриптов - # Удаление переносов строк из-за - markdown_text = re.sub(r'-\s*\n\s*', '-', markdown_text, flags=re.DOTALL) markdown_text = re.sub(r'-\s*\n*', '-', markdown_text, flags=re.DOTALL) @@ -129,13 +128,21 @@ def html_to_text(html_content): # Удаление дублирующихся ссылок markdown_text = remove_duplicate_links(markdown_text) - # Добавление переноса после "История изменений:" - re.sub(r'^.*\* \* \*.*$', '', markdown_text) - markdown_text = re.sub(r'История изменений:', r'\n', markdown_text) + # # Добавление переноса после "История изменений:" + # re.sub(r'^.*\* \* \*.*$', '', markdown_text) + # markdown_text = re.sub(r'История изменений:', r'\n', markdown_text) # Удаление лишних отступов для строк, начинающихся с '*' markdown_text = re.sub(r' \*', r'*', markdown_text) + # Перемещение ссылки на изображение в конец последней строки + image_link = "[.](https://linux-gaming.ru/uploads/default/original/1X/5cfa59077a5275971401fab0114e56f3ffdd0ec4.png)" + + # Удаляем строку с изображением из текста + markdown_text = markdown_text.replace(image_link, '') + + markdown_text = markdown_text + image_link + logging.debug(f"Текст после обработки {markdown_text}") return markdown_text @@ -220,13 +227,14 @@ def script_content(script_ver, next_version, resp_changelog): index_script_ver = changelog_text_last.find(prev_text) changelog_text = changelog_text_last[index_script_ver:] changelog_text = re.sub(r'###Scripts version (\d+)### / Дата: (\d{2}\.\d{2}\.\d{4}) / Размер скачиваемого обновления: \d+ \S+', r'\1 - \2'":", changelog_text) + changelog_text = re.sub(r'###Scripts version (\d+)### / stable / Дата: (\d{2}\.\d{2}\.\d{4}) / Размер скачиваемого обновления: \d+ \S+', r'\1 - \2'":", changelog_text) post_text = (f"-----------------------------\n") + changelog_text site_text = (f"[center][img]/uploads/default/original/1X/5cfa59077a5275971401fab0114e56f3ffdd0ec4.png[/img][/center]\n{post_text}") logging.debug(f"Сообщение на сайт {site_text}") post_data = { - "title": f"Обновление скриптов {script_ver}", + "title": f"Кумулятивное обновление скриптов {script_ver}", "raw": site_text, "category": keys.cat_num } @@ -314,7 +322,7 @@ def site_post(url, headers, json): def check_version(matches_changelog, last_changelog, resp_changelog): list_titles_and_ids = news() - pattern = re.compile(r'Обновление скриптов (\d+)') + pattern = re.compile(r'Кумулятивное обновление скриптов (\d+)') def extract_number(title): match = pattern.search(title) @@ -406,7 +414,7 @@ async def check_discord_public(): for topic_id, topic_title in reversed(list_for_public): text_data = news_content(topic_id) if text_data: - content = f"----------------------------------------------------------\n### {topic_title}\t\n" + text_data + "\n" + content = f"----------------------------------------------------------\n### {topic_title}\t\n" + text_data + "\n" + "@here" # Разбиваем содержимое на части по 4000 символов for i in range(0, len(content), 2000): await channel.send(content[i:i+2000]) @@ -500,7 +508,7 @@ def check_vk_posts(): 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: + if "Кумулятивное обновление скриптов" in topic_title: # Пример добавления изображения с постом vk_post(url_vk_post, content, "photo-99238527_457244491") else: @@ -569,7 +577,7 @@ if __name__ == '__main__': # Выполняем задачу немедленно при старте run_job() - # Планируем выполнение задачи каждые 10 минут + # Планируем выполнение задачи каждые N минут schedule.every(30).minutes.do(run_job) logger.info("Запуск планировщика задач")