mirai 是全开源 QQ 机器人 / QQ 协议支持库。
本项目为 mirai-api-http 的 C++ 封装,方便使用 C++ 开发基于 mirai-api-http 插件。
推荐浏览顺序:使用说明 --> examples --> mirai_bot.hpp 的注释
使用说明: 使用说明
对于刚入门的 C++ 用户,推荐从 mirai-cpp-template 这个模板项目开始编写自己的程序。
对于 C++ 大佬,可以参考 mirai-cpp-template 这个模板项目的 CMakeLists.txt 了解使用方法。(所以我就不写这部分的内容了,手动狗头)
推荐阅读 examples 目录下的示例以了解使用方法。
文件名 | 说明 |
---|---|
RepeatMessage.cpp | 简单的复读机器人 |
SendImageMessage.cpp | 发送图片示例 |
VoiceMessage.cpp | 发送语音消息示例 |
BotEvents.cpp | 处理有关Bot相关的事件 |
GetFriendList.cpp | 打印Bot的好友列表 |
GetGroupList.cpp | 打印Bot的群组列表 |
MemberJoinEvent.cpp | 处理新成员加入群的申请和事件 |
MemberLeaveEvent.cpp | 处理成员退出群的事件 |
MessageType.cpp | 获取/处理各种类型的消息 |
NewFriendEvent.cpp | 处理好友申请 |
Recall.cpp | 撤回消息 |
RecallEvent.cpp | 处理其他人撤回消息的事件 |
Mute.cpp | 和禁言有关的操作 |
RichMessage.cpp | 发送 JSON、闪照等类型的消息 |
FetchEventsViaHTTP.cpp | 设置通过 HTTP 短轮询获取事件和消息 |
GroupMemberInfo.cpp | 获取/设置群成员的群名片与群头衔 |
Command.cpp | 指令系统相关的操作 |
-
完整克隆/下载本仓库。
-
如图所示,使用 Visual Studio 2019 直接打开这个文件夹。
-
如果一切顺利,你可以直接运行我写好的示例,或者进行修改编写自己的机器人。
-
完整克隆/下载本仓库。
-
使用 VS Code 直接打开这个文件夹。
-
安装 CMake Tools 扩展。
-
如图,可以直接开始调试
具体参考 mirai-cpp-template 的说明。
// TODO: 编写如何在 Visual Studio 解决方案中使用 mirai-cpp
(以下内容基于 “快速尝试”,请先完成“快速尝试”。)
上面的内容介绍了如何在 Windows 上开发使用 mirai-cpp 的程序,下面来介绍如何将你的程序移植到 Linux 平台,以便将程序部署到 Linux 服务器上。
为了易于讲解与操作,以下内容在 WSL (Windows Subsystem for Linux) 上进行。这里不对如何安装 WSL 进行说明,关于如何安装 WSL 还请自行查阅资料。
打开在 “快速尝试” 中用到的项目。按照如图所示步骤,创建一个针对 WSL 平台的配置。因为我的 WSL 安装了 GCC 编译器,所以这里选择 WSL-GCC-Releas。
如果一切顺利,等待 CMake 缓存生成成功后,即可编译出 Linux 平台的可执行文件。
要使用 vcpkg 管理 mirai-cpp,你需要将 https://github.com/cyanray/mirai-cpp-vcpkg-port 中的 mirai-cpp 文件夹复制到 vcpkg 安装目录下的 ports 文件夹中。
然后就可以使用 ./vcpkg install mirai-cpp:x86-windows mirai-cpp:x64-windows
安装 mirai-cpp。
本项目所有依赖都为 Header-Only 库,已经内置到本项目的 mirai-third-party 文件夹中。
-
yhirose/cpp-httplib A C++ header-only HTTP/HTTPS server and client library.
-
nlohmann/json JSON for Modern C++.
-
progschj/ThreadPool A simple C++11 Thread Pool implementation.
-
dhbaird/EasyWSClient A short and sweet WebSocket client for C++.
mirai-cpp 目前还有许多不足,欢迎提出 issues 或 pull requests。