• 欢迎来到小可 · Wiki,人人可编辑的,多平台聊天机器人“小可”的官方文档资源。
  • 小可很可爱,请给我们打钱
  • 原 MkDocs 已迁入本站。若发现 404 属正常现象,请点击左上角搜索您想要的模块。

自搭建指南:修订间差异

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源
第121行: 第121行:


 运行控制台:
 运行控制台:
# 在 控制台所在 目录下打开终端。
# 在 机器人根 目录下打开终端。
# 在终端内使用 <code>poetry shell</code> 切换 Poetry 的虚拟环境来调用先前安装的依赖。(可选)
# 在终端内使用 <code>poetry shell</code> 切换 Poetry 的虚拟环境来调用先前安装的依赖。(可选)
# 在终端内运行 <code>python console.py</code> 以启动控制台。
# 在终端内运行 <code>python console.py</code> 以启动控制台。

2024年7月7日 (日) 09:19的版本

本文将会指导你如何搭建与部署小可。

搭建机器人需要计算机等相关知识有一定的了解,若在阅读过程中感到困惑,请善于使用搜索引擎。

安装 Python 环境

请前往 Python 官网 下载 Python 3.12 及以上版本,低于此版本将不再受到支持。

获取源代码

使用 Git 克隆

请在需要放置小可的文件目录下打开终端,并输入以下命令:

git clone https://github.com/Teahouse-studios/akari-bot.git

直接下载

请前往此处下载 Master 分支的源代码。由于无法保证 Release 版本的稳定性,我们不再提供 Release 版本的下载。

提示
不建议通过直接下载的方式进行部署,因为这样将无法使用 git 或 ~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,然后开始配置所需的内容。

提示
目前配置文件后缀为 toml ,与旧版 cfg 后缀文件不同的是,请在填写好必要的字段后,请删除所有留空的字段,否则程序将无法正常运行。
若你拥有旧版 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 来存储用户数据。

提示
如果你不希望为了部署一个机器人而去研究如何安装数据库(或购买某服务商的数据库服务)的话,使用 SQLite 就是最佳选择。缺点是可能会遇到锁表问题(极小概率发生),以及将来运维失误(误删除 db 文件且没有备份)导致原先用户数据损毁的情况。

内容安全

机器人内置了阿里云内容安全服务对接,可用于 QQ 和 KOOK 平台下部分功能检查发送文本是否安全,以达到机器人账户安全的目的。

如有需求,请前往阿里云进行开通并获取 AccessKeyID 及 AccessKeySecret,并在配置文件中填写相关配置项。

check_access_key_id = - 填写获取的 AccessKeyID。
check_access_key_secret = - 填写获取的 AccessKeySecret。

注意,由于阿里云政策限制,内容安全服务不面向个人开发者,若账号未完成阿里云企业认证,即使生成 AccessKey 也不会调用相关接口。

Webrender

Webrender 为机器人的外置服务,主要用于处理 Wiki infobox 图片渲染、 html 渲染以及部分功能的访问代理。

Webrender 的部署相关内容请见 Webrender#部署。亦可使用云服务产商的 Serverless 来部署本服务。

请在配置文件中 web_renderweb_render_local 配置项填写访问地址。

格式:
web_render = - Webrender 的地址(IP 或域名)及端口。
web_render_local = - 本地 Webrender 的地址,同时填写时将优先使用此地址,与 web_render 相同可不填。
示例:web_render = "http://127.0.0.1:15551"

连接平台

启动

根据系统不同,用以下方法即可启动机器人:

Windows

不推荐双击运行 start.bat 来启动机器人程序。

建议使用终端或 Powershell 运行:

  1. 在机器人根目录下,按下 Shift + 右键来打开右键菜单。
  2. 选择“在此处打开 Powershell 窗口”或“在此处打开命令窗口”。
  3. 在终端内输入 start.bat 或在 Powershell 输入 .\start.bat 来启动机器人。
Linux
  1. 在终端内设置 start 脚本的执行权限:chmod +x start
  2. 启动脚本:./start

控制台

控制台中包括了一个基础的运行环境,可以在控制台内使用命令进行基本的机器人交互。

运行控制台:

  1. 在机器人根目录下打开终端。
  2. 在终端内使用 poetry shell 切换 Poetry 的虚拟环境来调用先前安装的依赖。(可选)
  3. 在终端内运行 python console.py 以启动控制台。
Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。