koishi-plugin-emojihub-bili
v2.1.0
Published
[<ruby>Emojihub-bili<rp>(</rp><rt>点我查看食用方法</rt><rp>)</rp></ruby>](https://www.npmjs.com/package/koishi-plugin-emojihub-bili)🐱支持QQ官方json按钮!20群即可发按钮!😍可自定义添加或删除任意表情包!基本每个指令都有上千张!支持定时/定量消息触发:
在浏览器中添加扩展:ScriptCat---脚本猫。安装脚本:
在用户脚本管理器中添加脚本:点击此处查看 Bilibili专栏原图链接提取2024改版。搜索表情包:
开启扩展后,访问 哔哩哔哩专栏搜索,在专栏中搜索您需要的表情包。提取链接:
点击进入具体的某个专栏帖子,屏幕靠近右下角会有一个绿色的【提取链接】按钮。点击该按钮,即可下载包含当前专栏所有图片的 URL 的 txt 文件。按钮按下一次后会变成红色,防止误触,不可二次触发。如需再次下载,请刷新页面。配置 emojihub-bili:
将同一类表情包图片的 URL 整合到同一个 txt 文件中。然后,在 Koishi 的配置项中填入相应的指令名称与 txt 文件路径。无需像自带的 txt 一样省略前缀,写完整 URL 即可。保存并重载:
完成配置后,保存您的配置并重载插件,您就可以使用自定义的指令发送表情包了!🌟📚
温馨提示:
- 请勿将自定义的 txt 文件与本插件放置在同一目录下,以免插件更新导致文件丢失。
- 目前 emojihub-bili 默认提供 43 套表情包。若您的配置内容有误差,请在 MoreEmojiHubList 表格右上角按钮内选择 恢复默认值。
- 若开启插件后,指令不出现,请重新开关 commands 插件。
如何删除已添加的表情包指令
如果您需要删除已经添加到 emojihub-bili 的自定义表情包指令,可以按照以下步骤进行:
在 Koishi 控制台内打开插件:
打开您的 Koishi 控制台,并找到 emojihub-bili 插件。
找到 [基础设置] 里面的 [MoreEmojiHubList] 表格: 在插件的设置界面中,找到名为 “MoreEmojiHubList” 的部分。您会看到类似于 “MoreEmojiHubList” 的表格,点击对应的右侧的 [删除] 按钮。
保存更改: 完成删除操作后,点击页面右上角的勾号,以保存您的更改并重载插件。这样更改就会生效。
自定义表情包指令 ⚙️
除了默认的表情包指令,您还可以通过配置 MoreEmojiHubList 来自定义添加新的表情包指令。
MoreEmojiHubList 是一个数组,每个元素都包含以下两个字段:
command:您希望注册的指令名称,例如自定义表情包。source_url:表情包的来源地址,支持以下格式:- 本地文件夹绝对路径
D:\\Pictures\\koishi\\AL1S手绘D:\Pictures\koishi\AL1S手绘file:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98
- 本地图片文件绝对路径
D:\\Pictures\\koishi\\AL1S手绘\\image.pngD:\Pictures\koishi\AL1S手绘\image.pngfile:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98/image.png
- 本地文本文件绝对路径
D:\\Pictures\\koishi\\AL1S手绘\\urls.txtD:\Pictures\koishi\AL1S手绘\urls.txtfile:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98/urls.txt
- 网络图片直链
https://i1.hdslb.com/bfs/archive/2b3c803fc2de45d2e3d1090013c2b76ac87a49dc.jpg
- 本地文件夹绝对路径
注意: file:/// 协议的路径需要使用 URL 编码,你可以把路径放到浏览器地址栏后,在浏览器中确保可以打开后,复制地址栏内容填入此处。这样可以确保URL编码。
配置示例:
[
{
"command": "文件夹1",
"source_url": "D:\\Pictures\\koishi\\AL1S手绘"
},
{
"command": "文件夹2",
"source_url": "file:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98"
},
{
"command": "本地图片1",
"source_url": "D:\\Pictures\\koishi\\AL1S手绘\\A92277ACCB00A8945D3F72A5EEC796C1.png"
},
{
"command": "本地图片2",
"source_url": "file:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98/A92277ACCB00A8945D3F72A5EEC796C1.png"
},
{
"command": "本地txt1",
"source_url": "D:\\Pictures\\koishi\\AL1S手绘\\output_urls.txt"
},
{
"command": "本地txt2",
"source_url": "file:///D:/Pictures/koishi/AL1S%E6%89%8B%E7%BB%98/output_urls.txt"
},
{
"command": "网络图片",
"source_url": "https://i1.hdslb.com/bfs/archive/2b3c803fc2de45d2e3d1090013c2b76ac87a49dc.jpg"
}
]
QQ官方机器人设置指南
1. JSON按钮
需要有20个群才能使用。
配置项直接填写对应的JSON模板的ID即可。
示例审核模板-按钮内容(表情包)
{
"rows": [
{
"buttons": [
{
"render_data": {
"label": "再来一张😺",
"style": 2
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/再来一张",
"enter": true
}
},
{
"render_data": {
"label": "返回列表😽",
"style": 2
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/emojihub",
"enter": true
}
}
]
}
]
}
示例审核模板-按钮内容(表情包列表)
{
"rows": [
{
"buttons": [
{
"render_data": {
"label": "随机emojihub表情包",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/随机emojihub表情包",
"enter": true
}
},
{
"render_data": {
"label": "acomu414",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/acomu414",
"enter": true
}
},
{
"render_data": {
"label": "ba表情包",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/ba表情包",
"enter": true
}
},
{
"render_data": {
"label": "downvote",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/downvote",
"enter": true
}
}
]
},
{
"buttons": [
{
"render_data": {
"label": "doro",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/doro",
"enter": true
}
},
{
"render_data": {
"label": "eveonecat",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/eveonecat",
"enter": true
}
},
{
"render_data": {
"label": "fufu",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/fufu",
"enter": true
}
},
{
"render_data": {
"label": "mygo",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/mygo",
"enter": true
}
}
]
},
{
"buttons": [
{
"render_data": {
"label": "seseren",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/seseren",
"enter": true
}
},
{
"render_data": {
"label": "白圣女",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/白圣女",
"enter": true
}
},
{
"render_data": {
"label": "白圣女漫画",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/白圣女漫画",
"enter": true
}
},
{
"render_data": {
"label": "柴郡",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/柴郡",
"enter": true
}
}
]
},
{
"buttons": [
{
"render_data": {
"label": "初音Q版",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/初音Q版",
"enter": true
}
},
{
"render_data": {
"label": "甘城猫猫",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/甘城猫猫",
"enter": true
}
},
{
"render_data": {
"label": "疾旋鼬",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/疾旋鼬",
"enter": true
}
},
{
"render_data": {
"label": "流萤",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/流萤",
"enter": true
}
}
]
},
{
"buttons": [
{
"render_data": {
"label": "赛马娘",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/赛马娘",
"enter": true
}
},
{
"render_data": {
"label": "瑟莉亚",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/瑟莉亚",
"enter": true
}
},
{
"render_data": {
"label": "藤田琴音",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/藤田琴音",
"enter": true
}
},
{
"render_data": {
"label": "亚托莉",
"style": 1
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/亚托莉",
"enter": true
}
}
]
}
]
}2. 被动Markdown模板
需要有2000的日活跃用户(每日上行消息人数),并且申请Markdown能力和markdown模板。
使用本插件来发送markdown,你需要:
- 配置URL白名单
- 配置对应的markdown模板
其中URL白名单部分,需要进行校验和加白。
我们推荐你在对应的校验地址上做一个图片跳转服务,比如
https://tx.qqbot.cnm/url
使用方法:↓↓↓
/url/?url=跳转地址 // 携带http(s)
/url/qq.php?qq=QQ号 // 显示头像
/url/img.php?img=图片链接 // 加载图片然后你可以每次调用markdown图片的时候使用 https://tx.qqbot.cnm/url/img.php?img=图片链接 这个方法
例如:
https://tx.qqbot.cnm/url/img.php?img=https://i1.hdslb.com/bfs/archive/72fcfba441164439595b599d2d03554bb44a9067.jpg本插件模板举例---1
**{{.text1}}**
{{.text2}}
配置模板参数示例---1
[
{
"raw_parameters": "your_markdown_text_1",
"replace_parameters": "表情包来啦!"
},
{
"raw_parameters": "your_markdown_text_2",
"replace_parameters": "这是你的表情包哦😽"
},
{
"raw_parameters": "your_markdown_img",
"replace_parameters": "${img_pxpx}"
},
{
"raw_parameters": "your_markdown_url",
"replace_parameters": "https://tx.qqbot.cnm/url/img.php?img=${img_url}"
}
]本插件模板举例---2
{{.text1}}
{{.text2}}
{{.img}}{{.url}}配置模板参数示例---2
[
{
"raw_parameters": "your_markdown_text_1",
"replace_parameters": "表情包来啦!"
},
{
"raw_parameters": "your_markdown_text_2",
"replace_parameters": "这是你的表情包哦😽"
},
{
"raw_parameters": "your_markdown_img",
"replace_parameters": "![${img_pxpx}]"
},
{
"raw_parameters": "your_markdown_url",
"replace_parameters": "(https://tx.qqbot.cnm/url/img.php?img=${img_url})"
}
]markdown的按钮参数,需要填入按钮模板ID,
请参考上方1. JSON按钮 的 示例审核模板-按钮内容。
3. 被动Markdown模板(原生按钮)
需要至少(曾经)达到过原生(钻石机器人)的日活(每日消息上行人数)
被动Markdown模板 与上文 2. 被动Markdown模板 一致逻辑
原生按钮配置示例 见下方 原生Markdown 的 示例按钮内容
4. 原生Markdown
原生Markdown支持自定义Markdown内容和按钮内容。
需要有10000日活(每日消息上行人数),并且评选为钻石机器人(每月中审核)。
示例Markdown内容
## **表情包~😺**
### 😽来了哦!
示例配置项-按钮内容(表情包)
与上方 1. JSON按钮 中的 示例审核模板-按钮内容(表情包) 中的内容一致即可
支持使用变量替换参数。
示例:
{
"rows": [
{
"buttons": [
{
"render_data": {
"label": "再来一张😺",
"style": 2
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/${command}",
"enter": true
}
},
{
"render_data": {
"label": "返回列表😽",
"style": 2
},
"action": {
"type": 2,
"permission": {
"type": 2
},
"data": "/${config.emojihub_bili_command}",
"enter": true
}
}
]
}
]
}示例配置项-按钮内容(表情包列表)
与上方 1. JSON按钮 中的 示例审核模板-按钮内容(表情包列表) 中的内容一致即可
支持使用变量替换参数。
列表太长就不再举例赘述了。
5. 替换功能说明
本插件会替换模板变量,请在左侧填入模板变量,右侧填入真实变量值。
支持的参数
command:当前指令名称(仅交互表情包的时候有效,查看表情包列表的时候无法使用此变量)。img_pxpx:图片尺寸,替换后格式为img#123px #456px。img_url:图片链接,替换后格式为https://i0.hdslb.com/bfs/article/e1cb94c573b6bf4e23b38caa4e97de6fe804011a.jpg。config:插件配置项。例:config.emojihub_bili_command:当前插件父级指令,替换后格式为emojihub。session:会话信息。例:session.userId:当前交互的用户ID,替换后格式为1246A99CFED107A7938ADF07F9B5A398。... ... 关于
config、session的更多用法请查看koishi文档 -> https://koishi.chat/
示例
${command}会被替换为当前指令名称,如宇佐紀表情包。${img_pxpx}会被替换,如img#123px #456px。${img_url}会被替换,如https://i0.hdslb.com/bfs/article/e1cb94c573b6bf4e23b38caa4e97de6fe804011a.jpg。${config.emojihub_bili_command}:当前插件父级指令,替换后格式为emojihub。${session.userId}:当前交互的用户ID,替换后格式,如1246A99CFED107A7938ADF07F9B5A398。
5.1. 本地图片文件名输出配置 (localPictureToName)
功能说明:
localPictureToName 配置项允许您自定义发送本地图片时的消息格式,您可以选择仅发送图片,或者同时输出图片的文件名、大小、修改日期和文件路径等信息。这对于需要展示本地图片信息或者进行调试时非常有用。
配置位置:
插件配置页面的 进阶设置 -> 对于本地图片/文件,是否输出文件名 选项。
可用变量:
在 localPictureToName 配置项中,您可以使用以下变量来控制输出内容:
${IMAGE}: 图片本身。插件会将本地图片转换为可发送的消息元素。这是必须包含的变量,否则将无法发送图片。${NAME}: 文件名 (不包含路径)。例如,如果图片路径是/path/to/image.png,则${NAME}会被替换为image.png。${SIZE}: 文件大小 (单位为字节)。例如,123456。${TIME}: 文件修改日期。格式为日期字符串,例如Mon Jul 17 2023 15:30:00 GMT+0800 (中国标准时间)。${PATH}: 文件绝对路径。例如,/path/to/image.png。
使用方法:
在 localPictureToName 配置项中,您可以自由组合文本和上述变量,
用 ${变量名} 的形式引用变量。
\n 代表换行符,您可以使用 \n 或者直接在配置项中回车来添加换行。
示例:
仅发送图片 (默认效果):
${IMAGE}图片 + 文件名:
${IMAGE}\n文件名称:${NAME}或
${IMAGE} 文件名称:${NAME}实际发送的消息示例:
[图片] 文件名称:image.png文件名 + 图片:
${NAME}\n${IMAGE}或
${NAME} ${IMAGE}实际发送的消息示例:
image name.png [图片]包含文件详细信息的格式:
${IMAGE}\n文件名称:${NAME}\n文件大小:${SIZE}\n修改日期:${TIME}\n文件路径:${PATH}或
${IMAGE} 文件名称:${NAME} 文件大小:${SIZE} 修改日期:${TIME} 文件路径:${PATH}实际发送的消息示例 (文件信息会根据实际图片文件变化):
[图片] 文件名称:image.png 文件大小:123456 修改日期:Mon Jul 17 2023 15:30:00 GMT+0800 (中国标准时间) 文件路径:/path/to/image.png自定义文本 + 变量:
今日推荐表情包:${NAME}\n发送时间:${TIME}\n${IMAGE}实际发送的消息示例 (文件名和时间会根据实际情况变化):
今日推荐表情包:image.png 发送时间:Mon Jul 17 2023 15:30:00 GMT+0800 (中国标准时间) [图片]
注意事项:
${IMAGE}变量是必须包含的,否则消息中将不会包含图片。localPictureToName功能仅在通过指令发送本地图片时生效。例如,当您配置了本地文件夹路径,并通过指令触发表情包时。${SIZE}的单位是字节。${TIME}显示的是文件的修改日期,格式可能会因系统环境而略有差异。${PATH}显示的是文件的绝对路径,请注意信息安全,避免在公开场合泄露敏感路径信息。
免责声明 🤝
表情包来源
本插件(emojihub-bili)中的所有表情包内容均来源于哔哩哔哩(Bilibili)网站。这些表情包的版权归原作者及哔哩哔哩网站所有。本插件仅提供访问这些内容的途径,并不声称对这些表情包内容拥有任何形式的所有权或知识产权。
非官方插件
请注意,emojihub-bili 是一个非官方插件,与哔哩哔哩(Bilibili)公司或其服务没有任何直接关联。本插件的开发旨在为用户提供更便捷的方式来访问和使用哔哩哔哩上的表情包内容。
使用责任
用户在使用 emojihub-bili 插件时,应自行承担所有风险。插件开发者不对任何由于使用本插件而可能引起的直接或间接的损失或损害负责。
内容责任
插件开发者不对通过 emojihub-bili 插件获取的任何表情包内容的准确性、完整性、适用性或合法性负责。所有表情包内容的责任均由内容的原始提供者承担。
最终解释权
本免责声明的最终解释权归插件开发者所有。如有疑问或需要进一步信息,请联系插件开发者。🌈
- email: [email protected]
| 贡献者 | 项目鸣谢:(按首字母排序,不分先后) | | ------------ | -------------------------------------------------------------------- | | Alin | https://github.com/Alin-sky | | itzdrli | https://www.npmjs.com/~itzdrli | | sparkuix | https://www.npmjs.com/~sparkuix |
