很早之前就想过开发一个qq机器人,不过之前一直在想怎么抓包,模拟,最近我朋友给我说了个github的开源项目,再次开工

推荐关闭QQ的设备锁,否则模拟QQ登录可能需要验证,虽然官方有解决方案,不过开发阶段还是太麻烦

项目地址

https://github.com/mamoe/mirai

依赖

https://docs.mirai.mamoe.net/ConfiguringProjects.html
这是我开发使用的版本

<dependency><groupId>net.mamoe</groupId><artifactId>mirai-core-jvm</artifactId><version>2.9.1</version>
</dependency>

核心API文档

https://docs.mirai.mamoe.net/CoreAPI.html

简单使用(几乎包含了常用操作)

public static void main(String[] args) {// 配置登录信息BotConfiguration configuration=new BotConfiguration();configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_PHONE);//configuration可不填都有默认值configuration.setWorkingDir(new File("E:\\IDEA\\MyTest6\\src\\main\\resources"));//        configuration.setCacheDir();// 设置 工作与缓存目录configuration.fileBasedDeviceInfo("qq.json");//设置设备信息 防止重复验证设备信息// 日志相关  可以自己处理 或关闭日志configuration.noBotLog();// qq操作相关日志configuration.noNetworkLog();// 网络相关日志Bot bot = BotFactory.INSTANCE.newBot(qq, "password",configuration);bot.login();//登录JavaMain.afterLogin(bot);
}
public static void afterLogin(Bot bot) {long yourQQNumber = qq;// subscribe 自定义监听结束时间    subscribeAlways一直监听   subscribeOnce只处理一次bot.getEventChannel().subscribeAlways(FriendMessageEvent.class, (event) -> {if (event.getSender().getId() == yourQQNumber) {event.getSubject().sendMessage(new MessageChainBuilder().append(new QuoteReply(event.getMessage())).append("Hi, you just said: '").append(event.getMessage()).append("'").build());}});// 获取基本信息ContactList<Friend> friends = bot.getFriends();System.out.println(friends);ContactList<Group> groups = bot.getGroups();System.out.println(groups);Friend friend = bot.getFriend(yourQQNumber);// 上传图片Image image = ExternalResource.uploadAsImage(new File("E:\\IDEA\\MyTest6\\src\\main\\resources\\bbs.png"), friend);// 构建发送的消息MessageChain chain = new MessageChainBuilder().append(new PlainText("string")).append("string") // 会被构造成 PlainText 再添加, 相当于上一行.append(AtAll.INSTANCE).append(image).build();friend.sendMessage(chain);
}

茉莉聊天机器人(可以用于辅助)

https://mly.app/profile/index.html

项目演示

https://www.bilibili.com/video/BV1694y1Z7pz/

项目地址

https://gitee.com/shaokang123/qq-cmd
注意测试需要修改对应的配置文件

总结

因为直接用的开源项目,整体没什么难度,不过注意,不要为了图省事让机器人对所有人都应答,否则很快茉莉云api调用次数就干完了

Java开发QQ机器人相关推荐

  1. 酷q插件开发Java_如何使用Java开发QQ机器人 方法一

    使用Java开发QQ机器人- CQ & HTTP API 使用库Q平台下的CQ HTTP API插件以及simple-robot核心标准库作为依赖. 此插件与框架的 简陋 简单介绍:文档处简介 ...

  2. java开发图灵机器人

    java开发图灵机器人 2017-08-17 艳学网 点击上方"艳学网",申请加群 最新Java技术,第一时间送达! 前言 中文语境下智能度最高的机器人大脑 开发者及普通用户可通过 ...

  3. 使用LumaQQ来开发QQ机器人

    自从博客园闪存发布了QQ机器人以后,闪存数量一下子就上升了很多.很多人也一直都在询问QQ机器人是如何开发的,这足以说明QQ在中国不仅仅是普通人使用的IM工具,在程序员圈子里也相当有人缘的,其老大地位不 ...

  4. 使用酷Q SDK开发QQ机器人

    酷Q SDK下载地址:https://github.com/CoolQ/cqsdk-vc 打开工程,编辑appmain.cpp 将"私聊消息"处的代码 更改为 CQEVENT(in ...

  5. java开发nao机器人,NAO机器人学习小计

    NAO APIs nao的接口全部以AL开头,全部继承自ALModule,它被包含在中. 下面是ALModule的主要methods. ALModule APIs namespace : AL #in ...

  6. [开源]java版QQ机器人集成小黄鸡功能

    项目采用开源程序IQQ.内置webQQ协议.并且使用十分方便.直接调用即可.      项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改.测试期间 多次登录QQ导致QQ被检测 ...

  7. rpa机器人java开发,RPA机器人的“三大铁律”

    早在1940年,科幻作家阿西莫夫就已提出"机器人三原则",目的是为了更好地保护人类. 而如今,为了更好地协助人类,作为软件机器人的RPA(机器人流程自动化),也存在着"三 ...

  8. 基于Go-cqhttp和python开发QQ机器人

    第一步,下载go-cqhttp 网址:https://github.com/Mrs4s/go-cqhttp/releases 根据自己电脑的配置下载相应的压缩包(因为压缩包下载快一些),我下载的是wi ...

  9. Java开发Telegram机器人

    基于springboot在[pom]中添加 <dependency><groupId>org.telegram</groupId><artifactId> ...

  10. 基于chatgpt开发QQ机器人

    格言:自立才能自主,靠人更须靠己.有志之人立长志,无志之人常立志.千里之行,始于足下:艰难困苦,玉汝于成.少壮不努力,老大徒伤悲.✊✊✊

最新文章

  1. pae扩展内存 linux,浅析linux内核内存管理之PAE
  2. python爬取京东评论_Python如何爬取京东的评价信息
  3. java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...
  4. 放置奇兵公会副本攻略_放置奇兵维萨配什么魔兽,放置奇兵装备怎么获得-放置奇兵攻略...
  5. selenium+python自动化,数据驱动实例
  6. linux线程组和进程区别,Linux中进程和线程之间的区别
  7. 也许你需要在 Antergos 与 Arch Linux 中查看印度语和梵文?
  8. 实现一下黑客帝国代码雨
  9. 2022蓝桥杯嵌入式学习分享
  10. MaxCompute基本概念和数据类型
  11. TM1622的程序设计实现
  12. 区块链+保险从这些方面落地应用效果显著
  13. 麦吉尔大学计算机工程的世界排名,麦吉尔大学计算机工程本科.pdf
  14. 设计院总工毕生总结的200条经验
  15. 如何利用阿里物联网做一个会自动浇水的花盆
  16. iPhone X 适配
  17. Oracle执行语句跟踪(1)——使用sql trace实现语句追踪
  18. 研究生期间科研经验总结
  19. ECCV 2020 语义分割论文大盘点(38篇论文)
  20. 思科nat配置实例_思科3750交换机配置DHCP服务器实例网络环境

热门文章

  1. 谈谈tomcat引起的中文乱码问题
  2. 怎么做好企业网站关键词优化
  3. 面试字节、阿里等大厂后,总结了今年的 Java 面试必问的微服务面试题(含答案)
  4. matlab半波整流怎么做,基于Matlab的单相半波可控整流电路的设计与仿真.doc
  5. 寄生电容/寄生电阻/寄生电感
  6. f2fs学习四: f2fs文件系统挂载
  7. OpenEuler编译、安装与挂载f2fs文件系统
  8. ae效果英文版翻译对照表_AE特效菜单中英文对照
  9. python scipy实例_python简单实现最大似然估计scipy库的使用详解
  10. Java毕业设计-漫画管理系统