DraftBot是由@BastLast使用Node.js开发的基于文字冒险游戏的机器人。故事发生在一个中世纪世界,玩家扮演一名冒险家,希望赢得国王发起的比赛,以赢得公主的芳心。为实现这一目标,他必须旅行并通过经历诸多危险来获得积分,包括遭遇盗贼、荒野和可怕的孩子。每隔几个小时,玩家可以使用/report
命令获得一个随机事件:他们通过报告下方的反应来与多选系统互动。每个选择都有多种结果,可能会伤害角色、治愈他们,甚至给予他们一些物品。在旅程中,他们赚取金钱、物品和积分,可以用这些在商店购买药水、物品或效果,与其他玩家战斗,并在排行榜上攀升。
如何启动机器人
在创建自己的实例之前,请注意您可以通过机器人Discord上提供的链接将机器人添加到您的服务器
如果您决定开发自己的机器人实例,您应该具备基本的计算机技能。机器人支持团队将优先考虑主实例的玩家,并且只会提供非常有限的帮助。我们会修复您报告的错误,但我们不会教您如何编写Discord机器人。
请不要直接复制粘贴我们在本readme中提供的命令,除非您:
- 理解该命令
- 用您的数据替换相关部分
- 已阅读整个文档
只有"release"标签中的代码被视为"稳定版"。
开发环境设置
对于开发,我们建议您在自己的计算机上运行机器人。这样,您可以在不必每次更改都重新构建Docker镜像的情况下测试您的更改。 然而,我们仍然建议您使用Docker来运行数据库,因为这样更容易设置和维护。
我们在下面提供了所有必要的指南。如果您有任何问题,欢迎在我们的Discord服务器上询问。
在您的计算机上运行机器人(Windows)
- 安装git:https://git-scm.com/download/win
- 下载机器人:
git clone https://github.com/BastLast/DraftBot-A-Discord-Adventure
- 安装NodeJS http://nodejs.org/fr/
- 查看package.json以了解所需的最低版本
- 我们的Docker镜像基于node alpine(具体版本请参见DockerFile)
- 我们建议您使用nvm来管理Node版本。如果您使用nvm,可以使用
nvm install
安装正确的版本。如果您还没有安装nvm,可以使用npm install -g nvm
来安装它
- 安装Yarn:
npm install --global yarn
- 安装机器人:
yarn install
- 安装并启动MariaDB数据库。记下凭据以备配置文件使用。我们在下面为这一步骤提供了教程。
- 通过复制config.default.toml文件创建一个新的config.toml文件
- 使用正确的数据编辑config.toml文件
- 启动机器人:
yarn start
以下是针对基于Debian的Linux发行版(或Windows上的WSL和Git Bash)的相同指南
- 安装git:
apt-get install git
- 下载机器人:
git clone https://github.com/BastLast/DraftBot-A-Discord-Adventure
- 安装NodeJS:
apt-get install nodejs
- 安装npm:
apt-get install npm
- 查看package.json以了解所需的最低版本
- 我们的Docker镜像基于node alpine(具体版本请参见DockerFile)
- 我们建议您使用nvm来管理Node版本。如果您使用nvm,可以使用
nvm install
安装正确的版本。如果您还没有安装nvm,可以使用npm install -g nvm
来安装它
- 安装npm:
- 安装yarn:
npm install -g yarn
(可能需要安装npm并使用sudo) - 安装机器人:
yarn install
- 安装并启动MariaDB数据库。记下凭据以备配置文件使用。我们在下面为这一步骤提供了教程。
- 创建配置文件:
cp config/config.default.toml config/config.toml
- 使用正确的数据编辑config.toml文件
- 启动机器人:
yarn start
更新机器人
- 每次更新机器人时,请确保使用
yarn install
和yarn start
。 - 迁移将自动运行,但请务必检查它们,因为它们是为我们的数据库创建的,可能会在您的数据库中引起问题。
确保您的机器上安装了 Docker。 以下是 Windows 安装指南链接:https://docs.docker.com/desktop/install/windows-install/ 以下是 Linux 安装指南链接:https://docs.docker.com/engine/install/ubuntu/
请按照"不使用 Docker"的步骤进行,直到 yarn install
步骤(您不需要执行这一步)。
编译 Docker 镜像
只有在您想自己编译镜像时才需要执行此步骤。机器人正常工作不需要这样做。这只是为了将您自己的镜像部署到服务器上。 我们有一个 Docker Hub 账户,所以您可能不需要自己编译镜像!您可以在这里找到它:https://hub.docker.com/u/draftbot。如果您真的想自己编译,请按照下一步操作。
在项目文件夹中(之前通过 git 下载的),运行:
docker build . -t draftbot/draftbot
安装数据库
首先,您需要创建一个新文件夹来存储数据库数据。我们建议您在项目文件夹之外创建一个文件夹,以避免与 git 产生任何问题。复制这个文件夹的路径,您将在接下来的命令中用到。这就是 "path/to/volumes/mariadb"
使用以下命令创建一个 Docker MariaDB 数据库:
docker run -d --name mariadb -e MARIADB_USER=draftbot -e MARIADB_PASSWORD=secret_password -e MARIADB_ROOT_PASSWORD=super_secret_password -v /path/to/volumes/mariadb:/var/lib/mysql -p 3306:3306 mariadb:latest
或者使用 Docker Compose:
services:
mariadb:
image: mariadb
container_name: mariadb
ports:
- 3306:3306
volumes:
- /path/to/volumes/mariadb:/var/lib/mysql
environment:
MARIADB_USER: draftbot
MARIADB_PASSWORD: secret_password
MARIADB_ROOT_PASSWORD: super_secret_password
您也可以直接运行本地 MariaDB 服务器,但我们建议您使用 Docker。如果您想了解更多关于如何安装 MariaDB 的信息,可以访问他们的网站:https://mariadb.org/download/
部署
构建或下载机器人的 Docker 镜像是在生产环境中设置 DraftBot 的推荐方式。
您需要填写一个 config.toml 文件。配置模板可以在 config/config.default.toml 中找到。
以下是启动 DraftBot Docker 容器的命令:
docker run -d --name draftbot -v /path/to/config.toml:/draftbot/config/config.toml:ro -v /path/to/logs:/draftbot/logs draftbot/draftbot
或者使用 Docker Compose:
services:
draftbot:
image: draftbot/draftbot
container_name: draftbot
volumes:
- /path/to/config.toml:/draftbot/config/config.toml:ro
- /path/to/logs:/draftbot/logs