Mirai实现机器人

  • Java实现QQ机器人教程
    • 1.拉取项目demo
    • 2.修改配置文件
    • 3.滑动窗口验证
      • (1)配置JVM参数
      • (2)启动项目
      • (3)获取ticket
        • ①让手机和电脑连接
        • ②开启调试模式
        • ③进行滑动验证
    • 4.简单测试

Java实现QQ机器人教程

要想实现Java版的QQ机器人,其实并不难,今天就给大家分享一下使用Mirai框架制作简单的QQ机器人。

1.拉取项目demo

首先,Miari是一个开源的框架,我们可以从GitHub上拉取项目进行查看,但是GitHub需要使用加速插件才能很好的访问,所以在这里我们可以选择使用Gitee开源平台。

simbot-mirai-demo: 原生simbot框架的mirai组件demo。 (gitee.com)

我们通过这个链接,对项目进行拉取。

可以直接复制https中的链接,也可以下载zip压缩文件,两种方式都可以,但是需要时间加载依赖。

拉取成功之后的项目目录是这样的。

首先我们需要阅读一下README.md文件,使用之前需要了解一些基本的注意事项。

第一步克隆项目显然我们已经完成了。所以我们接下来修改配置文件即可。

2.修改配置文件

我们找到resource目录下的.yml文件,进行测试QQ机器人账号密码的填写,如下图:

前面是账号,后面是密码。中间需要使用英文冒号隔开。

3.滑动窗口验证

接下来我们可以启动项目,但是第一次使用该框架的账号需要进行Mirai滑块验证,如果启动失败的话,我们需要配置一些项目的JVM参数。

详细教程可以查看mirai-login-solver-selenium。

simbot-mirai-demo: 原生simbot框架的mirai组件demo。 (gitee.com)

(1)配置JVM参数

我们需要在JVM参数上配置开启桌面滑动验证,如下

-Dmirai.slider.captcha.supported

但是这个验证一个账号只需要验证一次即可,所以完全不用因为过于麻烦而不想继续实现。

(2)启动项目

控制台输出日志之后,然后桌面上就会弹出一个验证框,上面给了一个url。

看到提示“需要滑动验证码,完成后请输入ticket”。

我们可以复制一下url看一下是什么

原来就是一个平常登录使用的滑动验证,但是现在看来我们显然是不可能这样滑动就可以完成了,我们需要获取ticket。

(3)获取ticket

获取ticket有两种方法,一种是已经失效的使用另外一个项目进行通过,另外一种是通过手机连接电脑进行验证,我这里使用的是第二种。我们也需要做一些准备工作。具体可以看下面的教程。

GitHub - project-mirai/mirai-login-solver-selenium: SliderCaptcha solver

①让手机和电脑连接

首先,需要手机打开开发者模式,并且开启USB调试。

开启之后手机需要打开浏览器页面,最好是谷歌浏览器。但是因为谷歌浏览器上网需要外网,如果不想麻烦的话,搜索引擎我们可以使用百度。

如下:

②开启调试模式

然后在手机和电脑都打开 Chrome,并使电脑成功链接上手机 Chrome。

因为上面说到了谷歌浏览器需要使用外网,如果没有外网的话,会出现404空白页面。

所以这里我们使用Edge浏览器。

在手机的开发者模式和USB调试都打开的情况下,我们需要打开edge浏览器访问edge://inspect/#devices

edge://inspect/#devices

刚开始访问的时候是这样的

我们稍等一会,打开浏览器访问edge://inspect/#devices的同时,手机上会弹出是否开启USB调试,这里我们选择允许。

然后过一会就会出现调试页面

③进行滑动验证

我们只需要点击inspect即可,打开调试页面。

然后回到我们当时弹出的那个滑动验证的窗口,复制一长串的url,复制到模拟页面的手机的url进行访问,粘贴后回车即可。

接下来就会出现滑动验证的页面,此时电脑页面是同步手机的。

我们进行验证。

验证完成之后发送请求,右边控制台网络会出现一系列的请求监听记录。我们需要找到cap_union_new_verify,就可以找到ticket,注意分号之间的字符串才是ticket,我们复制后进行验证。

我们输入复制后的ticket,然后回车。

这时候就可以完成mirai登录滑动验证了。

回到项目我们可以看到控制台打印出我们的账号信息。

至此,我们mirai的基本配置就已经完成。

4.简单测试

我们配置完成之后就可以对我们的机器人账号的私聊、群聊等消息进行配置,这里只做一个简单的测试,具体的功能大家可以去官方文档进行阅读与实现。

@Beans
@Slf4j
public class MyPrivateListener {/*** 复读私聊消息  也可以使用@Listen(PrivateMsg.class)**        其他的方法*         String m1 = msg.getMsg();  发送的消息,如果表情则会转化为字符,如 你好[CAT:face,id=212]*         String m2 = msg.getText();  发送的消息,如果是表情则会加在后面,不会转化为字符串*         MessageContent mm3 = msg.getMsgContent(); 消息封装类**         //复读消息,发送一条和接收的消息一样的消息*          sender.sendPrivateMsg(msg,msg.getMsgContent());**          //复读消息中的图片,可以是多个,只复读图片,不包含中间的文字消息*          MessageContent msgContent = msg.getMsgContent();*         List<Neko> image = msgContent.getCats("image");*         String join = String.join("", image);*         sender.sendPrivateMsg(msg,join);* @param msg* @param sender*/@OnPrivatepublic void repetition(PrivateMsg msg, Sender sender) {//复读一条接收的信息并且进行发送sender.sendPrivateMsg(msg,msg.getMsgContent());}
}

启动项目进行测试。

Mirai实现QQ机器人相关推荐

