跳到主要内容

Robot 机器人框架概述

EasyBot 机器人框架提供了完整的即时通讯机器人开发接口,包括消息处理、事件监听、适配器操作等功能。

框架组成

机器人框架由以下几个核心部分组成:

📝 数据模型 (Models)

  • UserProfile - 用户基本信息
  • MemberInfo - 群成员详细信息
  • RobotProfile - 机器人基本信息

💬 消息系统

  • MessageChain - 消息链容器,支持流式构建
  • Segment - 消息片段基类和各种具体实现

🧩 消息片段 (Segments)

  • TextSegment - 纯文本片段
  • AtSegment - @用户片段
  • ImageSegment - 图片片段
  • FaceSegment - 表情片段
  • ReplySegment - 回复引用片段

🔌 适配器接口 (Adapter Context)

  • IAdapterContext - 适配器上下文接口
  • 消息发送、用户信息获取、群组操作等核心功能

📡 事件系统 (Events)

  • 消息事件 - 群消息、私聊消息
  • 群组事件 - 成员加入、离开、加群请求
  • 机器人事件 - 上线、掉线状态

快速开始

基础消息处理

// 监听群消息
bus.on("group_message_event", (event) => {
if (event.RawMessage === "hello") {
event.Context.Reply(new MessageChain().Text("Hello!"));
}
});

// 监听私聊消息
bus.on("direct_message_event", (event) => {
if (event.RawMessage === "help") {
event.Context.Reply(new MessageChain().Text("这是帮助信息"));
}
});

复杂消息构建

const chain = new MessageChain()
.Text("欢迎新成员 ")
.At("123456789")
.Text(" 加入群聊!")
.NextLine()
.Image("https://example.com/welcome.jpg")
.Face(1);

await context.SendGroupMessageAsync(selfId, groupId, chain);

群组管理

bus.on("group_join_event", (event) => {
const welcome = new MessageChain()
.Text("欢迎 ")
.At(event.Id)
.Text(" 加入群聊!");

event.Context.Reply(welcome);
});

核心概念

事件驱动

机器人框架采用事件驱动架构,通过监听不同类型的事件来响应用户操作和系统状态变化。

消息链

消息链是构建复杂消息的核心机制,支持文本、图片、@用户等多种内容类型的组合。

适配器模式

通过适配器接口抽象不同平台的API差异,提供统一的编程接口。

异步操作

所有网络操作都是异步的,使用 Promise 和 async/await 模式。

最佳实践

  1. 错误处理: 使用 try-catch 处理异步操作
  2. 权限检查: 在执行管理操作前检查用户权限
  3. 消息验证: 验证消息内容和格式
  4. 性能优化: 避免在事件处理中执行耗时操作
  5. 日志记录: 记录重要操作和错误信息

相关文档