如何使用Java开发QQ机器人 方法二

使用Java开发QQ机器人- CQ & HTTP TO CQ





警告 此方法已经无效,可以看simple-robot框架 2.x的帖子:如何用Java写QQ机器人 v2.0。











使用酷Q平台下的HTTP TO CQ插件以及simple-robot核心标准库作为依赖。

此插件与框架的 简陋 简单介绍:文档处简介

使用Java开发QQ机器人框架的方法一(也是更加推荐的方法):方法一: 使用CQ HTTP插件

前往项目Github地址点击star以收获作者的感谢:GayHub

快速开始



一、安装

1. 下载并安装 酷Q

前往酷Q官方下载地址下载酷Q应用,并安装(启动一次),然后关闭。


2. 下载并安装 HTTP TO CQ插件

①. 前往HTTP TO CQ的 releases 下载最新版本。

②. 将下载好的.cpk格式文件移动至酷Q根目录下的/app文件夹下。

③. 启动一次酷Q程序,右键酷Q标志,选择:应用 > 应用管理,如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcC80kIu-1582724960083)(https://i.vgy.me/QpgBpK.png)]

然后将会出现应用管理界面,选择HTTP API插件并选择启用,如图所示:
选择并启用

HTTP TO CQ插件自带UI,对于新手来说还是比较友好的。其配置UI图例如图:

打开设置
设置UI示例1 设置UI示例2

3. 创建Java项目

你可以使用一切支持的方式来自动构建项目,以下将会举几个例子:

[info] 版本号请自行替换为 Maven仓库中的最新版本:https://img.shields.io/maven-central/v/io.github.ForteScarlet.simple-robot-core/component-forhttpapi

①. Maven

<dependency><groupId>io.github.ForteScarlet.simple-robot-core</groupId><artifactId>component-forhttpapi</artifactId><version>${version}</version>
</dependency>

②. Gradle

implementation 'io.github.ForteScarlet.simple-robot-core:component-forhttpapi:${version}'

③. Grape

@Grapes(@Grab(group='io.github.ForteScarlet.simple-robot-core', module='component-forhttpapi', version='${version}')
)
)

二. 使用

4. 配置

有两个地方需要你进行配置:

  • 酷Q的HTTP TO CQ
  • 你需要启动的Java程序

从Java的配置开始吧。

由于目前文件配置尚比较繁琐,便暂时先只介绍代码配置的方式。如果对目前的较为繁琐的文件配置有兴趣,请在了解代码配置的情况下查看 文件配置方式

首先,创建一个类,实现com.forte.qqrobot.component.forhttpapi.HttpApp接口,并实现接口中的beforeafter方法。

现在假定你这个类叫做 RunApp , 方便后续的代称。当然,它实际上叫做什么都无所谓。

可以发现,before方法中存在一个叫做HttpConfiguration的参数,我们就要通过这个参数对象进行配置。
以下我将会列举最常见的几项配置信息,而全面的配置可选项请查看核心通用配置 与 组件额外配置

关于HTTP TO CQ的配置与Java程序的配置信息,我简单画了这么一个对应关系图:
对应关系图

!!! 千万别忘了写端口号! 插件的提交地址的默认值并没有写端口号,这是个坑 !!!

5. 运行

历尽千辛万苦,终于到了这一步。
首先,新建一个main方法在任意地方。
写下以下代码,并且别忘了那个RunApp实际上代表了什么:

HttpApplication application = new HttpApplication();
// 启动
application.run(new RunApp());

[success] 如果这时候一看到控制台所输出的日志中最终出现了你的机器人的一些信息,那么恭喜,这说明你已经发送、获取、设置消息了。

那么能不能监听到消息呢?写一些代码来测试一下吧。

6. 第一个监听器

①. 新建一个类

[info] 尽量在RunApp的同级目录或者子级目录下创建。
创建好之后,在这个类上标注一个注解:@com.forte.qqrobot.anno.depend.Beans, 即@Beans

②. 写一个监听私信的方法

我们写一个监听私信消息满足正则:hello.*的私信消息监听函数,且当我们收到消息后,复读。
完整代码如下:

