feat(config): load reply templates, add defaults

This commit is contained in:
2026-07-29 17:33:53 +05:00
parent 23032924af
commit 440c1f27e3
3 changed files with 42 additions and 5 deletions
+11 -2
View File
@@ -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
+28 -3
View File
@@ -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:
+3
View File
@@ -0,0 +1,3 @@
:sigma: Это первое сообщение (стоило бы поменять в конфиге) || :catdance: Отправил звёзды || :animeyes2: Отправил
:sigma: Это второе сообщение (стоило бы поменять в конфиге) || :sadge: Тут может быть реклама || ​Реклама казика :animeyessir:
:sigma: Это третье сообщение (стоило бы поменять в конфиге)