#chat-bot #bot #api-bindings

oxidebot

轻量级且功能强大的聊天机器人框架

2个版本

0.1.1 2024年8月20日
0.1.0 2024年8月16日

#77机器人学

Download history 125/week @ 2024-08-12

125 每月下载量
2 个包中使用

MIT/Apache

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 是对 BotEvent 的抽象,简化了事件处理和 API 调用。它提供了方便的方法从事件中提取关键信息(如用户、消息、群组)并轻松调用相关 API。

处理器

Handler 是事件处理的核心组件,分为两种类型

  • EventHandler:处理传入的 Event,仅在事件发生时触发。
  • ActiveHandler:适用于主动处理场景,可以持续运行,执行计划任务或执行其他后台操作。

Handler 可以包含一个 EventHandler 或一个 ActiveHandler,或者两者都包含。

过滤器

Filter 是一个全局事件过滤器,用于在事件到达 Handler 之前对其进行处理和拦截。Filter 的优先级高于 Handler

OxideBotManager

OxideBotManager 是框架的管理器,是启动和运行机器人的入口点。开发者在 main 函数的末尾应调用其 run_block 方法,以启动整个框架以及所有已注册的 BotFilterHandler

辅助工具

交互

Interaction 提供了一种类似于 dialoguer 的交互模式,支持更直观的事件处理和对话流程管理。它帮助开发者实现连续对话逻辑并提升用户体验。

许可

MIT 或 Apache-2.0

依赖

~8–20MB
~291K SLoC