<div align="center">
# Arcaea 表情包生成器
_✨ 基于 NoneBot2 的 Arcaea 表情包生成插件 ✨_
<p align="center">
<img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="python">
<a href="https://pypi.python.org/pypi/nonebot-plugin-arcaea-sticker">
<img src="https://img.shields.io/pypi/v/nonebot-plugin-arcaea-sticker.svg" alt="pypi">
</a>
</p>
<p align="center">
<a href="https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=sy5x0Bv8IJoMVviC3dRbXTVD9zLdpitx&authKey=OPfY0G2zfQwDQJmf5xV5cqJq7c6%2Beg1cqiCF%2BDHsSFEaGscmeo5ALIdyJ%2BYZmoJb&noverify=0&group_code=806446119">
<img src="https://img.shields.io/badge/QQ群-806446119-pink" alt="QQ Chat Group">
</a>
<a href="https://pydantic.dev">
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/lgc-NB2Dev/readme/main/template/pyd-v1-or-v2.json" alt="Pydantic Version 1 Or 2" >
</a>
<a href="./LICENSE">
<img src="https://img.shields.io/github/license/Agnes4m/nonebot_plugin_pjsk.svg" alt="license">
</a>
</p>
<p align="center">
<img src="https://github.com/JQ-28/nonebot-plugin-arcaea-sticker/blob/main/nami%E9%BE%99%E7%AC%94!%E9%BE%99%E7%AC%94!.png" alt="示例图片">
</p>
</div>
## 📖 介绍
本插件可以生成 Arcaea 风格的表情包,支持自定义文字、位置、角度、颜色等参数。
## 💿 安装
### 方式一:使用 nb-cli 安装(推荐)
```bash
nb plugin install nonebot-plugin-arcaea-sticker
```
### 方式二:使用包管理器安装
1. 使用 pip 安装插件:
```bash
pip install nonebot-plugin-arcaea-sticker
```
2. 在 NoneBot2 项目的 `pyproject.toml` 文件中添加插件:
```toml
[tool.nonebot]
plugins = ["nonebot_plugin_arcaea_sticker"]
```
## ⚙️ 配置
在 NoneBot2 项目的 `.env` 文件中添加以下配置:
```env
# 是否回复消息
arcaea_reply=true
# 是否使用缓存
arcaea_use_cache=true
```
## 🎮 使用方法
### 基础指令
- `arc <角色> <文字>` - 生成表情包
- `arc -h` - 显示帮助
- `arc` - 进入交互模式
### 自定义参数(都是可选的)
| 参数 | 说明 | 范围 | 默认值 | 补充说明 |
|------|------|------|--------|----------|
| `-s, --size` | 文字大小 | 20~45 | 35 | 数字越大文字越大,多行文字建议25-35 |
| `-x` | 横向位置 | 0~296 | 148 | 0=最左边,148=居中,296=最右边 |
| `-y` | 纵向位置 | 0~256 | 128 | 0=最上方,128=居中,256=最下方 |
| `-r, --rotate` | 旋转角度 | -180~180 | -12 | 正数顺时针,负数逆时针,建议-30~30度 |
| `-c, --color` | 文字颜色 | 十六进制 | 角色专属 | 支持`#ff0000`或`ff0000`格式 |
| `-w, --stroke-width` | 描边宽度 | 整数 | 9 | 文字边框的粗细 |
| `-C, --stroke-color` | 描边颜色 | 十六进制 | 自动生成 | 默认比文字颜色深30% |
💡 提示: 文字包含空格需要加引号,换行使用`\n`
### 使用示例
```
arc luna 好耶! # 基础用法
arc hikari "第一行\n第二行" -s 45 # 多行文字
arc 17 喜欢... -x 150 -y 100 -r -20 # 调整位置和角度
arc nami "龙笔!" -c ff0000 # 自定义红色文字
arc eto "Ciallo~(∠・ω<)⌒☆" -s 30 -c #fdae92 -r -28 -x 120 -y 80 # 组合多个参数
```
## 📝 功能特点
- ✅ 支持生成 Arcaea 角色的表情包
- ✅ 支持命令模式和交互模式
- ✅ 支持自定义文字、位置、角度、颜色等参数
- ✅ 支持多行文本和自动换行
- ✅ 智能文字大小调整
- ✅ 支持中文角色名称
## 🔧 依赖
- Python
- NoneBot2
- nonebot-adapter-onebot
- nonebot-plugin-htmlrender
- nonebot-plugin-localstore
- Playwright
## 📄 开源许可
本项目基于 [MIT](LICENSE) 许可证开源。
**注意事项:**
- 本项目代码使用 MIT 许可证开源,您可以自由使用和修改代码
- 项目中的表情包素材来源于 [Xestarrrr](https://x.com/Xestarrrr)
- 本项目基于 [arcaea-stickers](https://github.com/Rosemoe/arcaea-stickers) 项目开发
- 请遵守原始素材的使用条款和限制
## 🙏 鸣谢
- [Xestarrrr](https://x.com/Xestarrrr) - 原始表情包素材创作者
- [arcaea-stickers](https://github.com/Rosemoe/arcaea-stickers) - 网页版表情包生成器
- [nonebot-plugin-pjsk](https://github.com/lgc-NB2Dev/nonebot-plugin-pjsk) - 参考了部分代码
- [NoneBot2](https://github.com/nonebot/nonebot2) - 跨平台 Python 异步机器人框架
## 📞 联系
<table>
<tr>
<td>ღ互联网小猫窝ღ(Bot群,欢迎来玩)</td>
<td>JQ-28</td>
</tr>
<tr>
<td>QQ群:806446119</td>
<td>QQ:480352716</td>
</tr>
</table>
</div>
第一次写代码,比较史,请见谅,如有问题或建议请直接发issue,我会尽量解决
Raw data
{
"_id": null,
"home_page": null,
"name": "nonebot-plugin-arcaea-sticker",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "nonebot2, plugin, arcaea, sticker",
"author": null,
"author_email": "JQ-28 <480352716@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/00/e1/c1d3739c634d2fc836c2e05472b0ea2183c17efe8dbce529267398d12c22/nonebot_plugin_arcaea_sticker-0.3.1.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n\n# Arcaea \u8868\u60c5\u5305\u751f\u6210\u5668\n\n_\u2728 \u57fa\u4e8e NoneBot2 \u7684 Arcaea \u8868\u60c5\u5305\u751f\u6210\u63d2\u4ef6 \u2728_\n\n<p align=\"center\">\n <img src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" alt=\"python\">\n <a href=\"https://pypi.python.org/pypi/nonebot-plugin-arcaea-sticker\">\n <img src=\"https://img.shields.io/pypi/v/nonebot-plugin-arcaea-sticker.svg\" alt=\"pypi\">\n </a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=sy5x0Bv8IJoMVviC3dRbXTVD9zLdpitx&authKey=OPfY0G2zfQwDQJmf5xV5cqJq7c6%2Beg1cqiCF%2BDHsSFEaGscmeo5ALIdyJ%2BYZmoJb&noverify=0&group_code=806446119\">\n <img src=\"https://img.shields.io/badge/QQ\u7fa4-806446119-pink\" alt=\"QQ Chat Group\">\n </a>\n <a href=\"https://pydantic.dev\">\n <img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/lgc-NB2Dev/readme/main/template/pyd-v1-or-v2.json\" alt=\"Pydantic Version 1 Or 2\" >\n </a>\n <a href=\"./LICENSE\">\n <img src=\"https://img.shields.io/github/license/Agnes4m/nonebot_plugin_pjsk.svg\" alt=\"license\">\n </a>\n</p>\n\n\n<p align=\"center\">\n <img src=\"https://github.com/JQ-28/nonebot-plugin-arcaea-sticker/blob/main/nami%E9%BE%99%E7%AC%94!%E9%BE%99%E7%AC%94!.png\" alt=\"\u793a\u4f8b\u56fe\u7247\">\n</p>\n\n</div>\n\n## \ud83d\udcd6 \u4ecb\u7ecd\n\n\u672c\u63d2\u4ef6\u53ef\u4ee5\u751f\u6210 Arcaea \u98ce\u683c\u7684\u8868\u60c5\u5305\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u6587\u5b57\u3001\u4f4d\u7f6e\u3001\u89d2\u5ea6\u3001\u989c\u8272\u7b49\u53c2\u6570\u3002\n\n## \ud83d\udcbf \u5b89\u88c5\n\n### \u65b9\u5f0f\u4e00\uff1a\u4f7f\u7528 nb-cli \u5b89\u88c5\uff08\u63a8\u8350\uff09\n\n```bash\nnb plugin install nonebot-plugin-arcaea-sticker\n```\n\n### \u65b9\u5f0f\u4e8c\uff1a\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u5b89\u88c5\n\n1. \u4f7f\u7528 pip \u5b89\u88c5\u63d2\u4ef6\uff1a\n```bash\npip install nonebot-plugin-arcaea-sticker\n```\n\n2. \u5728 NoneBot2 \u9879\u76ee\u7684 `pyproject.toml` \u6587\u4ef6\u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a\n```toml\n[tool.nonebot]\nplugins = [\"nonebot_plugin_arcaea_sticker\"]\n```\n\n## \u2699\ufe0f \u914d\u7f6e\n\n\u5728 NoneBot2 \u9879\u76ee\u7684 `.env` \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a\n\n```env\n# \u662f\u5426\u56de\u590d\u6d88\u606f\narcaea_reply=true\n# \u662f\u5426\u4f7f\u7528\u7f13\u5b58\narcaea_use_cache=true\n```\n\n## \ud83c\udfae \u4f7f\u7528\u65b9\u6cd5\n\n### \u57fa\u7840\u6307\u4ee4\n- `arc <\u89d2\u8272> <\u6587\u5b57>` - \u751f\u6210\u8868\u60c5\u5305\n- `arc -h` - \u663e\u793a\u5e2e\u52a9\n- `arc` - \u8fdb\u5165\u4ea4\u4e92\u6a21\u5f0f\n\n### \u81ea\u5b9a\u4e49\u53c2\u6570\uff08\u90fd\u662f\u53ef\u9009\u7684\uff09\n| \u53c2\u6570 | \u8bf4\u660e | \u8303\u56f4 | \u9ed8\u8ba4\u503c | \u8865\u5145\u8bf4\u660e |\n|------|------|------|--------|----------|\n| `-s, --size` | \u6587\u5b57\u5927\u5c0f | 20~45 | 35 | \u6570\u5b57\u8d8a\u5927\u6587\u5b57\u8d8a\u5927,\u591a\u884c\u6587\u5b57\u5efa\u8bae25-35 |\n| `-x` | \u6a2a\u5411\u4f4d\u7f6e | 0~296 | 148 | 0=\u6700\u5de6\u8fb9,148=\u5c45\u4e2d,296=\u6700\u53f3\u8fb9 |\n| `-y` | \u7eb5\u5411\u4f4d\u7f6e | 0~256 | 128 | 0=\u6700\u4e0a\u65b9,128=\u5c45\u4e2d,256=\u6700\u4e0b\u65b9 |\n| `-r, --rotate` | \u65cb\u8f6c\u89d2\u5ea6 | -180~180 | -12 | \u6b63\u6570\u987a\u65f6\u9488,\u8d1f\u6570\u9006\u65f6\u9488,\u5efa\u8bae-30~30\u5ea6 |\n| `-c, --color` | \u6587\u5b57\u989c\u8272 | \u5341\u516d\u8fdb\u5236 | \u89d2\u8272\u4e13\u5c5e | \u652f\u6301`#ff0000`\u6216`ff0000`\u683c\u5f0f |\n| `-w, --stroke-width` | \u63cf\u8fb9\u5bbd\u5ea6 | \u6574\u6570 | 9 | \u6587\u5b57\u8fb9\u6846\u7684\u7c97\u7ec6 |\n| `-C, --stroke-color` | \u63cf\u8fb9\u989c\u8272 | \u5341\u516d\u8fdb\u5236 | \u81ea\u52a8\u751f\u6210 | \u9ed8\u8ba4\u6bd4\u6587\u5b57\u989c\u8272\u6df130% |\n\n\ud83d\udca1 \u63d0\u793a: \u6587\u5b57\u5305\u542b\u7a7a\u683c\u9700\u8981\u52a0\u5f15\u53f7,\u6362\u884c\u4f7f\u7528`\\n`\n\n### \u4f7f\u7528\u793a\u4f8b\n```\narc luna \u597d\u8036\uff01 # \u57fa\u7840\u7528\u6cd5\narc hikari \"\u7b2c\u4e00\u884c\\n\u7b2c\u4e8c\u884c\" -s 45 # \u591a\u884c\u6587\u5b57\narc 17 \u559c\u6b22... -x 150 -y 100 -r -20 # \u8c03\u6574\u4f4d\u7f6e\u548c\u89d2\u5ea6\narc nami \"\u9f99\u7b14!\" -c ff0000 # \u81ea\u5b9a\u4e49\u7ea2\u8272\u6587\u5b57\narc eto \"Ciallo\uff5e(\u2220\u30fb\u03c9<)\u2312\u2606\" -s 30 -c #fdae92 -r -28 -x 120 -y 80 # \u7ec4\u5408\u591a\u4e2a\u53c2\u6570\n```\n\n## \ud83d\udcdd \u529f\u80fd\u7279\u70b9\n\n- \u2705 \u652f\u6301\u751f\u6210 Arcaea \u89d2\u8272\u7684\u8868\u60c5\u5305\n- \u2705 \u652f\u6301\u547d\u4ee4\u6a21\u5f0f\u548c\u4ea4\u4e92\u6a21\u5f0f\n- \u2705 \u652f\u6301\u81ea\u5b9a\u4e49\u6587\u5b57\u3001\u4f4d\u7f6e\u3001\u89d2\u5ea6\u3001\u989c\u8272\u7b49\u53c2\u6570\n- \u2705 \u652f\u6301\u591a\u884c\u6587\u672c\u548c\u81ea\u52a8\u6362\u884c\n- \u2705 \u667a\u80fd\u6587\u5b57\u5927\u5c0f\u8c03\u6574\n- \u2705 \u652f\u6301\u4e2d\u6587\u89d2\u8272\u540d\u79f0\n\n## \ud83d\udd27 \u4f9d\u8d56\n\n- Python\n- NoneBot2 \n- nonebot-adapter-onebot\n- nonebot-plugin-htmlrender \n- nonebot-plugin-localstore \n- Playwright\n\n## \ud83d\udcc4 \u5f00\u6e90\u8bb8\u53ef\n\n\u672c\u9879\u76ee\u57fa\u4e8e [MIT](LICENSE) \u8bb8\u53ef\u8bc1\u5f00\u6e90\u3002\n\n**\u6ce8\u610f\u4e8b\u9879\uff1a**\n- \u672c\u9879\u76ee\u4ee3\u7801\u4f7f\u7528 MIT \u8bb8\u53ef\u8bc1\u5f00\u6e90\uff0c\u60a8\u53ef\u4ee5\u81ea\u7531\u4f7f\u7528\u548c\u4fee\u6539\u4ee3\u7801\n- \u9879\u76ee\u4e2d\u7684\u8868\u60c5\u5305\u7d20\u6750\u6765\u6e90\u4e8e [Xestarrrr](https://x.com/Xestarrrr)\n- \u672c\u9879\u76ee\u57fa\u4e8e [arcaea-stickers](https://github.com/Rosemoe/arcaea-stickers) \u9879\u76ee\u5f00\u53d1\n- \u8bf7\u9075\u5b88\u539f\u59cb\u7d20\u6750\u7684\u4f7f\u7528\u6761\u6b3e\u548c\u9650\u5236\n\n## \ud83d\ude4f \u9e23\u8c22\n\n- [Xestarrrr](https://x.com/Xestarrrr) - \u539f\u59cb\u8868\u60c5\u5305\u7d20\u6750\u521b\u4f5c\u8005\n- [arcaea-stickers](https://github.com/Rosemoe/arcaea-stickers) - \u7f51\u9875\u7248\u8868\u60c5\u5305\u751f\u6210\u5668\n- [nonebot-plugin-pjsk](https://github.com/lgc-NB2Dev/nonebot-plugin-pjsk) - \u53c2\u8003\u4e86\u90e8\u5206\u4ee3\u7801\n- [NoneBot2](https://github.com/nonebot/nonebot2) - \u8de8\u5e73\u53f0 Python \u5f02\u6b65\u673a\u5668\u4eba\u6846\u67b6\n\n## \ud83d\udcde \u8054\u7cfb\n\n<table>\n <tr>\n <td>\u10e6\u4e92\u8054\u7f51\u5c0f\u732b\u7a9d\u10e6(Bot\u7fa4,\u6b22\u8fce\u6765\u73a9)</td>\n <td>JQ-28</td>\n </tr>\n <tr>\n <td>QQ\u7fa4\uff1a806446119</td>\n <td>QQ\uff1a480352716</td>\n </tr>\n</table>\n\n</div>\n\n\u7b2c\u4e00\u6b21\u5199\u4ee3\u7801\uff0c\u6bd4\u8f83\u53f2\uff0c\u8bf7\u89c1\u8c05\uff0c\u5982\u6709\u95ee\u9898\u6216\u5efa\u8bae\u8bf7\u76f4\u63a5\u53d1issue\uff0c\u6211\u4f1a\u5c3d\u91cf\u89e3\u51b3",
"bugtrack_url": null,
"license": "MIT",
"summary": "Arcaea sticker generator plugin for NoneBot2",
"version": "0.3.1",
"project_urls": {
"documentation": "https://github.com/JQ-28/nonebot-plugin-arcaea-sticker#readme",
"homepage": "https://github.com/JQ-28/nonebot-plugin-arcaea-sticker",
"repository": "https://github.com/JQ-28/nonebot-plugin-arcaea-sticker"
},
"split_keywords": [
"nonebot2",
" plugin",
" arcaea",
" sticker"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fc458a8a22b5cd6c800e949c37d50e996fed9917c54c5ffba04fff78babc31f4",
"md5": "03555661e400110963b85aa841e5fa06",
"sha256": "598cd382526a27b664a62714c1d8911765b33d4f66b04779a097df8244fef6f2"
},
"downloads": -1,
"filename": "nonebot_plugin_arcaea_sticker-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "03555661e400110963b85aa841e5fa06",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 36783572,
"upload_time": "2024-12-06T12:09:36",
"upload_time_iso_8601": "2024-12-06T12:09:36.834875Z",
"url": "https://files.pythonhosted.org/packages/fc/45/8a8a22b5cd6c800e949c37d50e996fed9917c54c5ffba04fff78babc31f4/nonebot_plugin_arcaea_sticker-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "00e1c1d3739c634d2fc836c2e05472b0ea2183c17efe8dbce529267398d12c22",
"md5": "9ebe91b23bc837c56a8f0e9d73c4de83",
"sha256": "8ad56fe485e95c237570c87bb4f7394facc3f73c1f16fdcac55786d18c557c27"
},
"downloads": -1,
"filename": "nonebot_plugin_arcaea_sticker-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "9ebe91b23bc837c56a8f0e9d73c4de83",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 36777365,
"upload_time": "2024-12-06T12:09:43",
"upload_time_iso_8601": "2024-12-06T12:09:43.498222Z",
"url": "https://files.pythonhosted.org/packages/00/e1/c1d3739c634d2fc836c2e05472b0ea2183c17efe8dbce529267398d12c22/nonebot_plugin_arcaea_sticker-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 12:09:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JQ-28",
"github_project": "nonebot-plugin-arcaea-sticker#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nonebot-plugin-arcaea-sticker"
}