2022-12-22 14:18:43 +00:00
|
|
|
from configparser import RawConfigParser
|
|
|
|
from typing import Union
|
2024-02-18 15:46:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
def strtobool(val, default=False):
|
|
|
|
"""Convert a string representation of truth to true (1) or false (0).
|
|
|
|
|
|
|
|
True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values
|
|
|
|
are 'n', 'no', 'f', 'false', 'off', and '0'. Raises ValueError if
|
|
|
|
'val' is anything else.
|
|
|
|
"""
|
|
|
|
if val is None:
|
|
|
|
return default
|
|
|
|
val = val.lower()
|
|
|
|
if val in ("y", "yes", "t", "true", "on", "1"):
|
|
|
|
return 1
|
|
|
|
elif val in ("n", "no", "f", "false", "off", "0"):
|
|
|
|
return 0
|
|
|
|
else:
|
|
|
|
print("[Degrade] invalid truth value %r" % (val,))
|
|
|
|
return default
|
|
|
|
|
2022-12-22 14:18:43 +00:00
|
|
|
|
|
|
|
# [pyrogram]
|
|
|
|
api_id: int = 0
|
|
|
|
api_hash: str = ""
|
|
|
|
# [Basic]
|
|
|
|
ipv6: Union[bool, str] = "False"
|
2023-07-21 14:00:49 +00:00
|
|
|
cache_uri: str = "mem://"
|
2023-08-07 12:48:02 +00:00
|
|
|
sentry_dsn: str = ""
|
2022-12-22 14:18:43 +00:00
|
|
|
# [misskey]
|
2023-01-27 12:36:41 +00:00
|
|
|
web_domain: str = ""
|
2022-12-22 14:18:43 +00:00
|
|
|
admin: int = 0
|
|
|
|
|
|
|
|
config = RawConfigParser()
|
|
|
|
config.read("config.ini")
|
|
|
|
api_id = config.getint("pyrogram", "api_id", fallback=api_id)
|
|
|
|
api_hash = config.get("pyrogram", "api_hash", fallback=api_hash)
|
|
|
|
ipv6 = config.get("basic", "ipv6", fallback=ipv6)
|
2023-07-21 14:00:49 +00:00
|
|
|
cache_uri = config.get("basic", "cache_uri", fallback=cache_uri)
|
2023-08-07 12:48:02 +00:00
|
|
|
sentry_dsn = config.get("basic", "sentry_dsn", fallback=sentry_dsn)
|
2023-01-27 12:36:41 +00:00
|
|
|
web_domain = config.get("misskey", "web_domain", fallback=web_domain)
|
2022-12-22 14:18:43 +00:00
|
|
|
admin = config.getint("misskey", "admin", fallback=admin)
|
|
|
|
try:
|
2023-07-20 14:21:37 +00:00
|
|
|
ipv6 = bool(strtobool(ipv6))
|
2022-12-22 14:18:43 +00:00
|
|
|
except ValueError:
|
|
|
|
ipv6 = False
|