开始

欢迎来到 go-cqhttp 文档!

如果你在阅读完这篇向导之后还感到很迷惑, 那么我们建议你阅读: OneBot: 一个聊天机器人应用接口标准open in new window

基础教程

下载

releaseopen in new window 界面下载最新版本的 go-cqhttp

系统类型可执行文件压缩文件
Intel 版 MacosNot availablego-cqhttp_darwin_amd64.tar.gz
M1 版 MacosNot availablego-cqhttp_darwin_arm64.tar.gz
32 位 LinuxNot availablego-cqhttp_linux_386.tar.gz
64 位 LinuxNot availablego-cqhttp_linux_amd64.tar.gz
arm64 LinuxNot availablego-cqhttp_linux_arm64.tar.gz
armv7 LinuxNot availablego-cqhttp_linux_armv7.tar.gz
32 位 Windowsgo-cqhttp_windows_386.exego-cqhttp_windows_386.zip
64 位 Windowsgo-cqhttp_windows_amd64.exego-cqhttp_windows_amd64.zip
arm64 Windowsgo-cqhttp_windows_arm64.exego-cqhttp_windows_arm64.zip
armv7 Windowsgo-cqhttp_windows_armv7.exego-cqhttp_windows_armv7.zip
  • SHA-256信息在 go-cqhttp_checksums.txt , 可用于校验文件完整性
  • 如果没有你所使用的系统版本或者希望自己构建, 请移步 进阶指南-如何自己构建

解压

  • Windows下请使用自己熟悉的解压软件自行解压
  • Linux下在命令行中输入 tar -xzvf [文件名]

使用

Windows 标准启动方法

  1. 双击go-cqhttp_*.exe,根据提示生成运行脚本
  2. 双击运行脚本
[WARNING]: 尝试加载配置文件 config.yml 失败: 文件不存在
[INFO]: 默认配置文件已生成,请编辑 config.yml 后重启程序.
1
2
  1. 参照config.mdopen in new window和你所用到的插件的 README 填入参数
  2. 再次双击运行脚本
[INFO]: 登录成功 欢迎使用: balabala
1

如出现需要认证的信息, 请自行认证设备。

此时, 基础配置完成

Linux 标准启动方法

  1. 通过 SSH 连接到服务器
  2. cd到解压目录
  3. 输入 ./go-cqhttp, Enter运行 , 此时将提示
[WARNING]: 尝试加载配置文件 config.yml 失败: 文件不存在
[INFO]: 默认配置文件已生成,请编辑 config.yml 后重启程序.
1
2
  1. 参照 config.mdopen in new window 和你所用到的插件的 README 填入参数
  2. 再次输入 ./go-cqhttp, Enter运行
[INFO]: 登录成功 欢迎使用: balabala
1

如出现需要认证的信息, 请自行认证设备。

此时, 基础配置完成

注意

需要保持 go-cqhttp 在后台持续运行

请配合 screen 等服务来保证断开 SSH 连接后 go-cqhttp 的持续运行

开始与 go-cqhttp 交互

go-cqhttp 成功运行之后, 你就可以通过自己写的程序, 使用 HTTP 或者 WebSocketgo-cqhttp 进行通讯, 实现 QQ 机器人. 在这个过程中, 你的程序只需要把一些数据发送给 go-cqhttp, 关于 QQ 的通信协议, go-cqhttp 会帮你解决.

你也可以将 go-cqhttp 部署在你的服务器上, 并加上验证, 这样, 你就可以在各个地方使用自己的程序连接到远程的 go-cqhttp.

想要与 go-cqhttp 进行通信, 你可以使用专门为 go-cqhttp 开发的开源 SDK, 这是最好的选择. 不过你也可以直接使用实现 OneBot 协议的开源 SDK, 只是他们可能并不包含 go-cqhttp 中的某些 API 或者消息类型, 这或许会影响你的使用体验.

已知的 go-cqhttp 通信 SDK

