缘由

最近ChatGPT各种破圈大火,作为一名NLPer小学生,也来玩玩这个东西。那究竟怎么用呢?
想来想去,以往就想搞一个qq机器人来玩玩,但是由于自己实在是太懒了,一直搁到现在、、、
那么,正好最近稍有空闲,事不宜迟,说干就干!

准备工作

先来简单了解一下我们用到的两个工具是什么。

nonebot

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python
的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。

需要注意的是,NoneBot2 仅支持 Python 3.8 以上版本
文档: https://v2.nonebot.dev

go-cqhttp

使用 mirai 以及 MiraiGo 开发的 cqhttp golang 原生实现, 并在 cqhttp 原版 的基础上做了部分修改和拓展。
cqhttp是通过 HTTP 或 WebSocket 对 酷Q 的事件进行上报以及接收请求来调用 酷Q 的 DLL 接口,从而可以使用其它语言编写 酷Q 插件。 也就是大名鼎鼎的酷q机器人。
文档地址:https://docs.go-cqhttp.org/guide/#go-cqhttp

开始吧

下载go-cqhttp

从该链接 release 界面下载最新版本的 go-cqhttp

笔者是下载的是下面的版本,win64机器选择这个即可。
在这里插入图片描述

配置使用 go-cqhttp

go-cqhttp_windows_amd64.exenonebotshift+鼠标右击空白处此处打开powershell窗口.\go-cqhttp_windows_amd64.execonfig.ymlconfig.yml
# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # 反向WS设置
  - ws-reverse:
      # 反向WS Universal 地址
      # 注意 设置了此项地址后下面两项将会被忽略
      universal: ws://127.0.0.1:8890/onebot/v11/ws
      # 反向WS API 地址
      api: ws://your_websocket_api.server
      # 反向WS Event 地址
      event: ws://your_websocket_event.server
      # 重连间隔 单位毫秒
      reconnect-interval: 3000
      middlewares:
        <<: *default # 引用默认中间件

shift+鼠标右击空白处此处打开powershell窗口.\go-cqhttp_windows_amd64.exe扫码登录

安装nonebot

创建环境变量,注意要用 Python 3.8 以上版本
用conda可以参考这个文章https://blog.csdn.net/qq_37893682/article/details/123426684

pip install nb-clinb createqq_robotechonoebot v11千万别忘了空格)

nonebot配置

打开env.dev并做出修改

HOST=127.0.0.1
PORT=8890
LOG_LEVEL=DEBUG
FASTAPI_RELOAD=true

该文件目录下
nb run
看看成果吧
/echo Hello world

在这里插入图片描述
向这个新世界打个招呼吧,现在已经可以使用这个机器人了
之后会尝试接入ChatGPT,以及其他好玩的功能