Emby Notifier——一个媒体通知推送服务

Emby Notifier

这是另一个项目 watchdog_for_Emby 的最新优化版本,取消了 nfo 文件的监视依赖,该版本不再需要手动设置媒体库路径,对通过网盘挂载生成的媒体库更加友好~

Emby Server 版本 (重要!!!)

4.8.0.80 及更新版本的 Emby Server!!!

本项目是基于 Emby Server 官方插件 Webhooks 实现的,在 4.8.0.80 版本以前需要激活 Emby Premiere 才能使用 Webhooks 插件。

在 4.8.0.80 版本,Webhooks 被集成到控制台 “通知” 功能中,免费用户也可使用,因此建议使用本项目的朋友更新 Emby Server 到指定版本。

需要注意的是,群晖套件中心的 Emby Server 最新在线版本为 4.7.14.0,因此需要 Emby 官方网站下载相应平台的安装包进行手动安装。

修订版本

版本日期修订说明
v1.0.02024.04.29
  • 新增项目

简介

Emby Notifier 是一个基于 Emby Server Webhooks 实现的自动通知工具。Emby Server 通过 Webhooks 插件,可以在影片刮削完成后,自动推送事件到指定的 URL。本项目通过监听 Emby Server 推送的 Webhooks 事件,获取影片的基本信息,通过 TMDB 的 API 查询影片的详细信息,然后通过 Telegram Bot 推送至指定频道。

环境变量和服务端口

端口:8000

参数要求说明
TMDB_API_TOKEN必须Your TMDB API Token
TVDB_API_KEY必须Your TVDB API Key
TG_BOT_TOKEN必须Your Telegram Bot Tokne
TG_CHAT_ID必须Your Telegram Channel’s Chat ID
LOG_LEVEL可选日志等级 [DEBUG, INFO, WARNING] 三个等级,默认 WARNING
LOG_EXPORT可选日志写文件标志 [True, False] 是否将日志输出到文件,默认 False
LOG_PATH可选日志文件保存路径,默认 /var/tmp/emby_notifier_tg

docker Run

docker run -d --name=emby-notifier-tg --restart=unless-stopped \-e TMDB_API_TOKEN=Your_TMDB_API_Token \-e TVDB_API_KEY=Your_TVDB_API_Key \-e TG_BOT_TOKEN=Your_Telegram_Bot_Token \-e TG_CHAT_ID=Your_Telegram_Chat_ID \-p 8000:8000 \b1gfac3c4t/emby_notifier_tg:latest

docker-compose

version: '3'
services:emby_notifier_tg:build:context: .dockerfile: dockerfileimage: b1gfac3c4t/emby_notifier_tg:latestenvironment:- TZ=Asia/Shanghai# 这里所有的环境变量都不要使用引号# 必填参数- TMDB_API_TOKEN=<Your TMDB API Token>- TVDB_API_KEY=<Your TVDB API Key>- TG_BOT_TOKEN=<Your Telegram Bot Tokne>- TG_CHAT_ID=<Your Telegram Channel's Chat ID># 可选参数- LOG_LEVEL=WARNING # [DEBUG, INFO, WARNING] 三个等级,默认 WARNING- LOG_EXPORT=False # [True, False0] 是否将日志输出到文件,默认 False- LOG_PATH=/var/tmp/emby_notifier_tg/ # 默认 /var/tmp/emby_notifier_tg/network_mode: "bridge"ports:- "8000:8000"restart: unless-stopped
docker-compose up -d

Emby Server 设置

  1. 打开 Emby Server 控制台,点击左侧菜单栏的 “设置” -> “通知” -> “添加 Webhooks”

    请添加图片描述
    在这里插入图片描述

  2. 在弹出的对话框中,填写 Webhooks 的 URL,例如:http://192.168.1.100:8000,选择数据类型为 application/json

    在这里插入图片描述

  3. 点击 “发送测试通知” 按钮,观察 Notifier 的日志输出,如果输出了测试通知的信息,说明 Webhooks 设置成功

    在这里插入图片描述

    Notifier 日志中出现以下信息,说明 Webhooks 设置成功

     [WARNING] : Unsupported event type: system.notificationtest
    
  4. 选择通知事件:媒体库 -> 新媒体已添加,点击保存

    在这里插入图片描述

