• 泥潭炸了,该跑路了,把自动喂饼机在这也存一份

    这个项目分为两部分
    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 没做异常处理,消息发送失败不会返回错误

  • 还没炸呢(

    当你凝视柱子的时候,柱子也在注视着你

  • 这...我该如何编辑= =