iShotaBot/defs/glover.py
2024-10-30 00:05:59 +08:00

65 lines
2.3 KiB
Python

from configparser import RawConfigParser
from typing import Union, List
from distutils.util import strtobool
# [pyrogram]
api_id: int = 0
api_hash: str = ""
# [Basic]
ipv6: Union[bool, str] = "False"
# [post]
admin: int = 0
lofter_channel: int = 0
lofter_channel_username: str = ""
splash_channel: int = 0
splash_channel_username: str = ""
bilifav_id: int = 0
bilifav_channel: int = 0
bilifav_channel_username: str = ""
# [api]
amap_key: str = ""
bili_auth_user_str: str = ""
bili_auth_chat_str: str = ""
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)
admin = config.getint("post", "admin", fallback=admin)
lofter_channel = config.getint("post", "lofter_channel", fallback=lofter_channel)
lofter_channel_username = config.get(
"post", "lofter_channel_username", fallback=lofter_channel_username
)
splash_channel = config.getint("post", "splash_channel", fallback=splash_channel)
splash_channel_username = config.get(
"post", "splash_channel_username", fallback=splash_channel_username
)
bilifav_id = config.getint("post", "bilifav_id", fallback=bilifav_id)
bilifav_channel = config.getint("post", "bilifav_channel", fallback=bilifav_channel)
bilifav_channel_username = config.get(
"post", "bilifav_channel_username", fallback=bilifav_channel_username
)
amap_key = config.get("api", "amap_key", fallback=amap_key)
bili_auth_user_str = config.get("api", "bili_auth_user", fallback=bili_auth_user_str)
bili_auth_chat_str = config.get("api", "bili_auth_chat", fallback=bili_auth_chat_str)
try:
bili_auth_user: List[int] = list(map(int, bili_auth_user_str.split(",")))
bili_auth_chat: List[int] = list(map(int, bili_auth_chat_str.split(",")))
except ValueError:
bili_auth_user: List[int] = []
bili_auth_chat: List[int] = []
# bsky
bsky_username = config.get("bsky", "username", fallback="")
bsky_password = config.get("bsky", "password", fallback="")
# predict
predict_url = config.get("predict", "url", fallback="")
predict_token = config.get("predict", "token", fallback="")
try:
ipv6 = bool(strtobool(ipv6))
except ValueError:
ipv6 = False
def save_config():
config.write(open("config.ini", "w", encoding="utf-8"))