Завершение модульной рефакторизации и исправления

Исправлены все основные проблемы:
- Исправлена логика фильтрации сообщений по топикам в Telegram
- Исправлен бесконечный цикл в VK клиенте get_wall_posts()
- Добавлена асинхронная поддержка для VK в главном файле
- Дедупликация работает корректно для всех платформ
- Добавлена полная документация в CLAUDE.md и README.md

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-11 15:11:39 +03:00
parent 188acdd812
commit 845f96209d
15 changed files with 569071 additions and 1 deletions

52
config.py Normal file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env python3
try:
import keys
except ImportError:
raise ImportError("Файл keys.py не найден. Создайте его с необходимыми конфигурационными параметрами.")
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"
HEADERS_SITE = {
"Content-Type": "application/json",
"Api-Key": keys.api_key_site,
"Api-Username": "linux-gaming"
}
PARAMS_VK_GET = {
'access_token': keys.user_token_vk,
'v': '5.199',
'owner_id': str(keys.own_id),
'count': str(100),
'offset': str(0),
'filter': 'all'
}
TELEGRAM_CONFIG = {
'api_id': keys.api_id_tg,
'api_hash': keys.api_hash_tg,
'session_file': 'LG_news',
'channel_username': keys.channel_username_tg,
'topic_id': getattr(keys, 'telegram_topic_id', None) # ID топика для публикации
}
VK_CONFIG = {
'api_key': keys.api_key_vk,
'user_token': keys.user_token_vk,
'owner_id': keys.own_id
}
SITE_CONFIG = {
'category_num': keys.cat_num,
'start_topic_id': keys.start_topic_id
}
DISCORD_CONFIG = {
'enabled': getattr(keys, 'discord_enabled', False),
'token': getattr(keys, 'discord_token', ''),
'channel_id': getattr(keys, 'dicord_channel', None)
}