From 7e85a1af4c8f9456a2249465fe2aece8497f0317 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 8 Aug 2026 04:03:32 +0500 Subject: [PATCH] refactor: streamline captcha and thread access --- config.py | 8 +++++--- modules/lolz.py | 2 +- modules/stars_bot.py | 14 +++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/config.py b/config.py index 7779420..0036b0a 100644 --- a/config.py +++ b/config.py @@ -51,14 +51,14 @@ class Config: default_captcha = ( f"[CENTER][B]Напишите ответ:[/B]\n" f"сколько будет 20 + 20? [I][COLOR=rgb(80, 80, 78)](Капча меняется раз в месяц)[/COLOR][/I][/CENTER]" - ) + ).strip() try: captcha = "" with open(file_path, "r", encoding="utf-8") as replies: captcha = replies.read() - return captcha if captcha else default_captcha + return captcha.strip() if captcha else default_captcha except FileNotFoundError: return default_captcha @@ -133,7 +133,9 @@ class Config: # Validate captcha configuration if enable_captcha and not captcha_answer: - raise ConfigError("ENABLE_CAPTCHA установлен, но CAPTCHA_ANSWER не задан") + raise ConfigError( + "ENABLE_CAPTCHA установлен, но CAPTCHA_ANSWER не задан" + ) return { # Pyrogram diff --git a/modules/lolz.py b/modules/lolz.py index f364541..d716962 100644 --- a/modules/lolz.py +++ b/modules/lolz.py @@ -71,7 +71,7 @@ class Lolz: logger.debug(f"Редактирую данные темы {thread_id}...") try: if post_body: - thread = await self.client.threads.get(thread_id=thread_id) + thread = await self.get_thread(thread_id=thread_id) # Чтобы отредактировать соддержимое темы - надо отредактировать первый пост post = thread.get("first_post", {}) diff --git a/modules/stars_bot.py b/modules/stars_bot.py index 33a078e..5dbc478 100644 --- a/modules/stars_bot.py +++ b/modules/stars_bot.py @@ -162,23 +162,27 @@ class TelegramStarsBot: return False try: - thread = await self.lolz_api.get_thread(thread_id=self.config.thread_id) - thread_text = thread.get("post_body", "") + thread = await self.lolz_api.get_thread( + thread_id=self.config.lolz_thread_id + ) + thread_text = thread["first_post"].get("post_body", "") # Check if captcha already exists in thread if "[spoiler=Капча" in thread_text: - logger.info(f"Капча уже существует в теме {self.config.thread_id}, пропускаю добавление.") + logger.info( + f"Капча уже существует в теме {self.config.lolz_thread_id}, пропускаю добавление." + ) return True captcha_wrapper = f"\n\n[spoiler=Капча (обязательно);align=center][CENTER]{captcha_text}[/CENTER][/spoiler]" thread_text += captcha_wrapper await self.lolz_api.edit_thread( - thread_id=self.config.thread_id, post_body=thread_text + thread_id=self.config.lolz_thread_id, post_body=thread_text ) logger.info( - f"Тема {self.config.thread_id} отредактирована. Текст с капчей добавлен" + f"Тема {self.config.lolz_thread_id} отредактирована. Текст с капчей добавлен" ) return True