对报错进行了修复, 新加几个装饰器,以及防撤回
This commit is contained in:
@@ -1,14 +1,21 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import asyncio
|
||||
import logging
|
||||
from abc import abstractmethod
|
||||
import logging
|
||||
from typing import Callable, Any
|
||||
from wcfauto.wcf import WcfV2 as Wcf
|
||||
from wcfauto.wcf import WxMsgV2 as WxMsg
|
||||
import asyncio
|
||||
|
||||
|
||||
class Event(object):
|
||||
_message_callback_func = {}
|
||||
_cbFunc = {}
|
||||
_loop_flag = False
|
||||
_thread_flag = False
|
||||
_inCache = False
|
||||
_message_callback_func_list = []
|
||||
_loop = asyncio.get_event_loop()
|
||||
_filter_cache = {}
|
||||
_kind_dict = {'async': {}, 'universal': {}}
|
||||
|
||||
def __init__(self):
|
||||
super(Event, self).__init__()
|
||||
@@ -16,18 +23,29 @@ class Event(object):
|
||||
self._logger: logging = logging.getLogger()
|
||||
|
||||
@abstractmethod
|
||||
def _add_callback(self, func, *args, **kwargs):
|
||||
def _add_callback(self,
|
||||
func: Callable[[Any], Any],
|
||||
bot: Wcf,
|
||||
kind: str,
|
||||
register_name: str,
|
||||
allow_other_rec: bool,
|
||||
judge_msg: Callable[[WxMsg], bool]):
|
||||
"""
|
||||
消息处理函数加载器
|
||||
:param func: 消息处理函数
|
||||
:param args: 消息处理函数参数
|
||||
:param kwargs: 消息处理函数参数
|
||||
:param func: 装饰器装饰的函数
|
||||
:param bot: Wcf类
|
||||
:param kind: 装饰器所处类别, 分为异步和同步
|
||||
:param register_name: 装饰器所处类别下的函数类名(主要区分不同装饰器的作用, 以及为其中的 allow_other_rec参数做准备)
|
||||
:param allow_other_rec: 是否允许消息分发到其他不同类名装饰器(该参数只对同一个类 kind中的不同函数类装饰器有效
|
||||
同步和异步装饰器属于互不干扰类型, 每个大类 kind中的参数只对该大类中的函数类装饰器有效)
|
||||
:param judge_msg: 判断是否为该装饰器所处理的消息的函数
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def _run_func(self):
|
||||
"""
|
||||
消息分发器, 将消息发送给所有消息处理函数
|
||||
消息分发器, 将消息发送给可接受消息的消息处理函数
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
Reference in New Issue
Block a user