diff --git a/.env.example b/.env.example index 9759193..32551cb 100644 --- a/.env.example +++ b/.env.example @@ -1,14 +1,23 @@ -API_ID= -API_HASH= +# Значения для клиента Telegram Desktop, ставятся по умолчанию +# Не рекомендуется оставлять, лучше использовать API_ID и API_HASH от +# аккаунта с которого будет воспроизведен вход +API_ID=2040 +API_HASH=b18441a1ff607e10a989891a5462e627 LOLZ_TOKEN= LOLZ_THREAD_ID= STARS_COUNT=1 +# 1 - Начать мониторинг +# 2 - Спарсить все существующие посты +DEFAULT_CHOICE=2 +START_PAGE=1 + CHECK_INTERVAL=30 API_DELAY=5 MAX_RETRIES=3 ENABLE_REPLY=true SKIP_COMMENTED=true + diff --git a/config.py b/config.py index d1c9a27..da010b7 100644 --- a/config.py +++ b/config.py @@ -10,15 +10,34 @@ logger = logging.getLogger(__name__) class Config: def __init__(self): self._config_data = self._load() - logger.success("Конфигурация успешно загружена.") + logger.info("Конфигурация успешно загружена.") + + def _load_replies(self, file_path: str = "replies.txt"): + try: + reply_lines = [] + with open(file_path, "r", encoding="utf-8") as replies: + lines = replies.readlines() + + for line_index, line in enumerate(lines): + if " || " in line: + options = line.split(" || ") + else: + options = [line] + + reply_lines[line_index] = options + + except: + return [["✓"]] def _load(self): load_dotenv() try: # Pyrogram - api_id = os.getenv(key="API_ID", default=None) - api_hash = os.getenv(key="API_HASH", default=None) + api_id = int(os.getenv(key="API_ID", default=2040)) + api_hash = os.getenv( + key="API_HASH", default="b18441a1ff607e10a989891a5462e627" + ) # Lolz lolz_token = os.getenv(key="LOLZ_TOKEN", defualt=None) @@ -28,6 +47,9 @@ class Config: stars_count = int(os.getenv(key="STARS_COUNT", defualt=1)) # Misc + default_choice = int(os.getenv(key="DEFAULT_CHOICE", defualt=2)) + start_page = max(int(os.getenv(key="START_PAGE", defualt=1)), 1) + check_interval = max( int(os.getenv(key="CHECK_INTERVAL", defualt=30)), 0.2 ) # 300r/60s для GET запросов, 60/300 = минимум @@ -53,11 +75,14 @@ class Config: # Stars "stars_count": stars_count, # Misc + "default_choice": default_choice, + "start_page": start_page, "check_interval": check_interval, "api_delay": api_delay, "max_retries": max_retries, "enable_reply": enable_reply, "skip_commented": skip_commented, + "reply_templates": self._load_replies(), } except: diff --git a/replies.txt b/replies.txt index e69de29..2782ed6 100644 --- a/replies.txt +++ b/replies.txt @@ -0,0 +1,3 @@ +:sigma: Это первое сообщение (стоило бы поменять в конфиге) || :catdance: Отправил звёзды || :animeyes2: Отправил +:sigma: Это второе сообщение (стоило бы поменять в конфиге) || :sadge: Тут может быть реклама || ​Реклама казика :animeyessir: +:sigma: Это третье сообщение (стоило бы поменять в конфиге)