实现qq群消息接收和发送功能

news2024/9/28 13:28:47

QQWebsocketClient是什么

实现qq群消息接收和发送功能,基于websocket技术和cqhttp服务开发

一、 效果截图

在这里插入图片描述

二、实现思路

使用cqhttp进行socket反向代理,获取qq聊天的所有消息

编写java客户端,连接至cqhttp服务器获取聊天消息

获取聊天消息,获取机器人的回答

将机器人的返回消息发送到qq群

三、如何搭建服务

1、准备工作

准备一个qq号(后续的服务都要用到这个qq,接收qq的消息并且使用qq号发送消息)

获取的api接口key(如果不知道自行百度)

2、启动腾讯qq,并且保持在线

3、搭建cqhttp服务器(windows环境)

进入项目目录下的go-cqhttp_windows_amd64文件夹,启动go-cqhttp.exe,启动可能会有两次警告点击确认即可,启动后生成go-cqhttp.bat文件

启动go-cqhttp.bat,选择03回车,提示修改config.yml配文件,使用项目目录doc文件下的config.yml文件覆盖这个文件后,修改配置qq号为自己准备的qq号

image

image

修改好配置文件,重新启动go-cqhttp.bat后,提示扫码登录,使用手机扫码,手机登录的也是这个qq

如果控制台太小扫不上可以扫安装路径下生成的二维码:

image

扫码成功后显示如下内容为成功启动

image

4、修改服务配置,设置群号和本人qq号,设置密钥

以上和qq交互的服务器已经搭建完成,接下来搭建qq的客户端,也就是实现qq群消息自动回复消息的功能
修改如下图所示配置,启动springboot即可

image

以下界面为启动成功,让群里的其他人员@你并且提问即可,收到消息选择你要回复的内容自动回复

在这里插入图片描述

5、存在的问题

WebSocketConfig中实现私聊和群聊消息的接收,但是在测试过程中发现私聊消息过长会导致消息发送失败,但是群聊正常,所以目前禁用了私聊消息回复功能

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring boot 自动配置类,详细过程

springboot version(v2.7.8)启动类SpringBootApplication public class SecurityApplication { public static void main(String[] args) {SpringApplication.run(SecurityApplication.class, args);} }1 点击 SpringBootApplication进入,EnableAutoConfiguration 开…

把Typora图片自动上传网

闲话少说 总共三步下载PicGohttps://github.com/Molunerfinn/PicGo/releases/download/v2.3.1/PicGo-Setup-2.3.1-x64.exe直接点就行这里略过Gitee我们需要使用 Git 来保存我们的图片,又因为国内访问 Github 速度比较慢,所以这里推荐使用国内的 Git 托管…

Blazor入门100天 : 身份验证和授权 (1) - 建立带身份验证工程

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 知识点 Microsoft.AspNetCore.…

数据结构与算法之数组寻找峰值分而治之

这一篇分享一道在数组中寻找峰值的题目,使用到分而治之,二分查找等思想。本文章会讲解这个二分查找的本质,以及为什么要用二分查找,它能解决哪一类题目?目录:一.题目及其要求1.分而治之2.题目思路3.具体做法…

渗透测试实战 - 外网渗透内网穿透(超详细)

文章目录实验环境Target1 - Centos7 (web服务)Target2 - Ubuntu (内网web服务)Target3 - Windows7 (客户端)实验目的实验步骤测试Target1信息收集22/21端口 弱口令爆破(MSF,hydra)3306端口8888端口80端口主机信息收集反…

在AWS Glue上使用JDBC连接Trino

呼应此前一篇文章《在Spark上使用JDBC连接Trino》,继续在AWS Glue上测试JDBC连接Trino,同样,这是一个非常不典型的应用用场景,本文仅记录测试步骤和结果,不做评论。本文地址:https://laurence.blog.csdn.ne…

还在想假期去哪玩?直接做一个旅游攻略小程序

