跳至主要內容

让拜松骑上自行车

MountainDash Team大约 4 分钟

让拜松骑上自行车

本节将讲解如何部署 nonebot-bison 项目
使用部分介绍请看 简单使用 或者 详细配置

如何选择?

  • 没有其他需要,只想使用 Nonebot-Bison?想以 Bison 的基础扩展其他插件?
    试试作为 Bot 使用
  • 已有项目,想要增加 Nonebot-Bison?
    试试作为插件使用

作为插件使用

本部分假设大家会部署 nonebot2

防止环境冲突!

建议所有操作都在虚拟环境下进行,推荐使用poetryopen in new window或者 python 自带的venvopen in new window

使用 nb-cli 安装 推荐

  1. 安装nb-cliopen in new window

    pipx install nb-cli
    
  2. 使用nb-cli执行在项目根目录执行

    nb plugin install nonebot-bison
    
  3. 在项目中添加依赖

    poetry add nonebot-bison
    

手动安装

  1. 安装 pip 包nonebot-bison

    poetry
    poetry add nonebot-bison
    
  2. pyproject.toml中导入插件nonebot_bison 编辑项目根目录下的pyproject.toml文件,添加如下内容:

    [tool.nonebot]
    plugins = [
      ... # 其他插件
      "nonebot_bison",
      ]
    

作为 Bot 使用

额外提供

  • 自动同意超级用户的好友申请
  • 自动同意超级用户的加群邀请

docker-compose 部署 推荐

  1. 首先创建一个新的空目录

    mkdir nonebot-bison && cd nonebot-bison
    
  2. 在目录中下载docker-compose.ymlopen in new window
    将其中的<your QQ>改成自己的 QQ 号

    linux
    wget https://raw.githubusercontent.com/felinae98/nonebot-bison/main/docker-compose.yml
    

    部分片断:

        ...
          HOST: 0.0.0.0 # 0.0.0.0 代表监听所有地址
          # SUPERUSERS: '[<your QQ>]' #取消该行注释,并将<your QQ>改为自己的 QQ 号
          BISON_CONFIG_PATH: /data
          # BISON_OUTER_URL: 'http://<your server ip>:8080/bison'
          #取消上行注释,并将<your server ip>改为你的服务器 ip,bison 不会自动获取 ip
          BISON_FILTER_LOG: 'true'
          BISON_USE_PIC: 'false' # 如果需要将文字转为图片发送请改为 true
        ports:
          - 8080:8080 # 容器映射的端口,如果需要修改请同时修改上面的 BISON_OUTER_URL
        ...
    

    提示

    想要指定更多配置请参考详细配置

  3. 启动项目

    • 在目录中运行docker-compose up -d启动 Nonebot-Bison
    • 启动 Bot 端(这里请八仙过海)

docker 部署

Bison 的 docker 镜像为felinae98/nonebot-bisonopen in new window

在为服务器安装了docker后可以直接进行使用

docker pull felinae98/nonebot-bison

docker run -d --name nonebot-bison \
  -e SUPERUSERS='["<your QQ>"]' \
  -e BISON_CONFIG_PATH='/data' \
  -e BISON_OUTER_URL='http://<your server ip>:8080/bison' \
  -e BISON_FILTER_LOG='true' \
  -e BISON_USE_PIC='false' \
  -p 8080:8080 \
  felinae98/nonebot-bison

相关配置参数可以使用-e作为环境变量传入

直接运行 不推荐

相当于进行了源码部署,或者说是开发模式的部署。

可以参考nonebot 的运行方法open in new window

警告

Bison 的 WebUI 是需要编译后才能使用的,直接克隆源代码需要自行编译前端,否则会出现无法使用管理后台等情况。

本体安装

警告

本项目中使用了 Python 3.10 的语法,如果出现问题,请检查 Python 版本

  1. 首先安装 poetry:安装方法open in new window

  2. clone 本项目,在项目中poetry install安装依赖

    git clone https://github.com/felinae98/nonebot-bison.git
    cd nonebot-bison
    poetry install
    

WebUI 安装

  1. 安装包管理器 Bison 仓库中使用了pnpm作为包管理器,如果没有安装请先安装pnpm
    当然如果你因为一些原因不想使用pnpm,可以使用yarn或者npm进行安装

  2. admin-fronted目录中编译前端

    cd admin-frontend
    
    pnpm
    pnpm install
    pnpm build
    

构建完毕后,dist 目录中生成的前端文件会自动移入nonebot_bison/admin_page/dist目录中,请前往检查

运行

注意

构建完前端后,请回到项目根目录

  1. 编辑.env.prod配置各种环境变量,见Nonebot2 配置open in new window

    找不到 .env.prod?

    .env.prod文件在项目根目录下,请确认当前目录为项目根目录

  2. 启动 Bot

    poetry run nb run