2021-12-01 16:28:55 +08:00
|
|
|
|
---
|
|
|
|
|
sidebar_position: 4
|
|
|
|
|
|
|
|
|
|
options:
|
|
|
|
|
menu:
|
|
|
|
|
weight: 40
|
|
|
|
|
catogory: guide
|
|
|
|
|
---
|
|
|
|
|
|
2020-09-17 13:12:48 +08:00
|
|
|
|
# 创建一个完整的项目
|
|
|
|
|
|
2020-12-07 21:02:08 +08:00
|
|
|
|
上一章中我们已经运行了一个简单的 NoneBot 实例,在这一章,我们将从零开始一个完整的项目。
|
2020-09-17 13:12:48 +08:00
|
|
|
|
|
|
|
|
|
## 目录结构
|
|
|
|
|
|
2020-12-07 21:02:08 +08:00
|
|
|
|
可以使用 `nb-cli` 或者自行创建完整的项目目录:
|
2020-09-17 13:12:48 +08:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
nb create
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
<!-- prettier-ignore-start -->
|
|
|
|
|
:::vue
|
|
|
|
|
AweSome-Bot
|
|
|
|
|
├── `awesome_bot` _(**或是 src**)_
|
|
|
|
|
│ └── `plugins`
|
2020-09-17 18:22:48 +08:00
|
|
|
|
├── `.env` _(**可选的**)_
|
|
|
|
|
├── `.env.dev` _(**可选的**)_
|
|
|
|
|
├── `.env.prod` _(**可选的**)_
|
2020-09-17 13:12:48 +08:00
|
|
|
|
├── .gitignore
|
|
|
|
|
├── `bot.py`
|
|
|
|
|
├── docker-compose.yml
|
|
|
|
|
├── Dockerfile
|
|
|
|
|
├── `pyproject.toml`
|
|
|
|
|
└── README.md
|
|
|
|
|
:::
|
|
|
|
|
<!-- prettier-ignore-end -->
|
|
|
|
|
|
|
|
|
|
- `awesome_bot/plugins` 或 `src/plugins`: 用于存放编写的 bot 插件
|
|
|
|
|
- `.env`, `.env.dev`, `.env.prod`: 各环境配置文件
|
|
|
|
|
- `bot.py`: bot 入口文件
|
|
|
|
|
- `pyproject.toml`: 项目依赖管理文件,默认使用 [poetry](https://python-poetry.org/)
|
|
|
|
|
|
|
|
|
|
## 启动 Bot
|
|
|
|
|
|
2021-02-17 20:55:31 +08:00
|
|
|
|
:::warning 提示
|
|
|
|
|
如果您使用如 `VSCode` / `PyCharm` 等 IDE 启动 nonebot,请检查 IDE 当前工作空间目录是否与当前侧边栏打开目录一致。
|
|
|
|
|
|
2021-04-05 13:44:19 +08:00
|
|
|
|
- 注意:在二者不一致的环境下可能导致 nonebot 读取配置文件和插件等不符合预期
|
2021-04-05 16:35:29 +08:00
|
|
|
|
|
|
|
|
|
:::
|
2021-02-17 20:55:31 +08:00
|
|
|
|
|
2021-02-02 19:34:03 +08:00
|
|
|
|
通过 `nb-cli`
|
2020-09-17 13:12:48 +08:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
nb run [--file=bot.py] [--app=app]
|
|
|
|
|
```
|
|
|
|
|
|
2021-02-02 19:34:03 +08:00
|
|
|
|
或
|
2020-09-17 13:12:48 +08:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
python bot.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
:::tip 提示
|
2021-02-02 19:34:03 +08:00
|
|
|
|
如果在 bot 入口文件内定义了 asgi server, `nb-cli` 将会为你启动**冷重载模式**(当文件发生变动时自动重启 NoneBot 实例)
|
2020-09-17 13:12:48 +08:00
|
|
|
|
:::
|