Manager
模块
Hyper.Adapters.OneBotLib.Comm
Message
类
class Message:
def __init__(self, contents: list = None, *args): ...
def add(self, content) -> None: ... # 添加消息段
async def get(self) -> list: ... # 获取消息内容,异步
def get_sync(self) -> list: ... # 获取消息内容,非异步
Message
类的__init__()
方法只有content
一个参数,其 list
中储存的类型应为消息段。
在 2024 年 8 月 4 日 更新后,您可以将消息段直接作为参数传入。
Message
类可以被直接转化为str
类型。
Ret
类
import Hyper.Utils.TypeExt
class Ret:
status: str
ret_code: int
data: ... # 每一个 API 返回的该类型均不同
echo: str | None
def fetch(self, echo: str) -> "Ret": ...
Logic.ObjectedDict
:
class ObjectedDict:
def __init__(self, content: dict = None): ...
def __getattr__(self, attr): ...
def __setattr__(self, attr, value): ...
def __getitem__(self, item): ...
def __setitem__(self, key, value): ...
def __str__(self) -> str: ...
Segments
模块
Hyper.Segments
segment_builder
方法和 SegmentBase
类
class SegmentBase:
def __init__(self, *args, **kwargs): ...
def to_json(self) -> dict: ...
def __str__(self) -> str: return "__not_set__"
允许通过如下方式创建一个新的消息段:
class Text(SegmentBase, st="text", su="<text>"):
text: str
以上示例注册了OneBot标准中的text
消息段,"<text>"
意味着在被转换为str
类型时,结果将为变量text
的值。
Segements
类下其余类均为按照 OneBot v11 标准的消息段。
Events
模块
Hyper.Events
EventManager
类和 em
class EventManager:
def reg(self, type_of: str, str_eql: str) -> callable: ...
em = EventManager()
em
已经将 EventManager
对象化,不要再次建立这一对象。
reg
方法用于注册新事件,以下是一个示例:
class Event: ...
class NoticeEvent(Event): ...
@em.reg("notice", "group_upload")
class GroupFileUploadEvent(NoticeEvent):
def __init__(self, data: dict):
super().__init__(data)
self.file = data.get("file")
self.print_log()
def print_log(self) -> None: ...
如上代码注册了 OneBot v11 标准规定的 group_upload
事件,post_type
为其他值的事件的操作方法亦如此。
Event
类及其子类
class Event: ...
class MessageEvent(Event): ...
class NoticeEvent(Event): ...
class RequestEvent(Event): ...
类的定义基本遵照 OneBot v11 标准,具体的事件分别继承对应的父类。
gen_message
方法
def gen_message(data: dict) -> Comm.Message: ...
该方法接收由 OneBot 实现上报的 array
格式的消息并将其转换为 HypeR Bot 的标准消息类。
Events
类下其余类均为按照 OneBot v11 标准的事件类型,类名可能有所差异。
Listener
模块
Hyper.Listener
、Hyper.Adapters.OneBot
Actions
类
class Actions:
...
Actions
类下为 遵照 OneBot v11 标准定义的 API。若您需要的 API 没有被定义,您可以调用自定义 API :
echo = actions.custom.capi(
arg1=...,
arg2=...
)
result = Comm.Ret.fetch(echo)
以上代码将请求 capi
这一自定义 API。
reg
方法
这是一个装饰器
def reg(func: callable): ...
reg
方法将 func
注册为 HypeR Bot 的 handler
:
@Listener.reg
async def handler(event: Events.Event, actions: Listener.Actions) -> None: ...
除非您通过 pip
等包管理器安装 HypeR Bot 并准备制作一个轻量的个人项目,否则您不应当使用该方法。
run
方法
def run(): ...
在完成 handler
的注册后运行该方法将启动 HypeR Bot。您可以通过 Ctrl
+ C
结束 HypeR Bot。
同样,除非您通过 pip
等包管理器安装 HypeR Bot 并准备制作一个轻量的个人项目,否则您不应当使用该方法。
ModuleClass
模块
Hyper.ModuleClass
ModuleInfo
类
@dataclasses.dataclass
class ModuleInfo:
is_hidden: bool = True
module_name: str = "None"
author: str = "None"
version: str = "0.0"
desc: str = "None"
helps: str = "None"
Module
类
该类为 HypeR Bot 各消息处理模块的父类
class Module:
def __init__(self, actions, event): ...
async def handle(self): ...
@staticmethod
def info() -> ModuleInfo: ...
其他
Logic.py
class Cacher:
def __init__(self, cache_time: int = 5): ...
def cache(self, func): ... # 装饰器
def cache_async(self, func): ... # 装饰器
class ErrorHandler:
def __init__(self, level=Logger.levels.ERROR, retries: int = 0): ...
def handle(self, func): ... # 装饰器
def handle_async(self, func): ... # 装饰器
def auto_retry(self, func): ... # 装饰器
def auto_retry_async(self, func): ... # 装饰器
...
Logger.py
class Levels: ...
levels = Levels()
class Logger:
def __init__(self): ...
def set_level(self, level: str): ...
def log(self, message: str, level: str = levels.INFO): ...