2个版本
新 0.1.1 | 2024年8月20日 |
---|---|
0.1.0 | 2024年8月16日 |
#77 在 机器人学
125 每月下载量
在 2 个包中使用
56KB
1.5K SLoC
Oxidebot
Oxidebot 是一个基于 Rust 和 Tokio 运行时的轻量级且功能强大的聊天机器人框架。它旨在通过模块化设计为开发者提供一个灵活且可扩展的机器人开发环境。
可用机器人
- onebot_v11_oxidebot
- telegram_bot_oxidebot
示例用法
核心概念
机器人
Bot
是框架的核心组件,负责提供 Event
和为开发者提供基本 API 方法。它是框架与外部平台(如 QQ、Telegram 等)之间的桥梁。
事件
Event
是框架处理的对象,代表机器人收到的各种事件。事件类型包括
- MessageEvent:消息事件
- NoticeEvent:通知事件
- RequestEvent:请求事件
- MetaEvent:元事件
- AnyEvent:通用事件
匹配器
Matcher
是对 Bot
和 Event
的抽象,简化了事件处理和 API 调用。它提供了方便的方法从事件中提取关键信息(如用户、消息、群组)并轻松调用相关 API。
处理器
Handler
是事件处理的核心组件,分为两种类型
- EventHandler:处理传入的
Event
,仅在事件发生时触发。 - ActiveHandler:适用于主动处理场景,可以持续运行,执行计划任务或执行其他后台操作。
Handler
可以包含一个 EventHandler
或一个 ActiveHandler
,或者两者都包含。
过滤器
Filter
是一个全局事件过滤器,用于在事件到达 Handler
之前对其进行处理和拦截。Filter
的优先级高于 Handler
。
OxideBotManager
OxideBotManager
是框架的管理器,是启动和运行机器人的入口点。开发者在 main
函数的末尾应调用其 run_block
方法,以启动整个框架以及所有已注册的 Bot
、Filter
和 Handler
。
辅助工具
交互
Interaction
提供了一种类似于 dialoguer
的交互模式,支持更直观的事件处理和对话流程管理。它帮助开发者实现连续对话逻辑并提升用户体验。
许可
MIT 或 Apache-2.0
依赖
~8–20MB
~291K SLoC