Logo
1 项目简介LGTBot:https://github.com/Slontia/lgtbot
lgtbot-mirai:https://github.com/Slontia/lgtbot-mirai
「LGT」源自日本漫画家甲斐谷忍创作的《Liar Game》中的虚构组织「Liar Game Tournament 事务所」。
LGTBot 是一个基于 C++ 实现的,用于在 聊天室 或 其它通讯软件 中,实现多人 文字推理游戏 的裁判机器人库。
提供了通用的 聊天信息交互接口,需要由已实现好的机器人框架调用使用 支持 群组公开游戏 和 私密游戏 两种方式,无需在群组内也可以进行游戏 内置了 11 种已实现好的游戏,同时提供了通用的游戏框架,便于后续开发新游戏 基于 CMake 编译,支持跨平台编译而 lgtbot-mirai 基于 mirai-cpp 框架,将 LGTBot 库适配到了 Mirai,通过 mirai-api-http 实现与机器人的交互。
欢迎入群体验(QQ 群):1059834024、541402580
2 我要通过 Docker 直接启动 lgtbot-mirai请参考以下任意文档:
GitHub wiki——使用 Docker 启动 lgtbot-mirai 知乎——使用 Docker 启动 lgtbot-mirai 3 我要手动编译 lgtbot-mirai 3.1 编译请确保您的编译器支持 C++20 语法,建议使用 g++10 以上版本
以 Centos 为例:
# 安装依赖库(Ubuntu 系统) sudo apt-get install -y libgoogle-glog-dev libgflags-dev libgtest-dev libsqlite3-dev libqt5webkit5-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 消息的线程数 4 游戏展示 4.1 LIE双方猜测数字的简单游戏
4.2 投标波卡通过投标和拍卖提升波卡牌型的游戏
4.3 二择猜拳伸出两拳,收回一拳的猜拳游戏
4.4 数字蜂巢通过放置卡牌,让同数字连成直线获得积分,比拼分数高低的游戏
4.5 炼金术士通过放置卡牌,让卡牌连成直线获得积分,比拼分数高低的游戏
4.6 你推我挤通过取出并重新放入棋子,先连成五子者获胜的游戏
4.7 十七步组成满贯听牌牌型,并经历 17 轮切牌的麻将游戏
4.8 决胜五子双方一起落子的五子棋游戏
4.9 镭射象棋调整镜面,发射激光消灭对方棋子的游戏
4.10 幸运波卡能够看到各个玩家部分手牌,两阶段下注的比拼大小的游戏
4.11 群雄象棋多个帝国共同参与,定时重组棋盘的象棋游戏