Text Render Plugin for AstrBot
这是一个为 AstrBot 设计的插件,可以将格式化的文本文档转换为设计精美的图片。它非常适合用于生成每日报告、公告、笔记或其他需要以图片形式分享的文本内容。
✨ 功能特性
丰富的文本格式化:
- 自动换行: 根据设定的宽度智能地对长文本进行换行。
- Markdown 粗体: 支持使用
**粗体文本**语法来加粗文字。 - 分隔符: 在文本中使用
---或———可以创建一条水平分隔线。 - 段落间距: 文本中的空行会被渲染为段落间距。
- 中日韩禁则处理: 自动处理行首的标点符号,避免悬挂。
灵活的路径解析:
- 动态日期: 支持
${today_prefix}占位符,会自动替换为当天的日期(格式:YYYYMMDD)。 - 通配符: 支持
*和?通配符,可自动查找并使用最新修改的文件。 - 跨平台路径: 支持
~符号来表示用户主目录,并能正确处理相对路径和绝对路径。
- 动态日期: 支持
高度可定制的视觉效果:
- 多种主题: 内置多种颜色主题,包括
light,dark, 以及light-gradient和dark-gradient渐变主题。 - 自定义字体: 支持为常规文本和粗体文本分别指定不同的字体。
- 圆角和边框: 可以为生成的图片添加圆角,并可选择是否添加一个带阴影的精美边框。
- 多种主题: 内置多种颜色主题,包括
⚙️ 配置说明
插件的配置在 AstrBot 的主配置文件中完成。以下是所有可用的配置项及其说明:
| 键 (Key) | 类型 (Type) | 默认值 | 描述 |
|---|---|---|---|
text_file_path |
string |
"" |
必需。源文本文件的路径模板。支持动态占位符和通配符。 |
font_path |
string |
"" |
常规字体的 .ttf 或 .otf 文件路径。如果留空或路径无效,将使用默认字体。 |
font_path_bold |
string |
"" |
粗体字体的 .ttf 或 .otf 文件路径。如果留空,将退回使用常规字体。 |
font_size |
int |
24 |
字体大小(单位:px)。 |
theme |
string |
dark-gradient |
颜色主题。可选值: default, light, dark, light-gradient, dark-gradient。 |
width |
int |
1080 |
生成图片的总宽度(单位:px)。 |
padding |
int |
40 |
图片内容区域的内边距(单位:px)。 |
use_frame |
bool |
True |
是否为图片添加带阴影的边框。 |
corner_radius |
int |
15 |
图片的圆角半径(单位:px)。设置为 0 则为直角。 |
text_line_spacing |
int |
5 |
文本行之间的额外间距(单位:px)。 |
divider_margin |
int |
10 |
水平分隔线上下的外边距(单位:px)。 |
配置示例
# 在 AstrBot 的 插件配置 中
text_file_path: "/path/to/reports/${today_prefix}_*.txt"
font_path: "/path/to/your/font/regular.ttf"
font_path_bold: "/path/to/your/font/bold.ttf"
theme: "light"
width: 1200
🚀 命令用法
daily dev
- 功能: 根据配置生成图片并发送到当前频道。
- 权限: 仅限管理员使用。
- 用法: 直接在聊天中发送
daily dev即可。
插件会自动根据 text_file_path 配置找到源文件,生成图片,并将其发送回来。