Java开发QQ机器人
很早之前就想过开发一个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机器人相关推荐
- 酷q插件开发Java_如何使用Java开发QQ机器人 方法一
使用Java开发QQ机器人- CQ & HTTP API 使用库Q平台下的CQ HTTP API插件以及simple-robot核心标准库作为依赖. 此插件与框架的 简陋 简单介绍:文档处简介 ...
- java开发图灵机器人
java开发图灵机器人 2017-08-17 艳学网 点击上方"艳学网",申请加群 最新Java技术,第一时间送达! 前言 中文语境下智能度最高的机器人大脑 开发者及普通用户可通过 ...
- 使用LumaQQ来开发QQ机器人
自从博客园闪存发布了QQ机器人以后,闪存数量一下子就上升了很多.很多人也一直都在询问QQ机器人是如何开发的,这足以说明QQ在中国不仅仅是普通人使用的IM工具,在程序员圈子里也相当有人缘的,其老大地位不 ...
- 使用酷Q SDK开发QQ机器人
酷Q SDK下载地址:https://github.com/CoolQ/cqsdk-vc 打开工程,编辑appmain.cpp 将"私聊消息"处的代码 更改为 CQEVENT(in ...
- java开发nao机器人,NAO机器人学习小计
NAO APIs nao的接口全部以AL开头,全部继承自ALModule,它被包含在中. 下面是ALModule的主要methods. ALModule APIs namespace : AL #in ...
- [开源]java版QQ机器人集成小黄鸡功能
项目采用开源程序IQQ.内置webQQ协议.并且使用十分方便.直接调用即可. 项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改.测试期间 多次登录QQ导致QQ被检测 ...
- rpa机器人java开发,RPA机器人的“三大铁律”
早在1940年,科幻作家阿西莫夫就已提出"机器人三原则",目的是为了更好地保护人类. 而如今,为了更好地协助人类,作为软件机器人的RPA(机器人流程自动化),也存在着"三 ...
- 基于Go-cqhttp和python开发QQ机器人
第一步,下载go-cqhttp 网址:https://github.com/Mrs4s/go-cqhttp/releases 根据自己电脑的配置下载相应的压缩包(因为压缩包下载快一些),我下载的是wi ...
- Java开发Telegram机器人
基于springboot在[pom]中添加 <dependency><groupId>org.telegram</groupId><artifactId> ...
- 基于chatgpt开发QQ机器人
格言:自立才能自主,靠人更须靠己.有志之人立长志,无志之人常立志.千里之行,始于足下:艰难困苦,玉汝于成.少壮不努力,老大徒伤悲.✊✊✊
最新文章
- pae扩展内存 linux,浅析linux内核内存管理之PAE
- python爬取京东评论_Python如何爬取京东的评价信息
- java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...
- 放置奇兵公会副本攻略_放置奇兵维萨配什么魔兽,放置奇兵装备怎么获得-放置奇兵攻略...
- selenium+python自动化,数据驱动实例
- linux线程组和进程区别,Linux中进程和线程之间的区别
- 也许你需要在 Antergos 与 Arch Linux 中查看印度语和梵文?
- 实现一下黑客帝国代码雨
- 2022蓝桥杯嵌入式学习分享
- MaxCompute基本概念和数据类型
- TM1622的程序设计实现
- 区块链+保险从这些方面落地应用效果显著
- 麦吉尔大学计算机工程的世界排名,麦吉尔大学计算机工程本科.pdf
- 设计院总工毕生总结的200条经验
- 如何利用阿里物联网做一个会自动浇水的花盆
- iPhone X 适配
- Oracle执行语句跟踪(1)——使用sql trace实现语句追踪
- 研究生期间科研经验总结
- ECCV 2020 语义分割论文大盘点(38篇论文)
- 思科nat配置实例_思科3750交换机配置DHCP服务器实例网络环境
热门文章
- 谈谈tomcat引起的中文乱码问题
- 怎么做好企业网站关键词优化
- 面试字节、阿里等大厂后,总结了今年的 Java 面试必问的微服务面试题(含答案)
- matlab半波整流怎么做,基于Matlab的单相半波可控整流电路的设计与仿真.doc
- 寄生电容/寄生电阻/寄生电感
- f2fs学习四: f2fs文件系统挂载
- OpenEuler编译、安装与挂载f2fs文件系统
- ae效果英文版翻译对照表_AE特效菜单中英文对照
- python scipy实例_python简单实现最大似然估计scipy库的使用详解
- Java毕业设计-漫画管理系统