Skip to content
/ VioGo Public

使用go搭建的bot服务,用于处理消息逻辑,支持chatgpt

Notifications You must be signed in to change notification settings

viogami/VioGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VioGo

Go Reference viogo文档

中文文档快速开始

golang编写的机器人业务后端,bot取名为 Vio ,qq机器人的实现基于gocq提供的api,监听gocq的上报事件调用转发外部讯息并返回。

可以完成基于chatgpt聊天任务,以及一些简单的指令响应。

目前正在重构,并且开发后台管理界面!除了聊天,VioGo的目标是可以在后台分析聊天数据的奇妙bot!

如果你有想法和意见请提issue!这对我和bot都很重要! 欢迎qq加群讨论:340961300

实现平台以及实现的外部功能:

  • QQ bot

    • 随机涩图
    • 猎杀对决枪声语音
    • 发送已撤回的消息
    • 禁言抽奖
  • 天然支持http请求,使用go原生net包,创建了/post请求的路由,可以解析post内容转发调用chatgpt。

  • 配合go-cqhttp使用,用于实现qqbot,基于上报事件,调用gocq提供的api进行回复。注意参考gocq官方文档。可以调用api发送图片,随机图片api参考

快速开始

在安装本bot之前你需要部署两个前置服务:gocq服务以及qsign签名服务器

  • gocq可以通过官方途径部署。gocq提供了链接指定bot的qq号,本项目只提供了bot的消息处理逻辑。
  • qsign服务器可以通过docker拉取,建议拉取新更新的,请使用txlib 9.x.x版本和手表协议,不然容易报错低版本。
  • 更多细节可以参考我的个人博客

部署到paas平台

可fork本仓库,用git连接到指定paas平台部署,注意配置环境变量即可。

环境变量参考config/env.go文件

部署到本地

clone仓库源码 需要本地go环境 打包成可执行文件

以linux为例:

set goos=linux
go build main.go

之后配置环境变量挂载指定端口即可启动

更新

2024/5更新:目前做了一次重大项目重构,使整个项目耦合程度下降,命令通过一个commandList哈希表来控制。websocket的conn不传入业务层,而是向外不断返回一个消息体,最后交给外层的ws连接发送。整个项目更加明了易读。添加了config配置文件,统一管理环境变量的初始化。

2025/4/1更新: 重大重构,基本相当于重写了一边,完善了项目架构,考虑了扩充和ws连接并发处理。具体参考更新文档。

About

使用go搭建的bot服务,用于处理消息逻辑,支持chatgpt

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages