Skip to content

配置

使用pydanticBaseModel,真香

作为配置使用

定义

from ayaka import AyakaConfig
# AyakaConfig 是 BaseModel 的子类

class Config(AyakaConfig):
    __config_dir__ = "testttt"
    __config_name__ = "我是配置"
    version:str = "1.0.0"
    greeting:str = "你好"
    reward:int = 20
    names:list[str] = []

你也可以这样定义

cat = AyakaCat("testttt")

class Config(cat.Config):
    __config_name__ = "我是配置"
    version:str = "1.0.0"
    greeting:str = "你好"
    reward:int = 20
    names:list[str] = []

加载与读取

# 从本地加载
config = Config()

# 读取
# do something
config.reward

配置将保存在data/testttt/我是配置.json

写入

配置文件可以在代码中动态修改,而非仅外部可修改

对于不可变对象

直接赋值,AyakaConfig自动将新值写入本地配置文件中

config.reward = 10000

对于可变对象

需要手动执行config.save方法,将新值写入本地配置文件中

config.names.append("oh no")
config.save()

作为持久化数据的手段

缓存数据在bot重启后会丢失,可以使用AyakaConfig来保存需要持久化的数据

不过,这可能会导致一些概念上的混乱,配置与数据混杂在一起并不是什么好事

当然对于数据量较小且多变的情况而言,使用AyakaConfig也是一种不错的选择

下一步

在这里~ ↘