feat(config): load reply templates, add defaults
This commit is contained in:
+11
-2
@@ -1,14 +1,23 @@
|
|||||||
API_ID=
|
# Значения для клиента Telegram Desktop, ставятся по умолчанию
|
||||||
API_HASH=
|
# Не рекомендуется оставлять, лучше использовать API_ID и API_HASH от
|
||||||
|
# аккаунта с которого будет воспроизведен вход
|
||||||
|
API_ID=2040
|
||||||
|
API_HASH=b18441a1ff607e10a989891a5462e627
|
||||||
|
|
||||||
LOLZ_TOKEN=
|
LOLZ_TOKEN=
|
||||||
LOLZ_THREAD_ID=
|
LOLZ_THREAD_ID=
|
||||||
|
|
||||||
STARS_COUNT=1
|
STARS_COUNT=1
|
||||||
|
|
||||||
|
# 1 - Начать мониторинг
|
||||||
|
# 2 - Спарсить все существующие посты
|
||||||
|
DEFAULT_CHOICE=2
|
||||||
|
START_PAGE=1
|
||||||
|
|
||||||
CHECK_INTERVAL=30
|
CHECK_INTERVAL=30
|
||||||
API_DELAY=5
|
API_DELAY=5
|
||||||
MAX_RETRIES=3
|
MAX_RETRIES=3
|
||||||
|
|
||||||
ENABLE_REPLY=true
|
ENABLE_REPLY=true
|
||||||
SKIP_COMMENTED=true
|
SKIP_COMMENTED=true
|
||||||
|
|
||||||
|
|||||||
@@ -10,15 +10,34 @@ logger = logging.getLogger(__name__)
|
|||||||
class Config:
|
class Config:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._config_data = self._load()
|
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):
|
def _load(self):
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Pyrogram
|
# Pyrogram
|
||||||
api_id = os.getenv(key="API_ID", default=None)
|
api_id = int(os.getenv(key="API_ID", default=2040))
|
||||||
api_hash = os.getenv(key="API_HASH", default=None)
|
api_hash = os.getenv(
|
||||||
|
key="API_HASH", default="b18441a1ff607e10a989891a5462e627"
|
||||||
|
)
|
||||||
|
|
||||||
# Lolz
|
# Lolz
|
||||||
lolz_token = os.getenv(key="LOLZ_TOKEN", defualt=None)
|
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))
|
stars_count = int(os.getenv(key="STARS_COUNT", defualt=1))
|
||||||
|
|
||||||
# Misc
|
# 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(
|
check_interval = max(
|
||||||
int(os.getenv(key="CHECK_INTERVAL", defualt=30)), 0.2
|
int(os.getenv(key="CHECK_INTERVAL", defualt=30)), 0.2
|
||||||
) # 300r/60s для GET запросов, 60/300 = минимум
|
) # 300r/60s для GET запросов, 60/300 = минимум
|
||||||
@@ -53,11 +75,14 @@ class Config:
|
|||||||
# Stars
|
# Stars
|
||||||
"stars_count": stars_count,
|
"stars_count": stars_count,
|
||||||
# Misc
|
# Misc
|
||||||
|
"default_choice": default_choice,
|
||||||
|
"start_page": start_page,
|
||||||
"check_interval": check_interval,
|
"check_interval": check_interval,
|
||||||
"api_delay": api_delay,
|
"api_delay": api_delay,
|
||||||
"max_retries": max_retries,
|
"max_retries": max_retries,
|
||||||
"enable_reply": enable_reply,
|
"enable_reply": enable_reply,
|
||||||
"skip_commented": skip_commented,
|
"skip_commented": skip_commented,
|
||||||
|
"reply_templates": self._load_replies(),
|
||||||
}
|
}
|
||||||
|
|
||||||
except:
|
except:
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
:sigma: Это первое сообщение (стоило бы поменять в конфиге) || :catdance: Отправил звёзды || :animeyes2: Отправил
|
||||||
|
:sigma: Это второе сообщение (стоило бы поменять в конфиге) || :sadge: Тут может быть реклама || Реклама казика :animeyessir:
|
||||||
|
:sigma: Это третье сообщение (стоило бы поменять в конфиге)
|
||||||
|
|||||||
Reference in New Issue
Block a user