Skip to content

Commit 7eb7f43

Browse files
authored
Merge pull request #15 from MemeCrafters/rust
use meme-generator-rs
2 parents 6d1d7ef + 8eb9e71 commit 7eb7f43

21 files changed

Lines changed: 2359 additions & 1964 deletions

README.md

Lines changed: 66 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
_[Nonebot2](https://github.com/nonebot/nonebot2) 表情包制作插件 调用 api 版本 ✨_
1010

1111
<p align="center">
12-
<img src="https://img.shields.io/github/license/noneplugin/nonebot-plugin-memes-api" alt="license">
12+
<img src="https://img.shields.io/github/license/MemeCrafters/nonebot-plugin-memes-api" alt="license">
1313
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python">
1414
<img src="https://img.shields.io/badge/nonebot-2.3.0+-red.svg" alt="NoneBot">
1515
<a href="https://pypi.org/project/nonebot-plugin-memes-api">
@@ -22,9 +22,9 @@ _✨ [Nonebot2](https://github.com/nonebot/nonebot2) 表情包制作插件 调
2222

2323
</div>
2424

25-
> 本插件为 [nonebot-plugin-memes](https://github.com/noneplugin/nonebot-plugin-memes) 调用 api 版本
25+
> 本插件为 [nonebot-plugin-memes](https://github.com/MemeCrafters/nonebot-plugin-memes) 调用 api 版本
2626
>
27-
> 可以将本插件与 [meme-generator](https://github.com/MeetWq/meme-generator) 分开部署
27+
> 可以将本插件与 [meme-generator](https://github.com/MemeCrafters/meme-generator-rs) 分开部署
2828
2929
### 安装
3030

@@ -42,7 +42,7 @@ pip install nonebot_plugin_memes_api
4242

4343
并按照 [NoneBot 加载插件](https://nonebot.dev/docs/tutorial/create-plugin#加载插件) 加载插件
4444

45-
#### 配置驱动器​
45+
#### 配置驱动器
4646

4747
插件需要“客户端型驱动器”(如 httpx)来下载图片等,驱动器安装和配置参考 [NoneBot 选择驱动器](https://nonebot.dev/docs/advanced/driver)
4848

@@ -52,12 +52,6 @@ pip install nonebot_plugin_memes_api
5252
DRIVER=~fastapi+~httpx+~websockets
5353
```
5454

55-
#### meme-generator 部署
56-
57-
按照 [meme-generator 安装](https://github.com/MeetWq/meme-generator#安装) 中的说明安装,并下载图片、安装字体等
58-
59-
之后通过 `meme run` 启动 web server
60-
6155
### 配置项
6256

6357
> 以下配置项可在 `.env.*` 文件中设置,具体参考 [NoneBot 配置方式](https://nonebot.dev/docs/appendices/config)
@@ -80,23 +74,50 @@ DRIVER=~fastapi+~httpx+~websockets
8074
- 默认:`[]`
8175
- 说明:禁用的表情包列表,需填写表情的`key`,可在 [meme-generator 表情列表](https://github.com/MeetWq/meme-generator/blob/main/docs/memes.md) 中查看。若只是临时关闭,可以用下文中的“表情包开关”
8276

83-
#### `memes_prompt_params_error`
77+
#### `memes_params_mismatch_policy`
8478

85-
- 类型:`bool`
86-
- 默认:`False`
87-
- 说明:是否在图片/文字数量不符时提示(谨慎使用,容易误触发)
79+
- 类型:`MemeParamsMismatchPolicy`
80+
- 说明:图片/文字数量不符时的处理方式,其中具体设置项如下:
81+
- `too_much_text`
82+
- 类型:`str`
83+
- 默认:`"ignore"`
84+
- 可选项:`"ignore"`(忽略本次命令)、 `"prompt"`(发送提示), `"drop"`(去掉多余的文字)
85+
- `too_few_text`
86+
- 类型:`str`
87+
- 默认:`"ignore"`
88+
- 可选项:`"ignore"`(忽略本次命令)、 `"prompt"`(发送提示), `"get"`(交互式获取所需的文字)
89+
- `too_much_image`
90+
- 类型:`str`
91+
- 默认:`"ignore"`
92+
- 可选项:`"ignore"`(忽略本次命令)、 `"prompt"`(发送提示), `"drop"`(去掉多余的图片)
93+
- `too_few_image`
94+
- 类型:`str`
95+
- 默认:`"ignore"`
96+
- 可选项:`"ignore"`(忽略本次命令)、 `"prompt"`(发送提示), `"get"`(交互式获取所需的图片)
97+
- `memes_params_mismatch_policy``.env` 文件中的设置示例如下:
98+
99+
```
100+
memes_params_mismatch_policy='
101+
{
102+
"too_much_text": "drop",
103+
"too_few_text": "get",
104+
"too_much_image": "drop",
105+
"too_few_image": "get"
106+
}
107+
'
108+
```
88109

89110
#### `memes_use_sender_when_no_image`
90111

91112
- 类型:`bool`
92113
- 默认:`False`
93-
- 说明:在表情需要至少1张图且没有输入图片时,是否使用发送者的头像(谨慎使用,容易误触发)
114+
- 说明:在表情需要至少 1 张图且没有输入图片时,是否使用发送者的头像
94115

95116
#### `memes_use_default_when_no_text`
96117

97118
- 类型:`bool`
98119
- 默认:`False`
99-
- 说明:在表情需要至少1段文字且没有输入文字时,是否使用默认文字(谨慎使用,容易误触发)
120+
- 说明:在表情需要至少 1 段文字且没有输入文字时,是否使用默认文字
100121

101122
#### `memes_random_meme_show_info`
102123

@@ -152,6 +173,34 @@ memes_list_image_config='
152173
'
153174
```
154175

176+
#### `memes_multiple_image_config`
177+
178+
- 类型:`MultipleImageConfig`
179+
- 说明:发送多张图片时的相关设置,其中具体设置项如下:
180+
- `direct_send_threshold`
181+
- 类型:`int`
182+
- 默认:`10`
183+
- 说明:发送图片数量大于该数目时,不再直接发送,而是以文件或合并转发消息的形式发送
184+
- `send_zip_file`
185+
- 类型:`bool`
186+
- 默认:`True`
187+
- 说明:发送图片数量大于 `direct_send_threshold` 时,是否打包为zip以文件形式发送
188+
- `send_forward_msg`
189+
- 类型:`bool`
190+
- 默认:`False`
191+
- 说明:发送图片数量大于 `direct_send_threshold` 时,是否发送合并转发消息
192+
- `memes_multiple_image_config``.env` 文件中的设置示例如下:
193+
194+
```
195+
memes_multiple_image_config='
196+
{
197+
"direct_send_threshold": 10,
198+
"send_zip_file": true,
199+
"send_forward_msg": true
200+
}
201+
'
202+
```
203+
155204
### 使用
156205

157-
使用方式与 [nonebot-plugin-memes](https://github.com/noneplugin/nonebot-plugin-memes) 基本一致
206+
使用方式与 [nonebot-plugin-memes](https://github.com/MemeCrafters/nonebot-plugin-memes) 基本一致

nonebot_plugin_memes_api/__init__.py

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,33 +18,35 @@
1818
description="制作各种沙雕表情包",
1919
usage=(
2020
"- 表情列表\n"
21-
"发送 “表情包制作” 查看表情列表\n"
21+
" 发送“表情包制作”查看表情列表\n\n"
2222
"- 表情详情\n"
23-
"发送 “表情详情 + 表情名/关键词” 查看表情详细信息和表情预览\n"
23+
" 发送“表情详情 + 关键词”查看表情详细信息和表情预览\n\n"
2424
"- 表情搜索\n"
25-
"发送 “表情搜索 + 关键词” 查找相关的表情\n"
26-
"- 表情包开关\n"
27-
"- “超级用户”“管理员” 可以启用或禁用某些表情包\n"
28-
"发送 启用表情/禁用表情 表情名/关键词,如:禁用表情 摸\n"
29-
"- “超级用户” 可以设置某个表情包的管控模式(黑名单/白名单)\n"
30-
"发送 全局启用表情 表情名/关键词 可将表情设为黑名单模式;\n"
31-
"发送 全局禁用表情 表情名/关键词 可将表情设为白名单模式;\n"
25+
" 发送“表情搜索 + 关键词”查找相关的表情\n\n"
26+
"- 表情开关\n"
27+
" - “超级用户”“管理员”可以启用或禁用某些表情\n"
28+
" 发送“启用表情/禁用表情 + 关键词,如:禁用表情 摸\n"
29+
" - “超级用户” 可以设置某个表情包的管控模式(黑名单/白名单)\n"
30+
" 发送“全局启用表情 + 关键词”可将表情设为黑名单模式;\n"
31+
" 发送“全局禁用表情 + 关键词”可将表情设为白名单模式;\n\n"
3232
"- 表情使用\n"
33-
f"发送 “{memes_prefix}关键词 + 图片/文字” 制作表情\n"
34-
"可使用 “自己”、“@某人” 获取指定用户的头像作为图片\n"
35-
"可使用 “@ + 用户id” 指定任意用户获取头像,如 “摸 @114514”\n"
36-
"可将回复中的消息作为文字和图片的输入\n"
33+
f" 发送 “{memes_prefix}关键词 + 图片/文字” 制作表情\n"
34+
" 可使用“自己”、“@某人”获取指定用户的头像作为图片,如“摸 自己”\n"
35+
" 可使用“@ + 用户id”指定任意用户获取头像,如“摸 @114514”\n"
36+
" 可将回复中的消息作为文字和图片的输入\n"
37+
" 指定用户时将使用用户昵称作为“图片名”\n"
38+
" 可使用“# + 名字”指定“图片名”,如“小天使 #name 自己”\n\n"
3739
"- 随机表情\n"
38-
"发送 “随机表情 + 图片/文字” 可随机制作表情\n"
39-
"随机范围为 图片/文字 数量符合要求的表情\n"
40+
" 发送“随机表情 + 图片/文字”可随机制作表情\n"
41+
" 随机范围为 图片/文字 数量符合要求的表情\n\n"
4042
"- 表情调用统计\n"
41-
"发送 “[我的][全局]<时间段>表情调用统计 [表情名]” 获取表情调用次数统计图\n"
42-
"“我的”、“全局”、<时间段>、“表情名” 均为可选项\n"
43-
"<时间段> 的关键词有:日、本日、周、本周、月、本月、年、本年\n"
44-
"如:“我的今日表情调用统计 petpet”"
43+
" 发送 “[我的][全局]<时间段>表情调用统计 + [表情名]” 获取表情调用次数统计图\n"
44+
" “我的”、“全局”、<时间段>、“表情名” 均为可选项\n"
45+
" <时间段> 可以为:日、本日、周、本周、月、本月、年、本年\n"
46+
" 如:“我的今日表情调用统计 petpet”"
4547
),
4648
type="application",
47-
homepage="https://github.com/noneplugin/nonebot-plugin-memes",
49+
homepage="https://github.com/noneplugin/nonebot-plugin-memes-api",
4850
config=Config,
4951
supported_adapters=inherit_supported_adapters(
5052
"nonebot_plugin_alconna", "nonebot_plugin_uninfo"

0 commit comments

Comments
 (0)