媒体信息检索流程

在这里插入图片描述

局限性

Emby Server 的新媒体添加事件的触发时机受限于对新增文件的监视方式和扫描媒体库的频率,如果 Emby Server 触发新媒体添加事件,则 Notifier 也就无法推送通知。

效果展示

电影:

剧集:

参考文档

  • tmdb api 文档:https://developers.themoviedb.org/3
  • telegram bot api 文档:https://core.telegram.org/bots/api

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【会员单位】浙江晧月水务科技有限公司

中华环保联合会理事单位 水环境治理专业委员会副主任委员单位 公司成立于2018年3月14日&#xff0c;是专业研究废水处理业务的国家高新技术企业。 公司自主研发的脱硫废水“零排放”的技术&#xff0c;不仅适应性好&#xff0c;技术先进&#xff0c;智慧化程度高&#xff0c…

Leetcode—1041. 困于环中的机器人【中等】

2024每日刷题&#xff08;121&#xff09; Leetcode—1041. 困于环中的机器人 实现代码 class Solution { public:bool isRobotBounded(string instructions) {int x 0;int y 0;int d 0;vector<vector<int>> direction{{0, 1}, {1, 0}, {0, -1}, {-1, 0}};for…

机遇与挑战并存的Agent

随着大模型技术的突飞猛进,如GPT-4、Baichuan-3等的问世,人们对 Agent AI 智能体的未来发展普遍持乐观态度。这些先进的语言模型极大地提升了智能体的语言理解和生成能力,使其在自然语言处理任务上接近甚至超越人类水平。同时,多模态大模型的崛起,让智能体具备了多种形式的感知…

C++二要素认证,游戏实名认证接口、金融实名认证

随着移动互联的发展&#xff0c;越来越多的企业在金融市场都想分一杯羹&#xff0c;而哪种理财产品才是人们放心的理财产品呢&#xff1f;我们都知道理财产品开户都需要上传身份证号核验和图像进行验证&#xff0c;以保证个人信息的真实性&#xff0c;那么这些是如何来判别身份…

网络安全主题纪录片

网络安全主题纪录片 文章目录 网络安全主题纪录片第四公民黑客帝国系列龙纹身女孩碟中谍系列虎胆龙威4匿名者终结者2&#xff1a;审判日东方快车谋杀案黑客国家公敌我是谁&#xff1a;没有绝对安全的系统黑客军团速度与激情系列十亿美元大劫案勒索软件的背后黑客的恐惧为什么网…

【LeetCode周赛】第 394 场周赛

目录 3120. 统计特殊字母的数量 I 简单3121. 统计特殊字母的数量 II 中等3122. 使矩阵满足条件的最少操作次数 中等3123. 最短路径中的边 困难 3120. 统计特殊字母的数量 I 简单 3120. 统计特殊字母的数量 I 分析&#xff1a; 模拟即可 代码&#xff1a; class Solution { …

Map的compute方法详解(Java)

1.compute方法 compute 方法是 Map 接口中的一个方法&#xff0c;用于根据指定的键和计算函数对指定键的值进行修改。 方法的签名如下&#xff1a; default V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)key&#xff1a;要操…

兰姆顿食尸鬼

弗农弗罗斯特(出生日期不详- 1891年11月13日)&#xff0c;加拿大佃农&#xff0c;杀人犯&#xff0c;被认为是超自然的存在[谁知道?被称为“兰姆顿食尸鬼”。 背景 弗农弗罗斯特在1858年之前的生活细节是未知的&#xff0c;当时他在安大略省兰姆顿县的一个苹果园工作。根据土…

Python实用记录(十六):PyQt/PySide6联动VSCode便捷操作指南

文章目录 一、安装vscode和配置pyside6环境二、安装vscode扩展三、扩展配置编辑四、编辑运行 一、安装vscode和配置pyside6环境 这一步默认已经通过了 二、安装vscode扩展 三、扩展配置编辑 四个地方需要修改&#xff1b;rcc路径、uic路径、designer.exe路径 uic.exe 用于将…

基于Docker + Locust的数据持久化性能测试系统

