Исправление цикла для ВК и небольшие правки

This commit is contained in:
2024-08-06 20:23:25 +03:00
parent bc22a8a129
commit 9483aad1fa

View File

@@ -136,11 +136,10 @@ def html_to_text(html_content):
# Перемещение ссылки на изображение в конец последней строки
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
if image_link in markdown_text:
# Удаляем строку с изображением из текста
markdown_text = markdown_text.replace(image_link, '')
markdown_text = markdown_text + image_link
logging.debug(f"Текст после обработки {markdown_text}")
return markdown_text
@@ -368,7 +367,7 @@ async def get_discord_messages(client_discord, channel_id):
return []
messages = []
async for message in channel.history(limit=999):
async for message in channel.history(limit=100):
logging.debug(message)
messages.append(message.content)
pattern = re.compile(r'----------------------------------------------------------\n### (.*?)\t\n', re.DOTALL)
@@ -417,6 +416,7 @@ async def check_discord_public():
# Разбиваем содержимое на части по 4000 символов
for i in range(0, len(content), 2000):
await channel.send(content[i:i+2000])
time.sleep(1.0)
await client_discord.close()
await client_discord.start(keys.discord_token)
@@ -429,12 +429,15 @@ def vk_post(url, post_text, links=None):
'owner_id': str(keys.own_id)
# Дополнительные параметры можно добавить здесь
}
post_text = re.sub(r'\* ', '', post_text)
print(post_text)
post_text = re.sub(r'', '', post_text)
post_text = re.sub(r'', '', post_text)
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, data=data)
@@ -507,6 +510,7 @@ def check_vk_posts():
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:
@@ -519,7 +523,7 @@ def check_vk_posts():
vk_post(url_vk_post, content)
else:
logging.warning(f"Не удалось получить текст новости {topic_id}")
break
time.sleep(1.0)
else:
logging.warning(f"Новостей для публикации в ВК нет")
@@ -533,7 +537,7 @@ def tg_post(post_text, client_tg):
async def get_tg_messages(client_tg, channel_username_tg):
messages = []
async for message in client_tg.iter_messages(channel_username_tg, limit=999):
async for message in client_tg.iter_messages(channel_username_tg, limit=100):
if message.text: # Проверка на NoneType
logging.debug(f"Найдены сообщения в Telegram канале {message.text}")
messages.append(message.text)
@@ -569,7 +573,8 @@ async def check_tg_news():
break
except FloodWaitError as e:
logging.warning(f"Flood wait error: нужно подождать {e.seconds} секунд.")
await asyncio.sleep(e.seconds) # Ждем указанное время перед повторной попыткой
await asyncio.sleep(e.seconds) # Ждем
time.sleep(1.0)# указанное время перед повторной попыткой
def run_job():