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): ...