# -*- coding: UTF-8 -*- from helper import data_save, data_read, getlogger import os import traceback import re logger = getlogger(__name__) config_filename = 'permission.json' allow_msg_type = ('private', 'group') permissionList = {'private': {}, 'group': {}} legalPermissionList = {} #权限列表 res = data_read(config_filename) if res[0]: permissionList = res[2] for k1 in permissionList: for k2 in list(permissionList[k1].keys()): permissionList[k1][int(k2)] = permissionList[k1][k2] del permissionList[k1][k2] #权限名称是否合法 def perm_isLegalPerm(perm_group: str, perm_unit: str = None): #权限组与权限名,以字母开头,只能包含字母、数字与下划线 res = re.match(r'(([A-Za-z]{1}[A-Za-z0-9_]*)|\*)', perm_group) if res == None: #权限组验证不通过 return False if perm_unit != None: #以减号开头表示权限拒绝(优先于*号,-*的权限将拒绝所有) res = re.match(r'-?(([A-Za-z]{1}[A-Za-z0-9_]*)|\*)', perm_unit) if res == None: return False
os.makedirs(os.path.join(base_path, 'config')) if not os.path.exists(os.path.join(base_path, 'log')): os.makedirs(os.path.join(base_path, 'log')) import nonebot import module.twitterApi as tweetListener import traceback import time import asyncio import threading #配置 import config #日志输出 from helper import keepalive, getlogger, msgSendToBot logger = getlogger('START') ''' nonebot封装的CQHTTP插件 ''' def init(): allow_start_method = ('twitter_api', 'socket_api', 'twint') if config.UPDATA_METHOD not in allow_start_method: msg = '配置的更新检测(UPDATA_METHOD)方法不合法:' + str(config.UPDATA_METHOD) logger.critical(msg) raise Exception(msg) def reboot_tewwtlistener(): keepalive['reboot_tewwtlistener'] = False