TypechoJoeTheme

阿尔法色色之屋

【伊伊萌】把 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

浏览器访问下面的连接,就可以测试消息是否能正常发送:

  1. 需要保证端口,和上一步设置的端口一致
  2. 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 的推送不是实时的,最好在定时任务里把 “扫描媒体库”开了。
赞(0)
评论 (8)
  1. eriri88888 闲逛
    Windows 10 · FireFox

    请教一下,如果是emby的话要怎么设置呢?emby的插件没有填写代码的地方

    2024-08-15 回复
    1. vatebur 闲逛
      Windows 10 · Google Chrome
      @eriri88888

      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

      2025-02-07 回复
  2. Peaynan 闲逛
    iPhone · Safari

    请问如果我要自定义文本信息,我在哪里可以找到 jellyfin 提供的变量以及图片路径呢

    2024-10-24 回复
    1. vatebur 闲逛
      Windows 10 · Google Chrome
      @Peaynan

      在jellyfin的网页端,查看网页代码,就能知道图片的URL了,
      Jellyfin变量要到官网/github仓库,翻示例

      ULR拼出来以后就是下面这样子,中间会夹个{{SeasonId}}:
      {{ServerUrl}}/Items/{{SeasonId}}/Images/Primary]

      http://ip:port/Items/0c747b9c6a4e62939f22a98888385bb8/Images/Primary

      2025-02-07 回复
  3. ropzqzqizr 闲逛
    Windows 10 · Google Chrome

    这篇文章如同一幅色彩斑斓的画卷,每一笔都充满了独特的创意。

    2025-02-28 回复
  4. furbraioxd 闲逛
    Windows 10 · Google Chrome

    研究方法科学,数据支撑充分,结论可靠。

    2025-03-01 回复
  5. hhwmhgutwg 闲逛
    Windows 10 · Google Chrome

    文章结构紧凑,层次分明,逻辑严密,让人一读即懂。

    2025-03-02 回复
  6. tyisozvqpd 闲逛
    Windows 10 · Google Chrome

    情感真挚自然,字里行间传递出强烈的感染力。

    2025-03-04 回复

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

标签云