Archived
1
0
Fork 0
This commit is contained in:
多羅狼 2023-08-14 21:53:28 +08:00 committed by GitHub
parent ffc2d68a44
commit 406f2ee473
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 40 additions and 85 deletions

View file

@ -2,11 +2,11 @@
* [简介](#简介)
* [正常部署](#正常部署)
* [一、准备](#一、准备)
* [二、下载源代码](#二、下载源代码)
* [三、安装依赖](#三、安装依赖)
* [四、配置](#四、配置)
* [五、运行机器人](#五、运行机器人)
* [准备](#准备)
* [下载源代码](#下载源代码)
* [安装依赖](#安装依赖)
* [配置](#配置)
* [运行机器人](#运行机器人)
* [获取帮助](#获取帮助)
# 简介
@ -15,15 +15,15 @@
# 正常部署
若想使用 Docker 部署,请转到 [使用 Docker 部署](./DEPLOY_Docker.md)。
若想使用 Docker 部署,请转到[使用 Docker 部署](./DEPLOY_Docker.md)。
## 一、准备
## 准备
1. 一台可运行 Python 的服务器或主机(电脑、树莓派、安装了 Termux 的手机、etc...)。
2. 主机已安装并可运行 [Python 3 环境](https://www.python.org/) ,版本大于 3.8 皆可部署。
3. 对应您需要运行的平台所需要的必要内容环境、token 等)。
## 二、下载源代码
## 下载源代码
**Windows**
@ -70,7 +70,7 @@
镜像站会在每天晚上进行仓库更新所以若想在镜像站更新之前获取最新版本的代码请使用原GitHub地址。
## 三、安装依赖
## 安装依赖
**Windows**
@ -154,7 +154,7 @@ pip install -r requirements.txt
pip install -r requirements.txt
```
## 四、配置
## 配置
进入 `config` 文件夹,将 `config.toml.example` 重命名为 `config.toml`,然后开始配置您所需要的内容。
@ -303,7 +303,7 @@ pip install -r requirements.txt
#### Matrix
您需要自行完成账号注册与登
您需要自行完成账号注册与登
`matrix_homeserver =` - 填写您使用的 Matrix server URL只包括协议与主机最后无需添加`/`)。
@ -466,7 +466,7 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
`command_prefix` 首位将被用作帮助文档中默认展示的前缀。
## 五、运行机器人
## 运行机器人
小可机器人主要由平台机器人构成,为了让开发者更好地测试模块,我们还提供了测试控制台,接下来我们将逐步讲解如何运行机器人。
@ -479,7 +479,7 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
建议在启动机器人之前先打开终端cmd 或 Powershell再运行 `start.bat`
1. 于 `start.bat` 所在目录,按下 `Shift` + `右键` 来打开右键菜单。
2. 选择 `在此处打开 Powershell 窗口``在此处打开命令窗口`
2. 选择 `在此处打开 Powershell 窗口``在此处打开命令窗口`
3. 于终端内输入 `.\start.bat` Powershell`start.bat` cmd来启动机器人。
#### Linux
@ -498,13 +498,13 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
#### Windows
1. 于 `console.py` 所在目录,按下 `Shift` + `右键` 来打开右键菜单。
2. 选择 `在此处打开 Powershell 窗口``在此处打开命令窗口`
2. 选择 `在此处打开 Powershell 窗口``在此处打开命令窗口`
3. 于终端内输入 `python console.py` 来启动测试控制台。
#### Linux
1. 于 `console.py` 所在目录,打开终端。
2. 于终端内输入 `python console.py` 来启动测试控制台
2. 于终端内输入 `python console.py` 来启动测试控制台
# 获取帮助
@ -513,4 +513,4 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
如果您在部署的过程中还有其他疑问,您可以向我们发送 Issue 来请求帮助。
> 请注意,您应该具备基本的提问技巧。
> 有关如何提问,请阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)
> 有关如何提问,请阅读[《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)

View file

@ -2,10 +2,10 @@
* [简介](#简介)
* [正常部署](#正常部署)
* [一、准备](#一、准备)
* [二、拉取镜像](#二、拉取镜像)
* [三、配置](#三、配置)
* [四、运行机器人](#四、运行机器人)
* [准备](#准备)
* [拉取镜像](#拉取镜像)
* [配置](#配置)
* [运行机器人](#运行机器人)
* [获取帮助](#获取帮助)
# 简介
@ -14,15 +14,15 @@
# 使用 Docker 镜像部署
若不想使用 Docker 部署,请转到 [正常部署](./DEPLOY.md)。
若不想使用 Docker 部署,请转到[正常部署](./DEPLOY.md)。
## 一、准备
## 准备
在您的设备上安装好 [Docker](https://www.docker.com/)。
请善用搜索引擎来获取详细安装教程。
## 二、拉取镜像
## 拉取镜像
输入下面的指令拉取镜像。
@ -32,7 +32,7 @@
docker pull bakabaka9/akari-bot:latest
```
## 三、配置
## 配置
从小可的 GitHub 仓库中下载 `config` 文件夹,并放到事先准备好的目录下。
@ -42,7 +42,7 @@ docker pull bakabaka9/akari-bot:latest
### 配置数据库
机器人需要一个数据库以用于存储用户数据,对于第一次的简单部署,我们只需要关注数据库字段即可,其余字段可留空
机器人需要一个数据库以用于存储用户数据,对于第一次的简单部署,我们只需要关注数据库字段即可,其余字段可留空
此字段需要填写一个可被 `sqlalchemy` 支持的数据库链接,以下为推荐方案,请任选一个:
@ -56,8 +56,7 @@ docker pull bakabaka9/akari-bot:latest
#### SQLite
如果您不希望为了部署一个机器人而去研究如何安装数据库(或购买某服务商的数据库服务)的话
,使用 SQLite 就是最佳选择。缺点是可能会遇到锁表问题(极小概率发生),以及将来运维失误(误删除 db 且没有备份)导致原先用户数据损毁的情况。
如果您不希望为了部署一个机器人而去研究如何安装数据库(或购买某服务商的数据库服务)的话,使用 SQLite 就是最佳选择。缺点是可能会遇到锁表问题(极小概率发生),以及将来运维失误(误删除 db 且没有备份)导致原先用户数据损毁的情况。
如果您选择 SQLite只需要将字段内容填写为以下格式即可。无需再关注数据库搭建等问题
@ -168,7 +167,7 @@ docker pull bakabaka9/akari-bot:latest
#### Matrix
您需要自行完成账号注册与登
您需要自行完成账号注册与登
`matrix_homeserver =` - 填写您使用的 Matrix server URL只包括协议与主机最后无需添加`/`)。
@ -188,7 +187,7 @@ docker pull bakabaka9/akari-bot:latest
curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<password>"}' "https://<homeserver>/_matrix/client/r0/login"
```
目前由于libolm在一些情况下需要手动安装机器人没有端对端加密e2ee支持。
目前,由于 libolm 在一些情况下需要手动安装机器人没有端对端加密e2ee支持。
### 配置其他功能
@ -206,13 +205,13 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
`check_accessKeySecret =` - 填写获取的 AccessKeySecret。
#### QQ频道消息处理beta
#### QQ 频道消息处理beta
通过上文的 [aiocqhttp](https://github.com/nonebot/aiocqhttp) 对接 [go-cqhttp](https://github.com/Mrs4s/go-cqhttp) 方式可以按需选择是否启用QQ频道消息处理功能。
根据 go-cqhttp 的文档iPad / Android Pad / Android Phone 协议支持处理QQ频道消息可以在其生成的 `device.json` 中寻找 `"protocol":6,` 字段,将本处的数值修改为 1Android Phone、5iPad或 6Android Pad任意一个均可调用本功能。
> 注意QQ频道消息的处理仍然处于测试阶段由于 go-cqhttp 对频道消息支持的不完善,频道内消息无法撤回,且频道列表不会自动刷新(加入新频道需要手动重启一次 gocqhttp
> 注意QQ 频道消息的处理仍然处于测试阶段,由于 go-cqhttp 对频道消息支持的不完善,频道内消息无法撤回,且频道列表不会自动刷新(加入新频道需要手动重启一次 gocqhttp
> 关于 go-cqhttp 选用以上方式登录时出现的的 Code45 或其他登录问题,请根据 go-cqhttp 官方 [issue](https://github.com/Mrs4s/go-cqhttp) 对照解决,或选用除以上协议外的其他协议。
@ -222,9 +221,9 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
##### 部署
1. 此服务使用 JavaScript 编写,由 `Puppeteer` 驱动,为此,您需要安装好 [Node.js](https://nodejs.org/) 环境,以及安装好 [Chrome](https://www.google.cn/intl/zh-CN/chrome/)
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` 安装依赖。
2. 下载[源代码文件](https://github.com/Teahouse-Studios/oa-web-render),并在终端内使用 `npm install` 安装依赖。
3. 于 `package.json` 同级目录中,创建 `.env` 文件,并于内填写以下字段:
@ -332,7 +331,7 @@ curl -XPOST -d '{"type":"m.login.password", "user":"<user>", "password":"<passwo
`command_prefix` 首位将被用作帮助文档中默认展示的前缀。
## 四、运行机器人
## 运行机器人
配置完成后,使用 `docker run` 开启小可:
@ -346,9 +345,7 @@ docker run \
> bakabaka9/akari-bot
```
如果终端中返回了 `long_tag` 类型的容器 `ID`, 证明容器已创建完毕
这时我们可以执行 `docker logs akari-bot` 查看小可的日志。
如果终端中返回了 `long_tag` 类型的容器 `ID`, 证明容器已创建完毕,这时我们可以执行 `docker logs akari-bot` 查看小可的日志。
如果没有任何报错,恭喜您!您的小可机器人已经搭建成功!
@ -359,4 +356,4 @@ docker run \
如果您在部署的过程中还有其他疑问,您可以向我们发送 Issue 来请求帮助。
> 请注意,您应该具备基本的提问技巧。
> 有关如何提问,请阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)
> 有关如何提问,请阅读[《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)

View file

@ -9,7 +9,7 @@
## 介绍
**小可**是基于多个框架开发的可扩展、多平台机器人。图标由 [Rin 十一](https://mihuashi.com/profiles/75826?role=painter) 绘制。
**小可**是基于多个框架开发的可扩展、多平台机器人。图标由 [Rin 十一](https://mihuashi.com/profiles/75826?role=painter)绘制。
目前小可还正在持续开发中。
@ -39,7 +39,7 @@
#### QQ
目前 QQ 上稳定运行的小可实例为小可三号机。由于腾讯风控问题,请 [在此提交](https://github.com/Teahouse-Studios/bot/issues/new?assignees=OasisAkari&labels=New&template=add_new_group.yaml&title=%5BNEW%5D%3A+) 入群申请。
目前 QQ 上稳定运行的小可实例为小可三号机。由于腾讯风控问题,请[在此提交](https://github.com/Teahouse-Studios/bot/issues/new?assignees=OasisAkari&labels=New&template=add_new_group.yaml&title=%5BNEW%5D%3A+)入群申请。
此外,你也可以加入我们的测试 QQ 群来测试命令738829671
@ -51,17 +51,17 @@ QQ 频道的测试版支持也请在上方链接申请。我们正在进行 QQ
### 自搭建
你可以 [参考这里](./DEPLOY.md) 来进行尝试搭建。
你可以[参考这里](./DEPLOY.md)来进行尝试搭建。
若遇到问题,可以通过 [Issue](https://github.com/Teahouse-Studios/bot/issues/new) 或其他方式咨询开发者。
### 多语言
关于小可的多语言问题,可前往 [Crowdin](https://crowdin.com/project/akari-bot) 提出
关于小可的多语言问题,可前往 [Crowdin](https://crowdin.com/project/akari-bot) 参与改进
### 贡献
如您想为我们编写新的模块,可以看看 [这里](https://bot.teahouse.team/wiki/%E6%96%B0%E5%BB%BA%E6%A8%A1%E5%9D%97%E6%8C%87%E5%8D%97)。
如您想为我们编写新的模块,可以看看[这里](https://bot.teahouse.team/wiki/%E6%96%B0%E5%BB%BA%E6%A8%A1%E5%9D%97%E6%8C%87%E5%8D%97)。
## 许可

View file

@ -1,21 +0,0 @@
import hashlib
from core.builtins import Bot
from core.component import module
h = module('hash', developers=['Dianliang233'], desc='{hash.help}', )
@h.handle('<algorithm> <string> [<encoding>] {{hash.help}}')
async def _(msg: Bot.MessageSession, algorithm: str, string: str, encoding: str = 'utf-8'):
try:
hash_ = hashlib.new(algorithm, string.encode(encoding))
await msg.finish(msg.locale.t('hash.message.output', algorithm=hash_.name, digest=hash_.hexdigest()))
except ValueError:
await msg.finish(f"{msg.locale.t('hash.message.unsupported_algorithm', algorithm=algorithm)}\n"
f"{msg.locale.t('hash.message.algorithms_list', algorithms=', '.join(hashlib.algorithms_available))}")
@h.handle('list {{hash.help.list}}')
async def _(msg: Bot.MessageSession):
await msg.finish(msg.locale.t('hash.message.algorithms_list', algorithms=', '.join(hashlib.algorithms_available)))

View file

@ -1,7 +0,0 @@
{
"hash.help": "Generate the hash digest of a string.",
"hash.help.list": "Returns a list of supported hashing algorithms.",
"hash.message.algorithms_list": "Supported algorithms: ${algorithms}",
"hash.message.output": "${algorithm} digest of the string is: ${digest}",
"hash.message.unsupported_algorithm": "Algorithm not supported: ${algorithm}"
}

View file

@ -1,7 +0,0 @@
{
"hash.help": "生成字符串的哈希/散列值。",
"hash.help.list": "返回支持的散列算法。",
"hash.message.algorithms_list": "支持的算法:${algorithms}",
"hash.message.output": "上述字符串的 ${algorithm} 散列值为:${digest}",
"hash.message.unsupported_algorithm": "不支持此算法:${algorithm}"
}

View file

@ -1,7 +0,0 @@
{
"hash.help": "產生字串的雜湊值。",
"hash.help.list": "返回支援的雜湊演算法。",
"hash.message.algorithms_list": "支援的演算法:${algorithms}",
"hash.message.output": "上述字串的 ${algorithm} 雜湊值為:${digest}",
"hash.message.unsupported_algorithm": "不支援此演算法:${algorithm}"
}