憋了几年好不容易解封准备出去散散心,但看着大江南北这么多景点是不是有点让你选择强迫症呢?那就先制作一个旅游攻略小程序看看驴友们的分享吧。

E. Explosions?(思维+单调队列

Problem - E - Codeforces 题意:有 n 个怪,生命值为,你有两种操作,一种花费 1 MP减少一个怪的一格血量,可以操作任意次;另一次是花费 x MP,制造一个爆炸,可以不断消灭两侧连续严格递…

【C语言】 详谈指针

☃️内容专栏:【C语言】初阶部分 ☃️本文概括:继初识C语言,对C语言指针初阶部分进行归纳与总结。 ☃️本文作者:花香碟自来_ ☃️发布时间:2023.2.17 目录 一、指针和指针类型 1.1 指针 1.2 指针类型 其一&#x…

运动耳机选择什么模式?运动耳机的正确选择

动是生命的源泉,有许多朋友都会在运动的时候戴上一个运动耳机。因为运动时听音乐会给我们带来充足的动力,但是选择一款合适自己的运动耳机也是一门学问,今天我就来给大家推荐几款还不错的运动耳机。 1、NANK南卡RunnerPro4骨传导运动耳机 骨…

下载网上压缩包(包含多行json)并将其转换为字典的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

分布式 CAP BASE理论

文章目录CAP简介不是所谓的“3 选 2”CAP 实际应用案例BASE简介BASE 理论的核心思想总结CAP 简介 在理论计算机科学中,CAP 定理(CAP theorem)指出对于一个分布式系统来说,当设计读写操作时,只能同时满足以下三点中的…

cesium学习记录01

1,将右弦GISer的cesium实战系列的大部分功能(25-110) 都又跟着走了一遍(大部分是CTRL CCRTL V) 2,代码SVN地址(用户名:liu 密码:123) 主要文件是test/src/views/MapFu…

Prometheus离线tar包安装

Prometheus离线tar包安装实验环境一、部署前操作二、Master2.1下载2.2解压2.3更改服务目录名称2.4创建系统服务启动文件2.5配置修改2.6启动并设置开机自启2.7访问2.8添加node节点2.8.1 添加方法2.8.2修改Prometheus配置(Master)————————————…

docker:实例演示妙用export让容器和数据分离

简介:docker-export用于将容器打包成基础镜像,主要作用就是制作基础镜像,特别是在容器非常大的情况下,拉取了一个空白系统镜像,创建容器后安装了一堆自己需要的环境,就可以使用 export 命令打包成自己的基础…

2005-2022中国企业对外直接投资、OFDI海外投资明细、中国全球投资追踪数据CGIT(含非建筑施工类问题投资)

中国全球投资跟踪”(China Global Investment Tracker),数据库,美国企业研究所于1月28日发布。数据库显示,2005年以来,中国对外投资和建设总额已接近2万亿美元。该数据库是唯一一套涵盖中国全球投资和建设的…

概率和似然

在日常生活中,我们经常使用这些术语。但是在统计学和机器学习上下文中使用时,有一个本质的区别。本文将用理论和例子来解释概率和似然之间的关键区别。 概率与似然 假设在一场棒球比赛中,两队的队长都被召集到场上掷硬币。获胜的队长将根据掷…

Linux 监测服务心跳、服务重启策略

文章目录前言背景一、curl服务可用验证二、服务探测脚本三、配置系统定时任务四、Linux特殊字符转义总结前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 背景 当…

【飞桨AI-Python小白逆袭大神课程】作业1-python基础练习

链接:飞桨AI Studio - 人工智能学习与实训社区 作业一:输出 9*9 乘法口诀表(注意格式) 注意:提交作业时要有代码执行输出结果。 def table():#在这里写下您的乘法口诀表代码吧!if __name__ __main__:table() 思路&#xff1a…

基础篇—CSS padding(填充\内边距)解析

CSS padding(填充) CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。 属性说明padding使用简写属性设置在一个声明中的所有填充属性padding-bottom设置元素的底部填充padding-left设置元素的左部填充padding-right设置元素的右部…