本文为在腾讯云linux服务器上部署nonebot qq机器人的自行记录。

因为安装nonebot-bison插件需要python3.9以上版本

下载安装python3.9

Ubuntu 20.04安装Python3.9

  1. 更新软件包列表并安装必备组件:

sudo apt update

sudo apt install software-properties-common

  1. 将Deadsnakes PPA添加到Ubuntu 20.04系统的来源列表中:

sudo add-apt-repository ppa:deadsnakes/ppa

  1. 启用存储库后,可以通过执行以下命令安装Python 3.9:

sudo apt install python3.9

  1. 通过键入以下命令验证安装是否成功:

python3.9 –version

将默认的python切换为python3.9

  1. 查看本机已安装的所有Python版本

    ls /usr/bin/python*

  2. (切换到root用户后)更新替代列表,将想要随时切换的python版本加入其中

update-alternatives –install /usr/bin/python python /usr/bin/python3.9 2

update-alternatives –install /usr/bin/python python /usr/bin/python3.8 1

注1:update-alternatives 命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。

注2:设置的数字优先级越大,优先级越高

添加后可以使用 update-alternatives --list python 命令查看

  1. 添加完成后查看python版本(已切换成3.9)

python -V

将默认的pip也更新为Python3.9

  1. pip -V 查看pip版本为 Python3.8
  2. which pip 查看pip位置为 /usr/bin/pip
  3. 修改 /usr/bin/pip 文件的第一行的python版本

安装脚手架 nb-cli

pip install nb-cli

创建 nonebot 项目

nb create

​ 协议选择cqhttp

​ 之后便建好了一个不含协议端的 nonebot 项目

配置协议端 cqhttp

(以go-cqhttp为例)

注:协议端的作用是以手表的方式模拟登录qq,读取qq消息,并通过WebSocket连接将消息传递给nonebot进行处理。

  1. 下载 go-cqhttp

  2. 运行可执行文件 ./go-cqhttp 启动

  3. 修改默认配置文件 config.yml
    CQHTTP 协议使用指南 | NoneBot

  4. 重新启动

启动nonebot

nb run

​ 检验websocket连接是否正常

使用nb安装插件 nonebot-bison

nb plugin install nonebot_bison

在 env.dev 中设置全局参数(其实应该nonebot部署好的时候就可以设置)和 bison 插件的一些参数(不添加也行,基本用不上)

image-20240414204215219

重新启动nonebot 成功!