个人环境

惯例上一下个人的本地环境。

  • Ubuntu 22.04.1 LTS x86_64,Linux version 5.15.0-46-generic。

  • nodejs v18.16.0,npm 9.5.1

  • Docker version 25.0.0-beta.1, build 2b521e4

  

Docker 环境搭建

前期准备

因为本地环境是 Ubuntu,所有很多工具都是默认就安装了的,假如你的系统里工具不是很多,你需要先进行一些工具的安装,当然你也可以在执行之后的命令的同时缺什么再装什么。

 

我们可以先进行 apt 管理器的更新。

sudo apt-get update
#更新软件源缓存,从服务器更新可用的软件列表,一般在安装软件时引入新的软件仓库之后使用

sudo apt-get upgrade
#更新系统,即根据列表更新已安装的软件包,既不会删除在列表中已经不存在了的软件,也不会安装有依赖需求但尚未安装的软件

 

之后我们需要用到 curl ,假如你没有,则执行以下指令:

sudo apt install curl

 

使用官方安装脚本自动安装

使用以下指令:

 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh

 

Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:

sudo apt-get remove docker docker-engine docker.io containerd runc

 

安装 Koishi

Koishi 是一款可以创建跨平台、可扩展、高性能的机器人的平台。

官网地址:https://koishi.chat/zh-CN/

 

我们在这里选择通过 Docker 安装:

 

根据官网的指南,我们只需要输入一行代码即可完成安装。

docker run -p 5140:5140 -e TZ=Asia/Shanghai koishijs/koishi

 

安装 tsugu-bangdream-bot

耐心等待 Koishi 安装完成后,请根据你 Ubuntu 主机的 ip 进入 Koishi 主页。

假如你的机器位于局域网中,请输入 http://局域网ip:5140/

假如有公网 ip 请输入 http://公网ip:5140/ (可能需要在服务商的安全组中开放对应端口访问权限)。

 

之后选择插件市场,搜索 tsugu-bangdream-bot,并点击对应插件下方的安装。

 

笔者没有选择 QQ bot 适配器,选择的是 Telegram 适配器,假如需要使用 QQ bot,请按照官方教程进行相应的配置。

官方教程:https://www.bilibili.com/read/cv24464090/

 

安装完 tsugu-bangdream-bot 就可以启动了,默认的后端是官方后端。

当然,假如你像我一样已经有了 vps,那可以考虑自己部署属于自己的 Tsugu bot 的后端。

 

 

自部署 Tsugu Bot 后端

前提,笔者的环境为 64位 Linux,Windows 环境请参考官方教程。

你需要先把官方的源码下载到本地,我们这里使用 git

git clone https://github.com/Yamamoto-2/tsugu-bangdream-bot

 

环境准备

因为自部署需要 node.js 环境,所以我们需要先行准备环境。

根据官方开发环境,我们最好选择对应的 node.js 环境。

为了安装对应的环境,我们这里选择 node 版本管理器 nvm。

 

顾名思义,nvm 是一种用于管理设备上的 node 版本的工具。

你设备上的不同项目可能使用不同版本的 Node.js。对这些不同的项目仅使用一个版本(由 npm 安装的版本)可能无法为你提供准确的执行结果。

我们需要执行以下命令进行安装:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

 

之后我们需要刷新一下终端以使用 nvm:

source ~/.bashrc

然后我们可以用以下命令检测是否可以使用:

nvm -v

假如返回 0.39.3 则已安装成功。

 

然后我们用 nvm 来安装对应版本的 nodejs:

nvm install v18.16.0

再检测一下 nodejs 和 npm 的版本:

node -v
npm -v

 

之后我们需要安装 ts-node 和 pm2

npm install -g ts-node
npm install -g pm2

 

本地构建,部署后端

我们通过 cd /tsugu-bangdream-bot/backend 进入 /backend 目录,在构建之前,我们需要手动改一下文件,因为 Linux 环境下的路径使用的是正斜杠 / ,而 Windows 下使用的是反斜杠 \

Windows 使用反斜杠来分割路径,继承自DOS,DOS的前身也就是CP/M。DOS 1.0刚出来时,只支持软盘,并且不支持目录结构。而这时DOS命令已经使用了正斜杠来作为命令参数的起始符号。后来DOS加入了目录结构支持,为了不与命令参数符号冲突,使用了反斜杠来作为目录分隔符。

我们需要手动修改 /backend 目录下的 ecosystem.config.js 文件。

module.exports = {
    apps: [
      {
        name: 'tsugu-backend',
        script: 'ts-node',
        // ubuntu 环境下需要将路径改为以下方式
        args: '--transpile-only ./src/app.ts',
		// 修改之前的如下所示
        // args: '--transpile-only .\\src\\app.ts',
        interpreter: 'none',
        exec_mode: 'fork',
        instances: 1,
        autorestart: true,
        watch: false,
        max_memory_restart: '1G',
      },
    ]
}

 

修改完成后在 /backend 目录内运行以下命令:

pm2 start ecosystem.config.js

稍等片刻就可以完成 Tsugu Bot 后端的部署了。

你可以通过 pm2 list 查看运行状况,也可以通过 pm2 logs --lines 1000 查看是否有 Error 产生。

默认的端口号为 3000 ,你也可以访问后端地址 http://对应的ip:3000/ 查看是否显示 404 Not Found ,假如显示了则运行正常。

记得回 Koishi 的 tsugu-bangdream-bot 机器人配置那里把后端改成自己的哦~。

 

 

当然你也可以用我的捏😋😋http://bangdream.anonstarlight.top