@Beans
public class TestListener {@Listen(MsgGetTypes.privateMsg)@Filter("hello.*")public void testListen1(PrivateMsg msg, MsgSender sender) {System.out.println(msg);// 以下三种方法均可,效果相同sender.SENDER.sendPrivateMsg(msg, msg.getMsg());
//        sender.SENDER.sendPrivateMsg(msg.getQQ(), msg.getMsg());
//        sender.SENDER.sendPrivateMsg(msg.getQQCode(), msg.getMsg());}
}

注:如果在默认配置的情况下,监听器的被扫描包范围在RunApp启动器的同级包目录与其子目录

③. 在来一次

这次我们再启动一次,如果发现启动日志中成功加载了这个监听函数,那就试着给你的机器人发送一句hello world吧。
如果它也回复了你一句hello world,那么说明至此你已经成功了,可以继续深入的探索 文档 中所提供的丰富功能并实现你想要的机器人吧~

7. 失败了?

如果跟着上述流程完整无误的操作却无法成功,也不要气馁,尝试根据常见问题汇总进行排查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/52171.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析报告

很多人在写数据分析报告的时候&#xff0c;往往更关注如何将报告做的更美观&#xff0c;例如&#xff1a;做漂亮的可视化图表&#xff0c;做很炫的PPT等。但当别人看你做的数据分析报告的时候&#xff0c;往往更关注这个报告对他是否有价值&#xff1f;价值是什么&#xff1f;值…

医学研究生常用软件介绍

作为医学图像处理专业的学生&#xff0c;时常会需要各种各样的软件处理图像&#xff0c;以及各种各种辅助撰写文章的文件&#xff0c;但是时常需要的时候找不到&#xff0c;这里做一个记录&#xff0c;持续更新中…… 用于截图 Snipaste&#xff1a; 虽然qq截图也不错&#xf…

Adversarial Attacks against Face Recognition: A Comprehensive Study论文解读

一些专有名词缩写&#xff1a;automated border control (ABC) systems. 自动控制系统、面部识别(FR).面部识别、LBP&#xff08;Local Binary Pattern&#xff0c;局部二值模式&#xff09; 面部识别(FR)已成为身份认证的主要生物识别技术&#xff0c;并广泛用于各类领域&…

【论文阅读】A statistical analysis based recommender model for heart disease patients

模型主要分为了两个部分 第一个部分是HD_PM 主要是做预测的 第二个部分是SAbHD_RM 主要是做推荐的。 我们主要是对心脏病进行一个疾病预测&#xff08;四选一&#xff09;&#xff0c;然后进行建议的匹配&#xff0c;这个建议来源于专家建立的知识库。 模型大概分为以下几个部…

《论文阅读》Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memor

Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory 问题提出该问题面临的挑战本文创新点本文难题收获开源代码论文类别:情感对话生成 对话轮次:单轮 本文带来Hao Zhou, Minlie Huang, Tianyang Zhang, Xiaoyan Zhu, Bing …

【论文阅读】A survey on adversarial attacks and defences

文章目录 引入机器学习和对抗模型的一些定义The attack surfaceThe adversarial capabilities训练阶段的能力测试阶段的能力白盒攻击黑盒攻击 Adversarial goals EXPLORATORY ATTACKS探索性攻击Model inversion attack模型反演攻击Model extraction using APIsInference attack…

情感支撑对话论文最近进展 Emotion Support Conversation

这一篇博客主要分析一下&#xff0c;目前在情感支撑&#xff0c;也就是心理咨询这个场景下面相关论文的一些最新情况&#xff0c;论文的链接以及主要的思想。后续会具体的来介绍每一篇文章的动机&#xff0c;方案&#xff0c;实验结果。 1、Esconv&#xff1a; Towards Emoti…

分享品牌取名的4个好用技巧,AI免费生成品牌名称工具

品牌名称在现代商业中起着至关重要的作用&#xff0c;一个好的品牌名称不仅可以节省营销成本&#xff0c;还有可能对品牌的发展前景产生影响&#xff0c;那么究竟什么样的品牌名称才算是好的呢&#xff1f;今天就给大家介绍4个品牌取名的小技巧&#xff0c;全是干货&#xff0c…

使用企业微信发送应用消息API实现消息推送

参考官方文档&#xff1a; 发送应用消息、调试工具、简易教程 先看完整代码及效果展示&#xff0c;然后具体分析 import requests import json# 1&#xff0c;获取access_token url "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid{0}&corpsecret{1}".f…

微信企业号获取关注者信息示例

1、序言 接到个客户的需要&#xff0c;需要在微信企业号中&#xff0c;用户点击里面应用&#xff0c;去获取用户的信息。简单的制作了个demo&#xff0c;进行记录。 2、准备工作 1、首先&#xff0c;获取登录企业后台的权限&#xff0c;创建者把你加入到管理员组即可。 2、获取…

【微信公众号】关注消息回调

微信公众平台设置 1.【基本设置】回调url路径 2.公众号基础设置 3.代码体现 public function wxCallback(Request $request) { $app app(‘wechat.official_account.default’); $accessToken $app->access_token->getToken()[‘access_token’]; // //设置菜单 $…

LLMs:大型语言模型进化树结构图之模型(BERT-style/GPT-style)、数据(预训练数据/微调数据/测试数据)、NLP任务(五大任务+效率+可信度+基准指令调优+对齐)、三大类模型的使用

LLMs&#xff1a;大型语言模型进化树结构图之模型(BERT-style/GPT-style)、数据(预训练数据/微调数据/测试数据)、NLP任务(五大任务效率可信度基准指令调优对齐)、三大类模型的使用和限制(Encoder-only、Encoder-Decoder、Decoder-only) 目录 大型语言模型进化树结构图之模型(…

1024 鲲鹏开发者技术沙龙·福州站圆满收官!给程序员的福利你收到了吗?

10月24日&#xff0c;由华为技术有限公司与福建鲲鹏生态创新中心联合主办的“1024鲲鹏开发者技术沙龙”在福州顺利举行。 在沙龙上&#xff0c;来自福建鲲鹏生态创新中心运营总监宋宗佑为活动进行致辞&#xff0c;福建鲲鹏生态创新中心生态总监朱晓彤对鲲鹏生态创业中心进行介绍…

HighNewTech:18.11.07—第五届世界互联网大会—互联网届的奥斯卡大奖—15张PPT见证15项世界互联网领先科技成果

High&NewTech&#xff1a;18.11.07—第五届世界互联网大会—互联网届的奥斯卡大奖—15张PPT见证15项世界互联网领先科技成果 目录 现场图片 1、马化腾&#xff1a;微信小程序商业模式创新 2、阎力大&#xff1a;华为昇腾310芯片 3、井贤栋&#xff1a;蚂蚁金服自主可控…

2019,你不知道的大厂薪酬

https://www.toutiao.com/a6707464019306873347/ 本文原创首发于“青创联Young Star”公众号&#xff0c;转载请注明出处。 文 | T.K 田卡 编辑 | 晓彤 ▲ BAT三科技巨头创始人&#xff0c;图/IT时代周刊 香港媒体《世界日报》近日发了一篇题为《香港“打工皇帝”恐被腾讯刘炽…

AS 导入Eclipse项目报错:Error: java.lang.RuntimeException: Some file crunching failed, see logs for details

错误原因: &#xff21;S对.9图的要求很严格,但是Eclipse会直接忽视.9图的错误. 解决方案: 打开Gradle Console 窗口查看是哪个.9图有问题.以及问题的原因. 问题原因通常是.9图没有制作好,或者是不应该是.9图却命名成.9图. 要么用AS自带的.9图编辑器修正一下图片,要么把…

马斯克被曝摆架子/ 朱晓彤卸任特斯拉中国法人/ 苹果M2Pro首发台积电3nm...今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好&#xff01;今天是12月28日星期三。 2022年最后一个打工周已过半。 今天科技圈都在关心什么新鲜事&#xff1f; 一起来看看。 微念与李子柒和解 12月27日&#xff0c;微念官方公号发布信息&#xff1a; 微念与李子柒在绵阳市中…

巴比特 | 元宇宙每日必读:生成式AI会对下一代互联网产生怎样的影响?GPT会成为AI时代的操作系统吗?元宇宙又该何去何从?...

摘要&#xff1a;据澎湃新闻报道&#xff0c;3月30日&#xff0c;在博鳌亚洲论坛2023年年会“下一代互联网”论坛上&#xff0c;腾讯集团高级执行副总裁汤道生认为&#xff0c;下一代互联网具有三大基本趋势&#xff0c;分别是AI驱动、全真互联网以及产业互联网&#xff1b;诺基…