releases: https://github.com/Mrs4s/go-cqhttp/releases/
下载对应版本压缩包.zip
或 .tar.gz
这里只单独介绍Linux下安装
当前使用版本: v1.0.0-beta4
以压缩包go-cqhttp_linux_amd64.tar.gz
为例
# 新建目录 把压缩包放进去
[root@centos7 ~] # mkdir qqbot && mv go-cqhttp_linux_amd64.tar.gz ./qqbot
# 进入目录
[root@centos7 ~] # cd qqbot
# 解压
[root@centos7 ~] # tar -zxvf go-cqhttp_linux_amd64.tar.gz
# 当前目录结构
├── LICENSE
├── README.md
├── go-cqhttp
└── go-cqhttp_linux_amd64.tar.gz
# 第一次运行
[root@centos7 ~] # ./go-cqhttp faststart
未找到配置文件,正在为您生成配置文件中!
请选择你需要的通信方式:
> 1: HTTP通信
> 2: 正向 Websocket 通信
> 3: 反向 Websocket 通信
> 4: pprof 性能分析服务器
请输入你需要的编号,可输入多个,同一编号也可输入多个(如: 233)
您的选择是:13
默认配置文件已生成,请修改 config.yml 后重新启动!
到这里已经生成了config.yml
配置文件, 我选择了HTTP通信和反向WebSocket一般情况搭配nonebot2使用只需要开启反向WebSocket
config.hjson
配置文件
uid
: 改成QQ号password
: 改成密码ws://your_websocket_universal.server
: 改成 ws://127.0.0.1:8765/cqhttp/ws
ws://your_websocket_api.server
改成 ws://127.0.0.1:8765/cqhttp/api
ws://your_websocket_event.server
改成 ws://127.0.0.1:8765/cqhttp/event
到此修改完毕
0x04:启动 go-cqhttp[root@centos7 ~] # ./go-cqhttp faststart
[2021-05-27 23:51:53] [INFO]: 当前版本:v1.0.0-beta4
[2021-05-27 23:51:53] [INFO]: 用户交流群: 721829413
[2021-05-27 23:51:53] [WARNING]: 虚拟设备信息不存在, 将自动生成随机设备.
[2021-05-27 23:51:53] [INFO]: 已生成设备信息并保存到 device.json 文件.
[2021-05-27 23:51:53] [INFO]: 开始尝试登录并同步消息...
[2021-05-27 23:51:53] [INFO]: 使用协议: iPad
[2021-05-27 23:51:54] [INFO]: Protocol -> connect to server: 113.96.13.95:8080
[2021-05-27 23:51:58] [INFO]: 收到服务器地址更新通知, 将在下一次重连时应用.
[2021-05-27 23:51:58] [INFO]: 登录成功 欢迎使用: 雨
[2021-05-27 23:51:58] [INFO]: 开始加载好友列表...
[2021-05-27 23:51:58] [INFO]: 共加载 20 个好友.
[2021-05-27 23:51:58] [INFO]: 开始加载群列表...
[2021-05-27 23:52:00] [INFO]: 共加载 11 个群.
[2021-05-27 23:52:00] [INFO]: 信息数据库初始化完成.
[2021-05-27 23:52:00] [INFO]: 正在加载事件过滤器.
[2021-05-27 23:52:00] [INFO]: 资源初始化完成, 开始处理信息.
[2021-05-27 23:52:00] [INFO]: アトリは、高性能ですから!
[2021-05-27 23:52:00] [INFO]: CQ HTTP 服务器已启动: 127.0.0.1:5700
[2021-05-27 23:52:00] [INFO]: 正在检查更新.
[2021-05-27 23:52:00] [INFO]: 开始尝试连接到反向WebSocket Universal服务器: ws://127.0.0.1:8765/cqhttp/ws
[2021-05-27 23:52:00] [WARNING]: 连接到反向WebSocket Universal服务器 ws://127.0.0.1:8765/cqhttp/ws 时出现错误: dial tcp 127.0.0.1:8765: connect: connection refused
这里go-cqhttp启动完成。
0x05:安装nonebot2
pip install -i https://pypi.doubanio.com/simple nb-cli
推荐
pip install -i https://pypi.doubanio.com/simple nonebot2
0x06:生成 bot 项目推荐安装
nb-cli
方便后期生成Bot
项目
[root@centos7 ~] # nb
# Create a New Project
# Project Name: lin
# In a "src" folder
# Load NoneBot Builtin Plugin? (y/N) n
adapter
选择 cqhttp
或者 gocq
机器人项目生成好了, 下面是目录结构
lin
├── Dockerfile
├── README.md
├── bot.py
├── docker-compose.yml
├── pyproject.toml
└── src
└── plugins
# bot.py 的内容
[root@centos7 ~] # cat bot.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import nonebot
# Custom your logger
#
# from nonebot.log import logger, default_format
# logger.add("error.log",
# rotation="00:00",
# diagnose=False,
# level="ERROR",
# format=default_format)
# You can pass some keyword args config to init function
nonebot.init()
app = nonebot.get_asgi()
driver = nonebot.get_driver()
nonebot.load_from_toml("pyproject.toml")
# Modify some config / config depends on loaded configs
#
# config = driver.config
# do something...
if __name__ == "__main__":
nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")
nonebot.run(app="__mp_main__:app")
修改bot,py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import nonebot
from nonebot.adapters.cqhttp.bot import Bot
# from nonebot.adapters.cqhttp.bot import Bot
# Custom your logger
#
# from nonebot.log import logger, default_format
# logger.add("error.log",
# rotation="00:00",
# diagnose=False,
# level="ERROR",
# format=default_format)
# You can pass some keyword args config to init function
nonebot.init()
nonebot.get_driver().register_adapter("cqhttp", Bot)
app = nonebot.get_asgi()
driver = nonebot.get_driver()
nonebot.load_from_toml("pyproject.toml")
# Modify some config / config depends on loaded configs
#
# config = driver.config
# do something...
if __name__ == "__main__":
nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")
nonebot.run(app="__mp_main__:app")
0x07:运行
修改 .env.dev 中的 PORT参数(刚刚在go-cqhttp配置文件中给出的反向代理地址的端口为 8765) 这里运行前需要先安装好 cqhttp adapter
nb adapter install cqhttp
也请确保 go-cqhttp 也正处于运行状态 可以另起一个终端
PORT=8765
就可以, 或者你可以根据自己的喜好更改, 不要忘记连同 go-cqhttp目录下config.yml 或 config.hjson
文件中的反向代理端口一起修改。
到此就可以正式运行了
# python3 或者 python
[root@centos7 ~] # python3 bot.py
05-28 00:33:43 [INFO] nonebot | NoneBot is initializing...
05-28 00:33:43 [INFO] nonebot | Current Env: dev
05-28 00:33:43 [DEBUG] nonebot | Loaded Config: {'driver': 'nonebot.drivers.fastapi', 'host': IPv4Address('127.0.0.1'), 'port': 8765, 'debug': True, 'api_root': {}, 'api_timeout': 30.0, 'access_token': None, 'secret': None, 'superusers': set(), 'nickname': set(), 'command_start': {'/'}, 'command_sep': {'.'}, 'session_expire_timeout': datetime.timedelta(seconds=120), 'environment': 'dev'}
05-28 00:33:43 [DEBUG] nonebot | Succeeded to load adapter "cqhttp"
05-28 00:33:43 [WARNING] __main__ | Always use `nb run` to start the bot instead of manually running!
05-28 00:33:43 [INFO] nonebot | Running NoneBot...
05-28 00:33:43 [DEBUG] nonebot | Loaded adapters: cqhttp
05-28 00:33:43 [INFO] uvicorn | Uvicorn running on http://127.0.0.1:8765 (Press CTRL+C to quit)
05-28 00:33:43 [INFO] uvicorn | Started reloader process [1165] using watchgod
05-28 00:33:43 [INFO] nonebot | NoneBot is initializing...
05-28 00:33:43 [INFO] nonebot | Current Env: dev
05-28 00:33:43 [DEBUG] nonebot | Loaded Config: {'driver': 'nonebot.drivers.fastapi', 'host': IPv4Address('127.0.0.1'), 'port': 8765, 'debug': True, 'api_root': {}, 'api_timeout': 30.0, 'access_token': None, 'secret': None, 'superusers': set(), 'nickname': set(), 'command_start': {'/'}, 'command_sep': {'.'}, 'session_expire_timeout': datetime.timedelta(seconds=120), 'environment': 'dev'}
05-28 00:33:43 [DEBUG] nonebot | Succeeded to load adapter "cqhttp"
05-28 00:33:44 [INFO] uvicorn | Started server process [1168]
05-28 00:33:44 [INFO] uvicorn | Waiting for application startup.
05-28 00:33:44 [INFO] uvicorn | Application startup complete.
05-28 00:33:44 [INFO] uvicorn | ('127.0.0.1', 14601) - "WebSocket /cqhttp/ws" [accepted]
05-28 00:33:44 [INFO] nonebot | WebSocket Connection from CQHTTP Bot ****** Accepted!
到此看到WebSocket Connection from CQHTTP Bot xxxx Accepted!
就代表机器人已经启动完毕了, 后面会显示从go-cqhttp
上报的消息。
更详细的教程还请参考两个官网, 俺只是把自己第一次成功使用的过程做了个梳理, 希望对你有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)