Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slontia/lgtbot-mirai
Mirai 平台的游戏裁判机器人 LGTBot
https://github.com/slontia/lgtbot-mirai
Last synced: 3 months ago
JSON representation
Mirai 平台的游戏裁判机器人 LGTBot
- Host: GitHub
- URL: https://github.com/slontia/lgtbot-mirai
- Owner: Slontia
- License: agpl-3.0
- Created: 2021-01-18T16:21:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-22T13:50:31.000Z (about 1 year ago)
- Last Synced: 2024-06-25T21:56:22.299Z (5 months ago)
- Language: C++
- Homepage:
- Size: 166 KB
- Stars: 8
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mirai - LGTBot-Mirai - api-http](https://github.com/project-mirai/mirai-api-http) 和 [mirai-cpp SDK](https://github.com/cyanray/mirai-cpp) 的游戏裁判机器人,支持私信机器人和在群内 at 机器人两种游戏方式,支持战绩持久化记录。截止 2022-01-01,已经实现了 8 款不同规则的游戏。 (基于其他语言sdk的应用)
README
![Logo](https://github.com/Slontia/lgtbot/blob/master/images/logo_transparent_colorful.svg)
![image](https://img.shields.io/badge/author-slontia-blue.svg) ![image](https://img.shields.io/badge/language-c++20-green.svg)
## 1 项目简介
*「LGT」源自日本漫画家甲斐谷忍创作的《Liar Game》中的虚构组织「**L**iar **G**ame **T**ournament 事务所」。*
[LGTBot](https://github.com/Slontia/lgtbot) 是一个基于 C++ 实现的,用于在 **聊天室** 或 **其它通讯软件** 中,实现多人 **文字推理游戏** 的裁判机器人库。而 [lgtbot-mirai](https://github.com/Slontia/lgtbot-mirai) 基于 [mirai-cpp](https://github.com/cyanray/mirai-cpp) 框架,将 LGTBot 库适配到了 Mirai,通过 [mirai-api-http](https://github.com/project-mirai/mirai-api-http) 实现与机器人的交互。
**欢迎入群体验(QQ 群):1059834024、541402580**
## 2 我要通过 Docker 直接启动 lgtbot-mirai
请参考以下任意文档:
- [GitHub wiki——使用 Docker 启动 lgtbot-mirai](https://github.com/Slontia/lgtbot-mirai/wiki/%E4%BD%BF%E7%94%A8-Docker-%E5%90%AF%E5%8A%A8-lgtbot-mirai)
- [知乎——使用 Docker 启动 lgtbot-mirai](https://zhuanlan.zhihu.com/p/527454141)## 3 我要手动编译 lgtbot-mirai
### 3.1 编译
请确保您的编译器支持 **C++20** 语法,建议使用 g++10 以上版本
以 Centos 为例:
``` bash
# 安装依赖库(Ubuntu 系统)
sudo apt-get install -y libgoogle-glog-dev libgflags-dev libgtest-dev libsqlite3-dev libqt5webkit5-dev libcurl-dev# 完整克隆本项目
git clone github.com/slontia/lgtbot-mirai# 安装子模块
git submodule update --init --recursive# 构建二进制路径
mkdir build# 编译项目
cmake .. -DWITH_GCOV=OFF -DWITH_ASAN=OFF -DWITH_GLOG=OFF -DWITH_SQLITE=ON -DWITH_TEST=OFF -DWITH_SIMULATOR=ON -DWITH_GAMES=ON
make```
### 3.2 启动
**先启动 mirai-api-http 服务,再执行编译出来的 `lgtbot-mirai`**。其中涉及到的一些参数为:
```
Flags from /home/bjcwgqm/projects/lgtbot/src/src/main.cpp:
-admins (Administrator user id list) type: string default: ""
-allow_temp (Allow temp message) type: bool default: true
-auth (The AuthKey for mirai-api-http) type: string default: ""
-db_path (Path of database) type: string default: "./lgtbot_data.db"
-game_path (The path of game modules) type: string default: "plugins"
-image_path (The path of images cache) type: string default: "images"
-ip (The IP address) type: string default: "127.0.0.1"
-port (The port) type: int32 default: 8080
-qq (Bot's QQ ID) type: uint64 default: 0
-thread (The number of threads) type: int32 default: 4
```必选项:
- auth:mirai-api-http 所需要的 AuthKey
- game_path:游戏动态库文件所在文件夹路径
- ip:本机 IP 地址,供 mirai-api-http 访问(若 mirai-api-http 部署在本机,可不填,即为 127.0.0.1)
- port:端口号,默认为 8080
- qq:机器人 QQ 账号可选项:
- allow_temp:是否允许临时会话,1 是允许,0 是不允许(考虑到允许有可能会被封号,最好是不允许)
- admins:管理员列表,管理员之间通过半角逗号「,」分割,例如:admins=114514,1919810
- db_path:战绩数据存储路径
- image_path:(暂不生效)
- thread:接受并处理 QQ 消息的线程数