前几天给大家分享了如何使用Locust进行性能测试&#xff0c;但是在实际使用中会发现存在压测的结果无法保存的问题&#xff0c;比如在分布式部署情况下进行压测&#xff0c;每轮压测完成需要释放资源删除容器重新部署后&#xff0c;这段时间的压测结果就都丢失了&#xff0c;如…

docker-compose docker的批量管理工具

安装 apt-get install docker-compose -y # 查看版本 docker-compose -v设置容器自启动&#xff1a;–restartalways docker run -it -d --restartalways nginx:1.16docker-compose.yml配置文件&#xff0c;该文件的缩进必须是三个空格&#xff0c;使用的是yaml语法。 versi…

Oracle 表分区

1.概述 分区表就是将表在物理存储层面分成多个小的片段&#xff0c;这些片段即称为分区&#xff0c;每个分区保存表的一部分数据&#xff0c;表的分区对上层应用是完全透明的&#xff0c;从应用的角度来看&#xff0c;表在逻辑上依然是一个整体。 目的&#xff1a;提高大表的查…

信息收集。

信息收集 接着使用cs进行信息收集 发现域内管理员账号。 然后查看pc信息&#xff0c; 查看进程。 发现域为god.org 尝试定位域控。 提权 使用cs的功能进行权限提权 成功获取管理员权限。 hash抓取 接着抓hash 成功抓到管理员账号、密码。 接着进行横向传递 成功获取AD和…

React的数据Mock实现

在前后端分类的开发模式下&#xff0c;前端可以在没有实际后端接口的支持下先进行接口数据的模拟&#xff0c;进行正常的业务功能开发 1. 常见的Mock方式 2. json-server实现Mock 实现步骤&#xff1a; 项目中安装json-server npm i -D json-server准备一个json文件 {"…

vue中如何正确使用异步async和await

async 是异步的意思&#xff0c;而 await 是等待的意思&#xff0c;await 用于等待一个异步任务执行完成的结果。 1.async/await 是一种编写异步代码的新方法&#xff08;以前是采用回调和 promise&#xff09;。 2. async/await 是建立在 promise 的基础上。 3. async/await 像…

计算机毕业设计python基于django框架的网上拍卖系统

创新点&#xff1a;本系统采用英国式拍卖和荷兰式拍卖两种模式&#xff0c;英国式拍卖也叫升价拍卖。这是最普遍的一种拍卖方式。拍卖人设定一个底价&#xff0c;竞买人相继给出更高的价格&#xff0c;最终出价最高者胜出&#xff0c;并支付最高价。这种形式在电影中非常常见&a…

PHP源码_新ui潮乎盲盒_h5源码

运行截图 源码贡献 https://githubs.xyz/boot?app40 数据库部份表 -- -- 表的结构 la_box_mark --CREATE TABLE la_box_mark (id int(10) UNSIGNED NOT NULL,icon varchar(191) COLLATE utf8_unicode_ci DEFAULT ,bg_thumb varchar(191) COLLATE utf8_unicode_ci DEFAULT N…

react props传参

props是父子传参的常用方法。 一、主要功能 1.传参 定义&#xff1a;父级组件向子级组件传递参数。 2.验证数据类型格式 定义&#xff1a;可以指定父组件传递过来数据为指定类型。 3.设置默认值 定义&#xff1a;在参数未使用时&#xff0c;直接默认为指定值。 二、实例代…

c++详解栈和队列——及模拟实现stack——queue——例题

初来乍到&#xff0c;望大家点点赞&#xff0c;点点关注&#xff0c;谢谢各位看官老爷 个人主页 在c语言中我们已经模拟实现过栈和队列了&#xff0c;对其底层结构有了基本的认识 栈和队列的详讲 文章目录 目录 文章目录 前言 一、了解栈和队列是什么&#xff1f; ​编辑​编辑…

【信号与系统杂谈 - 1】为什么拉普拉斯变换有收敛域而傅里叶变换没有

这个问题是我在推导傅里叶变换的时移特性公式和拉普拉斯变换的延时特性公式时发现的&#xff08;即拉氏变换总是需要考虑收敛域的原因&#xff09; 援引知乎上的回答解释