语言 / 平台名称简介通信协议支持开源
C# / .NETEleCho.GoCqHttpSdk完全遵守 C# 命名规范, 优雅与便捷的 Go-CqHttp 通信 SDK, 完全支持 array 与 string 通信格式正反向 HTTP, 正向 WebSocketGitHubopen in new window
C# / .NETIlyfairyLib.GoCqHttpSdk一个 go-cqhttp 的 C# SDK, 使用了类似管道的模式正向 HTTP, 正向 WebSocketGitHubopen in new window
C# / .NETSaladim.QBot封装了大部分常用事件及接口并从其抽象, 从抽象层再次封装了简单可依赖注入的简单服务(指令解析, 事件处理管线, 简单的协程, session等)正反向HTTP, 正向WebSocketGithubopen in new window
GOleafbot基于 go-cqhttp,实现 onebot 协议的 go 语言版本 sdk,拥有内置插件。正向 HTTP, 正反向 WebSocketGitHubopen in new window
GONyabotNyaBot 是一个基于 Go 语言的开源聊天机器人框架,支持多种聊天平台协议。正向 HTTP, 正反向 WebSocketGitHubopen in new window
PHP虞灪go-cqhttp的php sdk,拥有完整的代码提示和注释,使你可以脱离文档来快速开发正向 HTTPGitHubopen in new window
PythonpycqBotgo-cqhttp python 框架,可以用于快速搭建 bot正向 HTTP, 正向 WebSocketGitHubopen in new window
PythonNakuru Project一款为 go-cqhttp 的正向 WebSocket 设计的 Python SDK,支持纯 CQ 码与消息链的转换处理正向 HTTP, 正向 WebSocketGitHubopen in new window

以上数据来自于 GitHub 搜索, 如有错误, 请指出

跳过启动的五秒延时

使用命令行参数 faststart即可跳过启动的五秒钟延时,例如

# Windows
.\go-cqhttp.exe -faststart

# Linux
./go-cqhttp -faststart
1
2
3
4
5

进阶指南

如何自己构建

  1. 下载源码open in new window并解压 || 使用 git clone https://github.com/Mrs4s/go-cqhttp.git 来拉取

  2. 下载golang binary releaseopen in new window并安装或者自己构建golangopen in new window

  3. cmd 或Linux命令行中, cd 到目录中

  4. 输入 go build -ldflags "-s -w -extldflags '-static'", Enter 运行

注:可以使用 go env -w GOPROXY=https://goproxy.cn,direct 来加速国内依赖安装速度

更新

方法一

releaseopen in new window 界面下载最新版本的 go-cqhttp 并替换之前的版本

方法二

使用更新参数, 在命令行中打开 go-cqhttp 所在目录

windows

输入指令

go-cqhttp.exe update
1

如果在国内连接github下载速度可能很慢, 可以使用镜像源下载

go-cqhttp.exe update https://hub.fgit.ml
1

目前可用的镜像源

  • https://hub.fgit.ml

linux

方法与windows基本一致, 将 go-cqhttp.exe 替换为 ./go-cqhttp 即可

./go-cqhttp update
1

安装 ffmpeg

为了支持任意格式的语音发送, 你需要安装 ffmpeg 。

Windows

这里open in new window 下载 并解压, 并为 bin 这个文件夹添加环境变量。

如果遇到下载速度缓慢的问题可以用 这个源open in new window

然后在 cmd 输入 (不能使用 powershell)

setx /M PATH "C:\Program Files\ffmpeg\bin;%PATH%"
1

自行将这个指令中的 C:\Program Files 替换成你的解压目录。

Linux

Ubuntu / Debian :

终端执行

apt install -y ffmpeg
1

Fedora / RHEL / CentOS :

根据 Rpmfusionopen in new window 的文档配置源

终端执行

# Centos7 及之前
yum install ffmpeg ffmpeg-devel 

# CentOS8 及之后
dnf install ffmpeg ffmpeg-devel
1
2
3
4
5