Skip to content
This repository has been archived by the owner on Sep 17, 2024. It is now read-only.
/ MomoonBot Public archive

基于Node.js而对接OpenShamrock(OneBotV12)客户端的Bot后端。

License

Notifications You must be signed in to change notification settings

MoRanYue/MomoonBot

Repository files navigation

由于架构内部几乎没有可扩展性,该项目已被弃用!


GitHub License GitHub repo size GitHub package.json version (branch)
GitHub last commit (branch) GitHub issues GitHub pull requests GitHub contributors
OpenShamrock Kritor OneBotV11 OneBotV12

Momoon Bot

★ 基于 Node.js 并对接 OpenShamrock 客户端的 Bot 后端实现 ☆

简介

Momoon Bot 是一个使用 TypeScript(JavaScript)编写的跨平台、可被拓展、自由灵活的 QQ 聊天机器人框架,Node.js 事件驱动贯穿其本身。

功能

Momoon Bot 尚处于开发阶段,已经基本可用。

兼容协议

Momoon Bot 目前兼容以下协议:

计划支持以下协议:

连接方式

  • HTTP 通信
  • 主动 WebSocket
  • 被动 WebSocket

关于消息 CQ 码

因为发送带有 CQ 码消息的操作,实在过于原始。

因此,CQ 码相关的操作将不会被添加,包括解析 CQ 码与生成 CQ 码。本项目在解析上报的消息时,仅通过消息段解析。

提示:虽然 OpenShamrock 本身支持发送带有 CQ 码的消息,但为了代码可读性,请务必不要使用任何 CQ 码。

关于 OpenShamrock 的提示:OpenShamrock 计划在其升级至 1.1.0 以上版本后,弃用 OneBot 协议,而改用 Kritor 协议,彼时亦将停止 CQ 码支持。Momoon Bot 将保留 OneBot 协议支持,并使其更加通用(即支持任何使用 OneBot 协议的 11 与 12 版本的客户端)。

关于频道

正在制作频道相关功能。

插件

此处会展示该项目包含的插件,其类名将被置于括号内,并会在其后标识它所使用的库。

注意:内置插件(BuiltInPlugin)不应该被删除,它被用于注册回显(echo)命令,以及其它内置命令,且被用于处理客户端上报事件的日志输出。

该项目内置以下插件:

  • 内置插件(BuiltInPlugin
  • 调试器(Debugger

该项目内置以下示例插件:

  • 今日数字(TodayNumber) - 最简单的示例插件,在用户输入命令后,将输出发送者在近 24 小时内所得到的随机数字。与“今日人品”差不多。
  • 防撤回(AntiRecalling) - 用于重新发出群聊中被撤回的消息。
  • 随机动漫图片(RandomAnimePicture) ⇐ axios - 通过调用公布在网络上的随机图片 API,获取动漫图片。
  • 哔哩哔哩视频详情获取(BilibiliVideoDetails) ⇐ axios - 在用户发送带有哔哩哔哩视频链接、哔哩哔哩短链接或哔哩哔哩视频分享卡片消息等消息时,将调用哔哩哔哩 API 获取视频详细信息。

插件开发

在不久的未来,将会在该仓库的维基上发布插件开发教程。

快速开始

请确保设备上已经安装 Node.js,若尚未安装,需要进入官方网站,下载 Node.js 16.0 以上的版本。

可以通过从发布页面中下载稳定版本的代码,亦可克隆仓库源代码,并进行编译。

下载完成后,解压压缩包,输入以下命令启动:

node .

它将在运行目录中,创建文件名为config.json的配置文件。完成配置后,重新运行命令即可启动。

更多信息见使用

编译源代码

若想要编译源代码,请首先克隆该仓库:

git clone https://github.com/MoRanYue/MomoonBot.git
cd MomoonBot

若正在使用 NPM:

npm run build

若正在使用 Yarn:

yarn build

编译完成后,编译的结果将被放置于<Momoon Bot 源代码>/dist目录中。

脚手架(CLI)

Momoon Bot 目前正在计划增加 Molunar CLI,作为脚手架。

使用模块

  • axios - 主要用于支持 HTTP 通信。
  • ws - 主要用于支持主动 WebSocket 与被动 WebSocket 通信。

许可证

AGPL v3.0