  1. PHP开发基于Mirai的QQ机器人

    博客和更新地址:PHP开发基于Mirai的QQ机器人 前言 在完成配置开源安卓QQ协议库Mirai后,便可使用已有开源项目来部署自己的QQ机器人,但自行开发显然更符合需求.借助mirai-api-ht ...

  2. Mirai框架qq机器人教程

    Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...

  3. 「Java」基于Mirai的qq机器人开发踩坑笔记(其一)

    目录 0. 前置操作 I. 安装MCL II. MCL自动登录配置 III. 安装IDEA插件 1. 新建Mirai项目 2. 编写主类 3. 添加外部依赖 4. IDEA运行 5. 插件打包 6. ...

  4. 「Java」基于Mirai的qq机器人开发踩坑笔记(其二)

    目录 0. 配置机器人 1. onLoad方法 2. onEnable方法 3. 消息属性 4. 消息监听 I. 好友消息 II. 群聊消息 III. 无差别消息 5. 发送消息 I. 文本消息 II ...

  5. 基于Mirai搭建QQ机器人监控B站直播

    搭建自定义Mirai机器人 周末本来想继续学Vue来着,这不又搞这个了,唉,这计划赶不上变化啊. 参考文档 mamoe/mirai: 高效率 QQ 机器人支持库 Gradle 下载的依赖jar包在哪? ...

  6. PHP开发基于Mirai的QQ机器人(一)

    基础环境的搭建 (一) 本文简介 本文讲解高效率QQ机器人框架Mirai. 本文发布于 Mirai V2 由于QQ机器人常被部署在服务器,所以我只讲解 Linux 的部署方式. 本文针对PHP开发者. ...

  7. 随心玩玩(三)Mirai框架QQ机器人

    语言是Kotlin,其实什么语言并不重要,会调用API就够了 文章目录 1. 什么是Mirai框架 2. 创建项目 3. Hello Mirai 4. 后续进阶 1. 什么是Mirai框架 mirai ...

  8. mirai 高效率 QQ 机器人框架

    其他文章可以访问以下链接: https://blog.csdn.net/sxf1061700625/article/details/1201312451 QQ控制树莓派(舵机+摄像头+...)_小锋学 ...

  9. 开发 mirai QQ机器人起步教程

    前言 虽然该文最终是达到以python开发mirai机器人的目的,但起步教程,尤其是环境配置上仍然有大量的相同操作,对其他编程语言仍有借鉴之处 假设你已经安装好了 Java.Python等运行必须的环 ...

  10. [Centos7]Mirai QQ机器人监听播报TeamSpeak3用户状态

    目录 1 安装mirai 1.1 创建用户 1.2 下载mcl-installer 1.3 安装 2 启动并使用 2.1 首次启动 2.2 安装插件 2.2.1 chat-command 2.2.2 ...

最新文章

  1. 腾讯精选练习 50 题(Leetcode)笔记 PDF下载!
  2. 卷起来了,写了一套计算机视觉学习笔记(20G/代码/PPT/视频)
  3. CentOS下安装ZooKeeper
  4. 【洛谷搜索专题Python和C++解】DFS和BFS经典题目(陆续补充)
  5. ALV DataChange EVENT
  6. static_cast、dynamic_cast、const_cast和reinterpret_cast总结
  7. linux 创建路径函数,Linux函数库的创建方法(2)
  8. 用eclipse往mysql插入中文出现乱码解决方法
  9. 浅析php学习的路线图
  10. CVPR2020 | 当目标跟踪遇上对抗攻击
  11. 国外大学生谈经验:如何在Github参与开源(Open Source on Github: Your First Contribution)
  12. 哪些因素会影响数据质量
  13. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_5.RabbitMQ研究-入门程序-生产者...
  14. 世界500强企业面试经验分享
  15. 机器学习项目实践——K-means聚类实现广告分析
  16. 梯度消失、爆炸产生的原因以及解决方法
  17. airpods版本号_怎么看airpods版本号 苹果airpods查看固件版本教程
  18. Java微信表情包字符处理,数据库存储以及转义解决方式
  19. NPM 2FA双重认证的设置方法
  20. oracle 查询时间段内的天,ORACLE任意时间段内所有天数日期查询

热门文章

  1. 【通过STLINK Utility下载程序和加解密方法】
  2. 十、决策树算法简介-泰坦尼克号乘客生存预测
  3. 模型思考笔记2—分类和同群效应带来的思考
  4. Python使用百度地图API实现地点信息转换及房价指数热力地图
  5. PD源码阅读系列:PD节点启动
  6. 解读Secondary NameNode的功能
  7. HDFS中NameNode和Secondary NameNode
  8. win7网上邻居无计算机一栏,Win7在网上邻居上看不到别的电脑怎么办?-电脑自学网...
  9. 2022-04微软漏洞通告
  10. 如何构建OctoberCMS Widget插件