Home

Awesome

WMagicBotR

WMagicBot

原本是一个自己玩的小项目,整合了spring + PicqBotX 框架(基于酷q)的qq机器人,现在由于酷q不可用,已经凉了谨此纪念...

WMagicBotR

本人pcr玩家,原本工会战管理使用yobot ,但是由于cq的突然离开,原来的yobot突然不可用( 所以本项目pcr相关功能参考了yobot,现在yobot应该也有基于Mirai的实现),有些不知所措。 所幸遇到了Mirai,看着已经凉凉的 WMagicBot 就想干脆自己用Mirai写一个pcr公会战管理bot

于是乎 WMagicBotR 基于 Mirai 框架重生 集成spring + mybatis + sqlite

当收到消息a 执行x,收到消息b 执行y,哎 收到c也要执行x? 不想写ifelse? 指令系统很好的解决这个问题,封装了指令对象 以及权限指令对象, 支持别名,更多请查看源码

项目环境

开发环境

本项目开发环境,可以视情况提升

运行环境

说明书

准备

  1. 在编译完的jar包(后期也会提供编译好的jar包)同目录下,创建 WMagicBotR.properties 文件,模板可以在本仓库中找到,按照提示配置登录账号
  2. 如果启用pcr jjc查询功能,建议直接将本项目下的 nicknames.txt 放到 与jar包同目录下,在第一次启动时如果该文件不存在,则会自动下载,但是考虑到国内访问git下载有时候网络会有问题,所以建议直接手动放置

启动

小白版,大佬请选择性查看

  1. cd 到本项目jar 目录下
  2. java -jar magicBotR.jar 运行项目
  3. 有时候你会看到一个 验证码,输入验证码 后回车 (有时候需要 有时候没有这一步)
  4. 接着会看到这个,qq需要做一个新设备登录验证 v1
  5. 将这个url 复制出来,在浏览器里打开,选择手机qq扫码认证 v2
  6. 扫码认证解锁(记得解锁后在扫码的手机上把这个qq退出登录,否者服务器上会登录不上) v3
  7. 3-6 操作结束后,在shell中回车(只有第一次启动会有3-6步骤) 继续运行直到成功启动 v4

小白继续看,大佬跳过,到这里其实已经算启动成功,但是直接关闭会导致进程结束

到这里真的好了,这是第一次运行的情况,由于需要交互验证登录,所以不能直接后台运行,但是如果已经有了deviceInfo.json设备信息可以直接后台运行

在本项目 正常启动后 该目录下应该会有6个文件:

  1. 本项目jar包
  2. device.json + cache文件夹 : 用于记录bot设备信息的文件(Mirai 其实是虚拟了一个设备登录qq,这个文件就是虚拟设备的设备信息,如果迁移服务器带着这个文件走,还是会视作同一个设备登录)
  3. botData.db : sqlite数据库文件,如果服务器要迁移,你需要带走的数据就在botData.db里面,可以用Navicat直接打开
  4. nicknames.txt : pcr jjc 查询功能的角色昵称 和角色Id 对照表
  5. WMagicBotR.properties : 项目配置文件
  6. logs文件夹 : 日志文件

指令book

公告

注意 pcr公会战规则变化后,公会战管理功能不再适用

计划任务

接下来计划做的任务 先立下flag 有空不忙的时候来回收

计划进度
重构 动态组件(command 注册为switch command完成)已完成
重构 command 加载注册机制已完成
jjc查询 图像合成后 返回已完成
pcr公会战查刀数据格式优化已完成
定时消息,延时消息,广播消息已完成
pcr公会战挂树 倒计时提醒(延时消息)已完成
查刀页面样式优化已完成
接入chat-gpt已完成
自然语言指令已完成 设计 Function注解 结合openai的函数调用 实现自然语言指令
pcr公会战适配新版本有想法,但是没动力
接入微信bot搁置中已放弃,没找到稳定更新的微信bot java开源框架
根据提供的训练集问答已完成

更新记录

本项目不稳定更新中(有空的时候会更新)

v1.9.0

v1.8.0

v1.7.2

v1.7.1

v1.7.0

由于现在风控越来越严重,mirai开放了对接第三方签名服务的接口,这里使用了magic-signer-guide

务必请自己部署以保障安全性
$ docker pull kiliokuara/vivo50:latest
$ docker run -d --restart=always \
  -e SERVER_IDENTITY_KEY=vivo50 \
  -e AUTH_KEY=kfc \
  -e PORT=8888 \
  -p 8888:8888 \
  --log-opt mode=non-blocking --log-opt max-buffer-size=4m \
  -v /home/vivo50/serverData:/app/serverData \
  -v /home/vivo50/testbot:/app/testbot \
  --name vivo50 \
  kiliokuara/vivo50

v1.6.2

v1.6.1

v1.6.0

v1.5.4

v1.5.3

v1.5.2

v1.5.1

v1.5.0

v1.4.1

v1.4.0

v1.3.4

v1.3.3

v1.3.2

v1.3.1

2023年03月10日 v1.3.0

v6

2023年03月08日

2023年02月10日

2023年02月01日

2022年07月19日

2022年07月18日

2022年07月01日

2022年06月08日

这个项目很久没有更新,最近想在用一下,发现太久没更新没法登录了...

2021年05月13日

2021年01月27日

2021年01月07日

忙里偷闲更新一下

2020年12月03日

2020年11月05日

2020年11月04日

2020年10月29日

2020年10月27日

2020年10月26日

2020年09月30日

2020年09月29日

2020年09月24日

2020年09月18日

2020年09月16日

2020年09月09日

2020年09月04日

2020年09月01日

2020年08月29日

2020年08月27日

2020年08月25日

开源协议

本项目基于 Mirai

感谢

特别感谢

<img src="./img/jb_beam.png" width="100"/> <img src="./img/IntelliJ_IDEA_icon.png" width="90"/>

感谢JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权