1 Star 0 Fork 0

花风 / huafeng-bot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

基于go-cqhttp的QQ聊天机器人

基于 go-cqhttp 和 java Spring Boot 的QQ聊天机器人,支持灵活地配置多个监控群任务!

本项目采用多种设计模式,解耦监控者及回答者,可以灵活配置多个不同群聊的监控,并绑定不同类型的自动回复。

安装 go-cqhttp

1)点击go-cqhttp.exe,在当前界面选择02

img

2)修改config.yml,怎么修改参考已上传的config.yml,注意:

img

3)如果扫码登录不成功,将device.json文件中Protocol的值修改为2,再次启动即可

image-20230413214309021

Java快速启动 1)修改 application.yml 配置主要包含 2 部分:

  • 机器人属性配置
server:
  port: 8080

huafeng:
  bot:
    port: 5700
    #管理的群聊
    manage-groups:
      #群号
      "810174486":
        #进群答案
        answers:
          - 答案1
          - 答案2
        #群聊回复类型
        type: default
        #次数限制
        limit: 5
    #私聊次数限制
    limit: 3
    #是否保存撤回记录
    is-save: true
    #保存的路径
    save-path: C:\Users\柒挽萦\Desktop\ppt\聊天记录
    #保存的时间要使用cron表达式,要使用最好一天或者两天内,保存一次,不然如果消息太多,可能会out of memory
    #cron表达式生成网站:https://cron.qqe2.com/
    cron: 0 0 22 * * ?

openai:
  #模型
  model: gpt-4
  api-key: hello-world
  • openAI配置(需要一个 Api Key)

2)直接运行主类QqrobotDemoApplication即可

本项目最关键的设计就是在于 解耦监听者与回答者 ,你可以监听任何群聊,并且给每个群聊绑定不同的自动回答(比如 OpenAI)。

实现关键:

定义 Answer 回答者接口,统一回答的方法 定义 Listener监听者接口,统一监听的方法,并针对消息类型的,通过 Answer 回调参数实现对监控到的消息进行自动回复

使用策略模式,根据配置生成监听者和回答者

开发

自定义监听

1)编写一个类,实现 Listener接口,并在该类上添加@Listener注解(要声明类型type)

2)实现parse()方法,对监听到的消息进行相应的处理

自定义回答

1)编写一个类,实现 answer/Answer 接口,并在该类上添加@Answer注解(根据自己需求来声明类型,默认类型为default)

2)实现createAnswer()方法,补充创建你自己的回答者

空文件

简介

基于SpringBoot + go-cqhttp 的QQ机器人 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/flower-wind/huafeng-bot.git
git@gitee.com:flower-wind/huafeng-bot.git
flower-wind
huafeng-bot
huafeng-bot
master

搜索帮助