Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/database/tables.py
2021-07-24 16:59:15 +08:00

58 lines
1.7 KiB
Python

import importlib
import os
from sqlalchemy import Column, Integer, String, Text, Time, TIMESTAMP, Boolean
from sqlalchemy.ext.declarative import declarative_base
from core.logger import Logger
Base = declarative_base()
class EnabledModules(Base):
"""已打开的模块"""
__tablename__ = "EnabledModules"
targetId = Column(String(512), primary_key=True)
enabledModules = Column(Text)
class SenderInfo(Base):
"""发送者信息"""
__tablename__ = "SenderInfo"
id = Column(String(512), primary_key=True)
isInBlackList = Column(Boolean, default=False)
isInWhiteList = Column(Boolean, default=False)
isSuperUser = Column(Boolean, default=False)
warns = Column(Integer, default='0')
class TargetAdmin(Base):
"""所属赋予的管理员"""
__tablename__ = "TargetAdmin"
id = Column(Integer, primary_key=True)
senderId = Column(String(512))
targetId = Column(String(512))
class CommandTriggerTime(Base):
"""命令触发时间"""
__tablename__ = "CommandTriggerTime"
TargetId = Column(String(512), primary_key=True)
CommandName = Column(TIMESTAMP, nullable=False)
load_dir_path = os.path.abspath('./modules/')
dir_list = os.listdir(load_dir_path)
fun_file = None
for file_name in dir_list:
file_path = f'{load_dir_path}/{file_name}'
fun_file = None
if os.path.isdir(file_path):
if file_name != '__pycache__':
tablesfile = f'{file_path}/tables.py'
if os.path.exists(tablesfile):
fun_file = f'{file_name}'
if fun_file is not None:
Logger.info(f'Loading modules.{fun_file}...')
modules = f'modules.{fun_file}.tables'
i = importlib.import_module(modules)