(→配置数据库) |
(→内容安全) |
||
第86行: | 第86行: | ||
注意,由于阿里云政策限制,内容安全服务'''不面向个人开发者''',若账号未完成阿里云企业认证,即使生成 AccessKey 也不会调用相关接口。 | 注意,由于阿里云政策限制,内容安全服务'''不面向个人开发者''',若账号未完成阿里云企业认证,即使生成 AccessKey 也不会调用相关接口。 | ||
=== Webrender === | |||
#### Webrender | |||
此为小可的外置服务。主要用于处理 HTML 渲染图片及部分功能的访问代理。 | |||
##### 部署 | |||
1. 此服务使用 JavaScript 编写,由 `Puppeteer` 驱动,为此,你需要安装好 [Node.js](https://nodejs.org/) 环境,以及安装好 [Chrome](https://www.google.cn/intl/zh-CN/chrome/)。 | |||
2. 下载[源代码文件](https://github.com/Teahouse-Studios/oa-web-render),并在终端内使用 `npm install` 安装依赖。 | |||
3. 于 `package.json` 同级目录中,创建 `.env` 文件,并于内填写以下字段: | |||
```conf | |||
CHROMIUM_PATH = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 填写 chrome.exe 的绝对路径 | |||
FC_SERVER_PORT = 15551 # 填写服务运行的端口 | |||
``` | |||
> [!IMPORTANT] | |||
> 在填写好配置文件之后,请删除所有配置文件中的注释,否则程序无法正确读取配置。 | |||
4. 于终端内,使用 `node ./src/index.js` 来开启服务。服务无任何内容输出。 | |||
你亦可使用云服务产商的 Serverless 服务来部署本服务。 | |||
##### 字段填写 | |||
`web_render =` - Webrender 的地址(IP 或域名)及端口。 | |||
`web_render_local =` - 本地 Webrender 的地址。(可与上一字段同一参数) | |||
**示例** | |||
`web_render = "http://127.0.0.1:15551"` | |||
[[Category:开发]] | [[Category:开发]] |
2024年7月7日 (日) 08:46的版本
本文将会指导你如何搭建与部署小可。
搭建机器人需要计算机等相关知识有一定的了解,若在阅读过程中感到困惑,请善于使用搜索引擎。
安装 Python 环境
请前往 Python 官网 下载 Python 3.12 及以上版本,低于此版本将不再受到支持。
获取源代码
使用 Git 克隆
请在需要放置小可的文件目录下打开终端,并输入以下命令:
git clone https://github.com/Teahouse-studios/akari-bot.git
直接下载
请前往此处下载 Master 分支的源代码。由于无法保证 Release 版本的稳定性,我们不再提供 Release 版本的下载。
~update
命令更新机器人源代码。安装依赖
使用 Poetry
Poetry 是一个现代化的依赖管理工具,它能够帮助你管理项目的依赖和虚拟环境。要使用 Poetry 安装依赖,首先需请确保已经安装了 Poetry。
- Windows
打开终端或 PowerShell,执行以下命令:
(Invoke-WebRequest -Uri "https://install.python-poetry.org" -UseBasicParsing).Content | py -
- Linux
打开终端并运行以下命令:
curl -sSL https://install.python-poetry.org | python -
安装 Poetry 完成后,请执行以下命令安装依赖:
poetry install
使用 pip
pip 是 Python 自带的官方包管理工具。
如果你不想使用 Poetry,请执行以下命令安装依赖:
pip install -r requirements.txt
设置配置
进入 config
文件夹,将配置文件 config.toml.example
重命名为 config.toml
,然后开始配置所需的内容。
若你拥有旧版 cfg 文件,机器人会自动帮你转换为 toml 格式。
在表 secret
储存的属性为私有内容,例如 API 密钥等,当机器人发送的消息中存在这些内容时会被自动拦截。表 config
中大多数属性的默认值与程序内设定的默认值一致。如果你觉得这些默认值在配置文件中显得冗余,可以直接将其删除。
关于详细信息,请查看配置文件。
配置数据库
机器人需要一个数据库以用于存储用户数据。db_path
项需要填写一个可被 sqlalchemy 支持的数据库链接。
如果使用 MySQL 作为数据库:
- 格式:
db_path = "mysql+pymysql://<数据库用户名>:<数据库用户密码>@<数据库地址>"
- 示例:
db_path = "mysql+pymysql://bot:123456@example.com/bot_prod"
如果选择 SQLite 作为数据库:
- 格式:
db_path = "sqlite:///<相对路径>/<数据库文件名>.db"
- 示例:
db_path = "sqlite:///database/save.db"
此示例将会在 database
文件夹内创建 save.db
来存储用户数据。
内容安全
机器人内置了阿里云内容安全服务对接,可用于 QQ 和 KOOK 平台下部分功能检查发送文本是否安全,以达到机器人账户安全的目的。
如有需求,请前往阿里云进行开通并获取 AccessKeyID 及 AccessKeySecret,并在配置文件中填写相关项。
check_access_key_id =
- 填写获取的 AccessKeyID。check_access_key_secret =
- 填写获取的 AccessKeySecret。
注意,由于阿里云政策限制,内容安全服务不面向个人开发者,若账号未完成阿里云企业认证,即使生成 AccessKey 也不会调用相关接口。
Webrender
- Webrender
此为小可的外置服务。主要用于处理 HTML 渲染图片及部分功能的访问代理。
- 部署
1. 此服务使用 JavaScript 编写,由 `Puppeteer` 驱动,为此,你需要安装好 [Node.js](https://nodejs.org/) 环境,以及安装好 [Chrome](https://www.google.cn/intl/zh-CN/chrome/)。
2. 下载[源代码文件](https://github.com/Teahouse-Studios/oa-web-render),并在终端内使用 `npm install` 安装依赖。
3. 于 `package.json` 同级目录中,创建 `.env` 文件,并于内填写以下字段:
```conf CHROMIUM_PATH = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 填写 chrome.exe 的绝对路径 FC_SERVER_PORT = 15551 # 填写服务运行的端口 ```
> [!IMPORTANT] > 在填写好配置文件之后,请删除所有配置文件中的注释,否则程序无法正确读取配置。
4. 于终端内,使用 `node ./src/index.js` 来开启服务。服务无任何内容输出。
你亦可使用云服务产商的 Serverless 服务来部署本服务。
- 字段填写
`web_render =` - Webrender 的地址(IP 或域名)及端口。
`web_render_local =` - 本地 Webrender 的地址。(可与上一字段同一参数)
- 示例**
`web_render = "http://127.0.0.1:15551"`