summaryrefslogtreecommitdiff
path: root/ATRI/config.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2021-04-05 16:01:22 +0800
committerKyomotoi <[email protected]>2021-04-05 16:01:22 +0800
commit15dfd75ce84235b07b845fdfb42e269002b92c01 (patch)
treeb27a1aa34d3f9f0dfffd579b62ed2b011986577a /ATRI/config.py
parent64a991e035e52e0a17e73d4e671a22ea9a7489da (diff)
downloadATRI-15dfd75ce84235b07b845fdfb42e269002b92c01.tar.gz
ATRI-15dfd75ce84235b07b845fdfb42e269002b92c01.tar.bz2
ATRI-15dfd75ce84235b07b845fdfb42e269002b92c01.zip
✨🐛⚡️ 一些修改
新增:转发信息伪造 新增:关键词回复/添加/删除(待更新) 新增:涩图检测(部署方式待更新) 新增:使用方法 新增:ATRI语加密/解密 新增:注入检测 新增:部分命令频率限制 移除:群垃圾检测 优化:提升了部分代码可读性 优化:对 Service 部分代码进行重构
Diffstat (limited to 'ATRI/config.py')
-rw-r--r--ATRI/config.py77
1 files changed, 45 insertions, 32 deletions
diff --git a/ATRI/config.py b/ATRI/config.py
index caff717..07493e4 100644
--- a/ATRI/config.py
+++ b/ATRI/config.py
@@ -1,45 +1,58 @@
-#!/usr/bin/env python3
-# -*- coding:utf-8 -*-
-'''
-File: config.py
-Created Date: 2021-02-02 16:43:54
-Author: Kyomotoi
-License: GPLv3
-Project: https://github.com/Kyomotoi/ATRI
---------
-Last Modified: Sunday, 7th March 2021 2:31:06 pm
-Modified By: Kyomotoi ([email protected])
---------
-Copyright (c) 2021 Kyomotoi
-'''
-
from pathlib import Path
from datetime import timedelta
from ipaddress import IPv4Address
+from pydantic import BaseConfig
+
from .utils.yaml import load_yml
CONFIG_PATH = Path('.') / 'config.yml'
config = load_yml(CONFIG_PATH)
-nonebot_config = config['BotSelfConfig']
+
+
+class Config(BaseConfig):
+ class BotSelfConfig:
+ config: dict = config['BotSelfConfig']
+
+ host: IPv4Address = IPv4Address(config.get('host', '127.0.0.1'))
+ port: int = int(config.get('port', 8080))
+ debug: bool = bool(config.get('debug', False))
+ superusers: set = set(config.get('superusers', ['1234567890']))
+ nickname: set = set(
+ config.get('nickname', ['ATRI', 'Atri', 'atri', '亚托莉', 'アトリ']))
+ command_start: set = set(config.get('command_start', ['']))
+ command_sep: set = set(config.get('command_sep', ['.']))
+ session_expire_timeout: timedelta = timedelta(
+ config.get('session_expire_timeout', 2))
+
+ class NetworkPost:
+ config: dict = config['NetworkPost']
+
+ host: str = config.get('host', '127.0.0.1')
+ port: int = int(config.get('port', 8081))
+
+ class AdminPage:
+ config: dict = config['AdminPage']
+
+ host: str = config.get('host', '127.0.0.1')
+ port: int = int(config.get('port', 8082))
+
+ class NsfwCheck:
+ config: dict = config['NsfwCheck']
+
+ enabled: bool = bool(config.get('enabled', False))
+ host: str = config.get('host', '127.0.0.1')
+ port: int = int(config.get('port', 5000))
RUNTIME_CONFIG = {
- "host": IPv4Address(nonebot_config.get('host', '127.0.0.1')),
- "port": int(nonebot_config.get('port', '8080')),
- "debug": bool(nonebot_config.get('debug', False)),
- "superusers": set(nonebot_config.get('superusers', ["1234567890"])),
- "nickname": set(
- nonebot_config.get(
- 'nickname',
- ['ATRI', 'Atri', 'atri', '亚托莉', 'アトリ']
- )
- ),
- "command_start": set(nonebot_config.get('command_start', ['', '/'])),
- "command_sep": set(nonebot_config.get('command_sep', ['.'])),
- "session_expire_timeout": timedelta(
- nonebot_config.get('session_expire_timeout', 2)
- )
+ "host": Config.BotSelfConfig.host,
+ "port": Config.BotSelfConfig.port,
+ "debug": Config.BotSelfConfig.debug,
+ "superusers": Config.BotSelfConfig.superusers,
+ "nickname": Config.BotSelfConfig.nickname,
+ "command_start": Config.BotSelfConfig.command_start,
+ "command_sep": Config.BotSelfConfig.command_sep,
+ "session_expire_timeout": Config.BotSelfConfig.session_expire_timeout
}