这个项目分为两部分
https://github.com/D-0000000000/mirai-cpp-messagesender
https://github.com/D-0000000000/autoloader
sender 和autoloader
sender 是用mirai 协议整的一个qq机器人,用来发消息。
autoloader 是魔改的 https://bbs.nga.cn/read.php?tid=25546822 的自动喂饼机
后面的配置我晚点再更新,写文档好累啊,玩过mirai的肯定知道怎么用sender,整过自动喂饼机的肯定知道autoloader怎么玩,那我就晚点再更[s哭笑]
[size=150%]效果[/size]
[collapse=方舟微博不动了,拿铁血前线做个样例]
[img]./mon_202102/22/-klbw3Qbn2d-6po3ZeT3cSmf-nl.jpeg[/img]
[img]./mon_202102/23/-klbw3Q8g28-5r49K10T3cSm2-bh.jpg[/img]
[/collapse]
[size=150%]最近更新[/size] 更新了下dr-feeder
同步了一下dr-feeder 的最新功能[del]和bug[/del],现在可以带1张图了
[size=150%]懒人版使用说明[/size]
到cygwin.com 下载cygwin,安装过程中可以使用tuna的镜像
[code]https://mirrors.tuna.tsinghua.edu.cn/cygwin/[/code]
选择包的过程中切换到Category搜索curl,在Net 目录下找到curl,在下拉箭头处选择一个版本,一路Next。
添加环境变量,把cygwin下的bin文件夹添加到环境变量,如果会写脚本可以不用做这步,最后只是要一个cygwin 环境和curl
安装完成后输入
[code]curl --version[/code]
如果有类似这样的输入算安装完成了
[code]
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: 2017-11-14, security patched: 2019-11-05
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
[/code]
在这个链接下载mirai懒人包 链接: [url]https://pan.baidu.com/s/1hcP0v7oU4FqyU2BiY-hJhA[/url] 提取码: wncn
mirai关于jdk的使用有点乱,我统统用的openjdk,Oracle的有没有问题我啥都不知道,openjdk 15的链接 https://jdk.java.net/15/
解压后修改mcl.cmd里的java路径
[code]
set JAVA_BINARY="D:\Program Files\jdk-15.0.2\bin\java"
[/code]
运行mcl,登录bot的QQ号,如何登录看这https://github.com/mamoe/mirai-console/blob/master/docs/BuiltInCommands.md ,[b][size=150%][color=red]登录不了大概率是滑块验证的问题,如何解决看这[/color][/size][/b] https://github.com/project-mirai/mirai-login-solver-selenium
到 https://github.com/D-0000000000/mirai-cpp-messagesender/releases 下载messagesender
到autoloader 的release 下载autoloader, https://github.com/D-0000000000/autoloader/releases 。
整合包链接: https://pan.baidu.com/s/189A8FGZeznLbQ3UszasNaQ 提取码: kd5c 内含autoloader 和messagesender
将autoloader 和messagesender 解压到同一位置,修改settings.txt中的内容,第一行为authKey,第二行为bot的QQ号,第三行为目标QQ群号,一机多群还在开发中。
找不到authKey看这 https://github.com/project-mirai/mirai-api-http
运行autoloader,等待官方发饼,因为这个autoloader 是我自己用的,里面还有铁血前线的监视,所以出现铁血前线的微博不要惊讶,想要自定义监视列表可以看下面的autoloader编译部分。
[size=150%]想自己编译看这里[/size]
[collapse=想自己编译看这里]
[size=125%]安装mirai[/size]
首先,准备一个mirai,具体看这里 https://github.com/iTXTech/mirai-console-loader
安装mirai-api-http,https://github.com/project-mirai/mirai-api-http
安装完毕就可以登录机器人的QQ号了,如果要验证码什么的看这里 https://github.com/project-mirai/mirai-login-solver-selenium
[size=125%]编译sender[/size]
mirai 配置完成可以编译sender了,怎么编译看这里 https://github.com/cyanray/mirai-cpp-template ,不想编译可以从autoloader的release里下载已经编译好的文件[del](不一定能用[/del]
配置文件中的Authkey看这 https://github.com/project-mirai/mirai-api-http#settingyml模板 ,看setting.yml 中的authKey
[size=125%]编译autoloader[/size]
下面就是编译autoloader了,过程和dr-feeder一样,代码拖下来进文件夹go build 就好了,两个项目的README都有有说明。不想编译可以从autoloader的release里下载已经编译好的文件[del](不一定能用[/del]
[size=125%]运行[/size]
把编译好的autoloader.exe 和qqmessagesender.exe 放在一个文件夹下,写好sender的配置文件settings.txt,启动mirai-console,登录账号,运行autoloader
[/collapse]
[size=150%]一些注意事项[/size]
mirai关于jdk的使用有点乱,我统统用的openjdk,Oracle的有没有问题我啥都不知道
编译sender 的编译器我是用的Cygwin的g++,理论上应该能直接在Linux下编译
Golang 我一窍不通,我只知道试了几下这么改能用,为什么要这么改我不知道
更改监视对象需要修改autoloader.go的下面这些代码
[code]
gfweibo, err := watcher.NewWeiboWatcher(5611537367)
if err != nil {
log.Fatal(err)
}
arkweibo, err := watcher.NewWeiboWatcher(6279793937)
if err != nil {
log.Fatal(err)
}
anAnno, err := watcher.NewAkAnnounceWatcher()
if err != nil {
log.Fatal(err)
}
[/code]
我不光设置了明日方舟的微博,也把铁血前线加上了,想监视其他微博在这里改就行了
扫描时间也是修改autoloaer.go,修改watch函数
[code]
func watch(watcher watcher.Watcher, ch chan common.NotifyPayload) {
for {
waitSec := rand.Intn(6) + 12
watcher.Produce(ch)
time.Sleep(time.Duration(waitSec) * time.Second)
}
}
[/code]
基础时间是12s,再加一个最大6s的随机时间
[code]
waitSec := rand.Intn(6) + 12
[/code]
[size=150%]Known issues[/size]
自动喂饼机中除了推送部分应该是问题一个也不缺,喂饼机有的装填机也有
sender 的调用非常矬,直接调用啥检查也没有,说不准有没有安全问题(这个问题不打算改,不会改[s:a2:偷吃]
sender 没做异常处理,消息发送失败不会返回错误