Merge remote-tracking branch 'origin/main'

# Conflicts:
#	docs/.vuepress/theme.js
This commit is contained in:
远野千束 2024-04-08 17:02:24 +08:00
commit 83692ffd55
5 changed files with 23 additions and 18 deletions

View File

@ -14,10 +14,14 @@ tag:
- 请使用`/path/to/python -m pip install -r requirements.txt`来安装依赖, - 请使用`/path/to/python -m pip install -r requirements.txt`来安装依赖,
然后用`/path/to/python main.py`来启动Bot 然后用`/path/to/python main.py`来启动Bot
其中`/path/to/python`是你要用来运行Bot的可执行文件 其中`/path/to/python`是你要用来运行Bot的可执行文件
- 为什么我启动后机器人没有反应? - 为什么我启动后机器人没有反应?
- 请检查配置文件的`command_start`或`superusers`,确认你有权限使用命令并按照正确的命令发送 - 请检查配置文件的`command_start`或`superusers`,确认你有权限使用命令并按照正确的命令发送
- 确认命令头没有和`nickname{}`冲突,例如一个命令是`help`,但是`Bot`昵称有一个`help`那么将会被解析为nickname而不是命令 - 确认命令头没有和`nickname{}`冲突,例如一个命令是`help`,但是`Bot`昵称有一个`help`那么将会被解析为nickname而不是命令
- 更新轻雪失败,报错`InvalidGitRepositoryError`
- 请正确安装`Git`,并使用克隆而非直接下载的方式部署轻雪
- 怎么登录聊天平台例如QQ - 怎么登录聊天平台例如QQ
- 你有这个问题说明你不是很了解这个项目,本项目不负责实现登录功能,只负责处理和回应消息,登录功能由实现端(协议端)提供, - 你有这个问题说明你不是很了解这个项目,本项目不负责实现登录功能,只负责处理和回应消息,登录功能由实现端(协议端)提供,
实现端本身不负责处理响应逻辑将消息按照OneBot标准处理好上报给轻雪 实现端本身不负责处理响应逻辑将消息按照OneBot标准处理好上报给轻雪
@ -45,4 +49,4 @@ tag:
- [Nonebot2](https://nonebot.dev)提供的框架支持 - [Nonebot2](https://nonebot.dev)提供的框架支持
- [nonebot-plugin-htmlrender](https://github.com/kexue-z/nonebot-plugin-htmlrender/tree/master)提供的渲染功能 - [nonebot-plugin-htmlrender](https://github.com/kexue-z/nonebot-plugin-htmlrender/tree/master)提供的渲染功能
- [nonebot-plugin-alconna](https://github.com/ArcletProject/nonebot-plugin-alconna)提供的命令解析功能 - [nonebot-plugin-alconna](https://github.com/ArcletProject/nonebot-plugin-alconna)提供的命令解析功能

View File

@ -6,32 +6,34 @@ category: 使用手册
--- ---
## 简介 ## 简介
资源包,也可根据用途称为主题包、字体包、语言包等,它允许你一定程度上自定义轻雪的外观,并且不用修改源码 资源包,亦可根据用途称为主题包、字体包、语言包等,它允许你一定程度上自定义轻雪的外观,并且不用修改源代码
- [资源/主题商店](/store/)提供了一些资源包供你选择,你也可以自己制作资源包 - [资源/主题商店](/store/)提供了一些资源包供你选择,你也可以自己制作资源包
- 资源包的制作很简单,如果你接触过`Minecraft`的资源包,那么你会很快上手 - 资源包的制作很简单,如果你接触过`Minecraft`的资源包,那么你能够很快就上手,仅需按照原有路径进行文件替换即刻,讲起打包成一个新的资源包。
- 部分内容制作需要一点点前端基础,例如`html`,`css`,如果你不懂,可以参考一些教程 - 部分内容制作需要一点点前端基础,例如`html``css`
- 轻雪原版资源包请查看`LiteyukiBot/liteyuki/resources`,可以在此基础上进行修改
- 欢迎各位投稿资源包到轻雪资源商店 - 欢迎各位投稿资源包到轻雪资源商店
## 加载资源包 ## 加载资源包
- 下载的资源包通常是以`.zip`格式压缩的,你只需要将其解压到根目录`resources`目录下即可,注意不要嵌套文件夹,正常的路径应该是这样的 - 资源包通常是以`.zip`格式压缩的,只需要将其解压到根目录`resources`目录下即可,注意不要嵌套文件夹,正常的路径应该是这样的
```shell ```shell
main.py main.py
resources resources
─resource_pack_1 ─resource_pack_1
├───metadata.yml ├─metadata.yml
├───templates ├─templates
└───... └───...
└─resource_pack_2 └─resource_pack_2
├───metadata.yml ├─metadata.yml
└───... └─...
``` ```
- 你自己制作的资源包也应该遵循这个规则,并且应该在`metadata.yml`中填写一些信息 - 你自己制作的资源包也应该遵循这个规则,并且应该在`metadata.yml`中填写一些信息
- 若没有`metadata.yml`文件,则轻雪不会加载这个资源包 - 若没有`metadata.yml`文件,则该文件夹不会被识别为资源包
```yaml ```yaml
name: "资源包名称" name: "资源包名称"
version: "1.0.0" version: "1.0.0"
description: "资源包描述" description: "资源包描述"
... # 你可以自定义一些信息,但请保证以上三个字段 # 你可以自定义一些信息,但请保证以上三个字段
...
``` ```
- 资源包加载遵循一个优先级,即后加载的资源包会覆盖前面的资源包,也就是说你在A资源包中定义了一个`index.html`文件B资源包也定义了一个`index.html`文件那么加载B资源包后A资源包中的`index.html`文件会被覆盖 - 资源包加载遵循一个优先级,即后加载的资源包会覆盖前面的资源包,例如你在A包中定义了一个`index.html`文件B包也定义了一个`index.html`文件那么加载B包后A包中的`index.html`文件会被覆盖
- 对于不同资源包的不同文件是可以相对引用的例如你在A资源包中的`index.html`文件中引用了B资源包中的`style.css`文件那么加载A资源包后轻雪会自动加载B资源包中的`style.css`文件 - 对于不同资源包的不同文件是可以相对引用的例如你在A中定义了`templates/index.html`在B中定义了`templates/style.css`可以在A的`index.html`中用`./style.css`相对路径引用B中的css

View File

@ -12,7 +12,7 @@ from nonebot.adapters.onebot import v11, v12
from typing import Any from typing import Any
from . import load_from_yaml from . import load_from_yaml
from .liteyuki_api import liteyuki_api from .ly_api import liteyuki_api
from .ly_typing import T_Bot, T_MessageEvent from .ly_typing import T_Bot, T_MessageEvent
require("nonebot_plugin_htmlrender") require("nonebot_plugin_htmlrender")

View File

@ -4,7 +4,7 @@ from nonebot.adapters.onebot import v11, v12
from liteyuki.utils import init from liteyuki.utils import init
from liteyuki.utils.config import load_from_yaml from liteyuki.utils.config import load_from_yaml
from liteyuki.utils.data_manager import StoredConfig, common_db from liteyuki.utils.data_manager import StoredConfig, common_db
from liteyuki.utils.liteyuki_api import liteyuki_api from liteyuki.utils.ly_api import liteyuki_api
init() init()
@ -26,7 +26,6 @@ if __name__ == "__main__":
try: try:
nonebot.run() nonebot.run()
except BaseException as e: except BaseException as e:
# 排除键盘中断
if not isinstance(e, KeyboardInterrupt): if not isinstance(e, KeyboardInterrupt):
nonebot.logger.error(f"An error occurred: {e}, Bug will be reported automatically.") nonebot.logger.error(f"An error occurred: {e}, Bug will be reported automatically.")
liteyuki_api.bug_report(str(e.__repr__())) liteyuki_api.bug_report(str(e.__repr__()))