- 在 message_sending.py 中引入了 95MB 的最大消息大小限制,以防止连接中断。 - 为超出大小限制的消息添加了调试和错误日志记录。 - 增强了 meta_event_handler.py 中的心跳处理,提供了更详细的机器人状态日志。 - 重构了 notice_handler.py 中的表情符号处理,使用集中式 qq_face 映射代替硬编码值。 - 更新了 qq_emoji_list.py 以修正格式并添加新的表情符号映射。 - 改进了 main_send_handler.py 中的命令处理,以便向平台发送结构化响应。 - 扩展了 send_command_handler.py 中的命令处理,添加了用于设置组名和管理组成员的新命令。 - 增强了 send_message_handler.py 中的文件消息处理,以支持文件路径和详细的文件信息。 |
||
|---|---|---|
| .devcontainer | ||
| .github/workflows | ||
| src | ||
| template | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| command_args.md | ||
| main.py | ||
| notify_args.md | ||
| pyproject.toml | ||
| requirements.txt | ||
| uv.lock | ||
README.md
MaiBot 与 Napcat 的 Adapter
运行方式:独立/放在MaiBot本体作为插件
使用说明
请参考官方文档
消息流转过程
sequenceDiagram
participant Napcat as Napcat客户端
participant Adapter as MaiBot-Napcat适配器
participant Queue as 消息队列
participant Handler as 消息处理器
participant MaiBot as MaiBot服务
Note over Napcat,MaiBot: 初始化阶段
Napcat->>Adapter: WebSocket连接(ws://localhost:8095)
Adapter->>MaiBot: WebSocket连接(ws://localhost:8000)
Note over Napcat,MaiBot: 心跳检测
loop 每30秒
Napcat->>Adapter: 发送心跳包
Adapter->>Napcat: 心跳响应
end
Note over Napcat,MaiBot: 消息处理流程
Napcat->>Adapter: 发送消息
Adapter->>Queue: 消息入队(message_queue)
Queue->>Handler: 消息出队处理
Handler->>Handler: 解析消息类型
alt 文本消息
Handler->>MaiBot: 发送文本消息
else 图片消息
Handler->>MaiBot: 发送图片消息
else 混合消息
Handler->>MaiBot: 发送混合消息
else 转发消息
Handler->>MaiBot: 发送转发消息
end
MaiBot-->>Adapter: 消息响应
Adapter-->>Napcat: 消息响应
Note over Napcat,MaiBot: 优雅关闭
Adapter->>MaiBot: 关闭连接
Adapter->>Queue: 清空消息队列
Adapter->>Napcat: 关闭连接
TO DO List
-
读取自动心跳测试连接
-
接受消息解析
- 文本解析
- 图片解析
- 文本与消息混合解析
- 转发解析(含图片动态解析)
- 群公告解析
- 回复解析
- 群临时消息(可能不做)
- 链接解析
- 戳一戳解析
- 读取戳一戳的自定义内容
- 语音解析(?)
- 所有的notice类
- 撤回(已添加相关指令)
-
发送消息
- 发送文本
- 发送图片
- 发送表情包
- 引用回复(完成但是没测试)
- 戳回去(?)
- 发送语音
-
使用echo与uuid保证消息顺序
-
执行部分管理员功能
- 禁言别人
- 全体禁言
- 群踢人功能
特别鸣谢
特别感谢@Maple127667对本项目代码思路的支持
以及@墨梓柒对部分代码想法的支持