(self, *event_names: str)
return deco
注册事件处理前的钩子函数，用作装饰器，例如：

        ```py
        @bot.before('notice.group_decrease', 'notice.group_increase')
        async def hook(event):
            pass
        ```

        参数为要注册的事件名，格式是点号分割的各级事件类型，见 `Event.name`。

        钩子函数的注册方法和事件处理函数几乎完全一致，只需将 ``on`` 改为 ``before``。

        各级 before 钩子函数全部运行完成后，才会运行事件处理函数。
注册事件处理前的钩子函数，用作装饰器，例如：
注册事件处理前的钩子函数，用作装饰器，例如：
def before(self, *event_names: str) -> Callable:
        """
        注册事件处理前的钩子函数，用作装饰器，例如：

        ```py
        @bot.before('notice.group_decrease', 'notice.group_increase')
        async def hook(event):
            pass
        ```

        参数为要注册的事件名，格式是点号分割的各级事件类型，见 `Event.name`。

        钩子函数的注册方法和事件处理函数几乎完全一致，只需将 ``on`` 改为 ``before``。

        各级 before 钩子函数全部运行完成后，才会运行事件处理函数。
        """

        def deco(func: Callable) -> Callable:
            for name in event_names:
                self.hook_before(name, func)
            return func

        return deco
def before ( self , * event_names : str ) -> Callable : def deco ( func : Callable ) -> Callable : for name in event_names : self . hook_before ( name , func ) return func return deco