伊伊萌
【伊伊萌】把 Jellyfin 更新消息推送到QQ
本文最后更新于2025年02月07日。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
为了有更好的阅读体验,阿尔法色色之屋为长篇文章提供了目录树,若没有正常显示,则需要手动缩小页面比例。
思路
让 Jellyfin 使用 LLOneBot onebot-11 协议的API接口,把更新推送到QQ。
在部署好支持OneBot协议的的QQ机器人后,就已经具备收发QQ消息的能力了。
一. 调用 onebot-11 API
先把 LLOneBot 部署好,Linux 无 GUI 可以用 NapCatQQ项目。
设置API端口
打开HTTP服务,并设置端口
LLOneBot 设置方法:
NapCatQQ 设置方法:
{
"httpHost": "",
"enableHttp": false,
"httpPort": 3000,
............略....................
}
测试API
浏览器访问下面的连接,就可以测试消息是否能正常发送:
- 需要保证端口,和上一步设置的端口一致
send_group_msg
,send_group_msg
顾名思义分别对应私聊消息和群聊消息
#群聊消息
http://127.0.0.1:3000/send_group_msg?group_id=群号&message="hello"&auto_escape=false
#私聊消息:
http://127.0.0.1:3000/send_private_msg?user_id=QQ号&message="hello"&auto_escape=false
有条件的,可以构造POST请求进行测试:
#私聊消息:
curl -X POST "http://127.0.0.1:3000/send_private_msg" \
-H "Content-Type: application/json" \
-d '{
"user_id": QQ号,
"message": "hello post json"
}'
#群聊消息
curl -X POST "http://127.0.0.1:3000/send_group_msg" \
-H "Content-Type: application/json" \
-d '{
"group_id": 群号,
"message": "hello post json"
}'
二. 设置 Jellyfin webhook 插件
先安装好Webhook插件,并点击进行设置
在Server Url里输入jellyfin服务的访问地址,
然后点击 Add Generic Destination
名字自己随便取,Url 需要注意一下,私聊消息接口用: send_private_msg
群聊用: send_group_msg
Item Type
默认是全选,可以根据自己需要进行勾选
在最下方 Template空白处填入指定代码,最后在点save就大功告成了
注:私聊消息用到是user_id,并填写qq号。群聊要改成group_id
{{#if_equals NotificationType 'ItemAdded'}}
{
"user_id": qq号,
"message": "{{{SeriesName}}} 更新拉!\n[CQ:image,file={{ServerUrl}}/Items/{{SeasonId}}/Images/Primary]\n{{#if_equals ItemType 'Episode'}}S{{SeasonNumber00}}E{{EpisodeNumber00}} {{{Name}}}\n{{else}}名称:{{{Name}}} ({{Year}})\n{{/if_equals}}时长:{{RunTime}}"
}
{{/if_equals}}
三. 结果演示:
小提示:jellyfin 的推送不是实时的,最好在定时任务里把 “扫描媒体库”开了。
请教一下,如果是emby的话要怎么设置呢?emby的插件没有填写代码的地方
emby的话用webhook的get请求就行了,在文章的测试API部分有讲。不用代码,直接用URL就行了
#############
#群聊消息
http://127.0.0.1:3000/send_group_msg?group_id=群号&message="hello"&auto_escape=false
#私聊消息:
http://127.0.0.1:3000/send_private_msg?user_id=QQ号&message="hello"&auto_escape=false
#############
http://blog.csdn.net/qq_38894585/article/details/138336721
https://github.com/botuniverse/onebot-11/blob/master/api/public.md
请问如果我要自定义文本信息,我在哪里可以找到 jellyfin 提供的变量以及图片路径呢
在jellyfin的网页端,查看网页代码,就能知道图片的URL了,
Jellyfin变量要到官网/github仓库,翻示例
ULR拼出来以后就是下面这样子,中间会夹个{{SeasonId}}:
{{ServerUrl}}/Items/{{SeasonId}}/Images/Primary]
http://ip:port/Items/0c747b9c6a4e62939f22a98888385bb8/Images/Primary
这篇文章如同一幅色彩斑斓的画卷,每一笔都充满了独特的创意。
研究方法科学,数据支撑充分,结论可靠。
文章结构紧凑,层次分明,逻辑严密,让人一读即懂。
情感真挚自然,字里行间传递出强烈的感染力。