Небольшие исправления
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,4 @@
|
|||||||
.fleet
|
.fleet
|
||||||
__pycache__
|
__pycache__
|
||||||
keys.py
|
keys*.py
|
||||||
vkdel.py
|
vkdel.py
|
64
news-bot.py
64
news-bot.py
@@ -35,7 +35,7 @@ params_get = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(logging.INFO)
|
logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
handler = colorlog.StreamHandler()
|
handler = colorlog.StreamHandler()
|
||||||
handler.setFormatter(colorlog.ColoredFormatter(
|
handler.setFormatter(colorlog.ColoredFormatter(
|
||||||
@@ -304,7 +304,8 @@ async def get_discord_messages(client, channel_id):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
messages = []
|
messages = []
|
||||||
async for message in channel.history(limit=999999):
|
async for message in channel.history(limit=999):
|
||||||
|
logging.debug(message)
|
||||||
messages.append(message.content)
|
messages.append(message.content)
|
||||||
pattern = re.compile(r'----------------------------------------------------------\n### (.*?)\t\n', re.DOTALL)
|
pattern = re.compile(r'----------------------------------------------------------\n### (.*?)\t\n', re.DOTALL)
|
||||||
for message in messages:
|
for message in messages:
|
||||||
@@ -331,28 +332,29 @@ def check_discord_public():
|
|||||||
list_for_public = []
|
list_for_public = []
|
||||||
|
|
||||||
for topic_id, topic_title in list_titles_and_ids:
|
for topic_id, topic_title in list_titles_and_ids:
|
||||||
if topic_title not in discord_messages:
|
if topic_title not in discord_messages and topic_id > 693:
|
||||||
list_for_public.append((topic_id, topic_title))
|
list_for_public.append((topic_id, topic_title))
|
||||||
|
|
||||||
if not list_for_public:
|
if not list_for_public:
|
||||||
logging.info(f"Новостей для публикации в дискорд нет")
|
logging.info(f"Новостей для публикации в дискорд нет")
|
||||||
await client.close()
|
await client.close()
|
||||||
else:
|
else:
|
||||||
logging.info(f"Новости для публикации в дискорд: {list_for_public}")
|
logging.info(f"Новости для публикации в дискорд: {list_for_public}")
|
||||||
|
channel = client.get_channel(channel_id)
|
||||||
|
if not channel:
|
||||||
|
logging.error(f"ID канала Discord {channel_id} не существует")
|
||||||
|
await client.close()
|
||||||
|
return
|
||||||
|
|
||||||
channel = client.get_channel(channel_id)
|
for topic_id, topic_title in reversed(list_for_public):
|
||||||
if not channel:
|
text_data = news_content(topic_id)
|
||||||
logging.error(f"ID канала Discord {channel_id} не существует")
|
if text_data:
|
||||||
await client.close()
|
content = f"----------------------------------------------------------\n### {topic_title}\t\n" + text_data + "\n"
|
||||||
return
|
# Разбиваем содержимое на части по 4000 символов
|
||||||
|
for i in range(0, len(content), 2000):
|
||||||
for topic_id, topic_title in reversed(list_for_public):
|
await channel.send(content[i:i+2000])
|
||||||
text_data = news_content(topic_id)
|
|
||||||
if text_data:
|
|
||||||
content = f"----------------------------------------------------------\n### {topic_title}\t\n" + text_data + "\n"
|
|
||||||
# Разбиваем содержимое на части по 4000 символов
|
|
||||||
for i in range(0, len(content), 2000):
|
|
||||||
await channel.send(content[i:i+2000])
|
|
||||||
await client.close()
|
await client.close()
|
||||||
|
|
||||||
client.run(keys.discord_token)
|
client.run(keys.discord_token)
|
||||||
|
|
||||||
|
|
||||||
@@ -428,24 +430,28 @@ def check_vk_posts():
|
|||||||
# Сравнение заголовков с текстами постов
|
# Сравнение заголовков с текстами постов
|
||||||
if not any(topic_title in vk_posts for vk_posts in vk_posts):
|
if not any(topic_title in vk_posts for vk_posts in vk_posts):
|
||||||
list_for_public.append((topic_id, topic_title))
|
list_for_public.append((topic_id, topic_title))
|
||||||
|
|
||||||
if not list_for_public:
|
if not list_for_public:
|
||||||
logging.info(f"Новостей для публикации в ВК нет")
|
logging.info(f"Новостей для публикации в ВК нет")
|
||||||
else:
|
else:
|
||||||
logging.info(f"Новости для публикации в ВК: {list_for_public}")
|
|
||||||
for topic_id, topic_title in reversed(list_for_public):
|
for topic_id, topic_title in reversed(list_for_public):
|
||||||
text_data = news_content(topic_id)
|
if topic_id > 693:
|
||||||
if text_data:
|
logging.info(f"Новости для публикации в ВК: {list_for_public}")
|
||||||
content = f"----------------------------------------------------------\n{topic_title}\t\n" + text_data + "\n"
|
text_data = news_content(topic_id)
|
||||||
content = remove_markdown_links(content)
|
if text_data:
|
||||||
links = extract_links(content)
|
content = f"----------------------------------------------------------\n{topic_title}\t\n" + text_data + "\n"
|
||||||
if "Обновление скриптов" in topic_title:
|
content = remove_markdown_links(content)
|
||||||
# Пример добавления изображения с постом
|
links = extract_links(content)
|
||||||
vk_post(url_vk_post, content, "photo-99238527_457244491")
|
if "Обновление скриптов" in topic_title:
|
||||||
else:
|
# Пример добавления изображения с постом
|
||||||
if links:
|
vk_post(url_vk_post, content, "photo-99238527_457244491")
|
||||||
vk_post(url_vk_post, content, links)
|
|
||||||
else:
|
else:
|
||||||
vk_post(url_vk_post, content)
|
if links:
|
||||||
|
vk_post(url_vk_post, content, links)
|
||||||
|
else:
|
||||||
|
vk_post(url_vk_post, content)
|
||||||
|
else:
|
||||||
|
logging.info(f"Новостей для публикации в ВК нет")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Reference in New Issue
Block a user