#webhook #anime #plex #my-anime-list #scrobble

bin+lib plex-mal-scrobbler

使用 Plex Webhooks 更新 MyAnimeList 上的动漫观看进度

3 个版本

0.1.2 2023年11月30日
0.1.1 2023年11月10日
0.1.0 2023年10月10日

#928 in 命令行工具

每月下载21次

AGPL-3.0-only

33KB
334

PlexMALScrobbler

PlexMALScrobbler 是一个 Plex webhook 监听器,它将使用其 API 将动漫观看进度更新到 MyAnimeList

安装

需求

  • 需要 Plex Pass 才能工作(webhooks)
  • Plex 在同一服务器上
  • MAL API 账户

从 crates.io 安装

  1. 安装 PlexMALScrobblercargo install plex-mal-scrobbler
  2. config.yml.sample 样本文件复制到 ~/.config/plex-mal-scrobbler/config.yml
  3. 有关配置,请参阅 配置
  4. 配置 Plex 以将 webhooks 发送到 PlexMALScrobbler
  5. 首次运行程序时
    1. 您将被要求访问一个页面以允许 API 对您的账户进行访问
    2. 允许访问后,将打开 API 设置中指定的 应用程序重定向 URL
    3. 程序希望您从 URL 复制 code 参数值
  6. 再次运行程序以开始 scrobbling
  7. 请参阅 使用方法

从源代码安装

  1. 克隆此仓库:git clone https://gitlab.com/miicat/plex-mal-scrobbler.git
  2. 编译程序:cargo build --release
  3. 将编译的程序(plex-mal-scrobbler/target/release/plex-mal-scrobbler)复制到您将运行程序的目标文件夹(例如 ~/plexmalscrobbler/
  4. config.yml.sample 样本文件复制到 ~/.config/plex-mal-scrobbler/config.yml
  5. 有关配置,请参阅 配置
  6. 配置 Plex 以将 webhooks 发送到 PlexMALScrobbler
  7. 首次运行程序时
    1. 您将被要求访问一个页面以允许 API 对您的账户进行访问
    2. 允许访问后,将打开 API 设置中指定的 应用程序重定向 URL
    3. 程序希望您从 URL 复制 code 参数值
  8. 再次运行程序以开始 scrobbling
  9. 请参阅 使用方法

配置

config.yml

文件应位于 ~/.config/plex-mal-scrobbler/config.yml 中,其中将包含您的MAL API令牌和其他与scrobbler相关的设置

  • mal_client_id 是从 MAL API页面 获取的 MAL client_id。参见[获取MAL API密钥](###获取MAL API密钥)
  • plex_users 是要scrobbler的用户列表。如果要scrobbler所有用户,请取消该行的注释 (注意,所有scrobbles都将为您自己的账户执行)
  • plex_libraries 是要scrobbler的库列表。如果要scrobbler所有库,请取消该行的注释 (不推荐)
  • scrobble_last_ep 如果启用,则程序在观看最后一集后会将动漫标记为已完成
  • require_match 如果启用,则程序仅在标题与您观看列表中的某些动漫匹配时才scrobbler动漫
  • port 程序将监听的端口。默认值为 8000
  • 以下字段将由程序填写,请勿编辑
    • mal_access_token
    • mal_refresh_token
    • mal_token_expires_in
  • test 是测试标志,如果启用,将打印动漫更新信息而不会scrobbler

示例配置

mal_client_id: abcd123456789efghijk
plex_users:
  - MyNeatUserName22
plex_libraries:
  - Anime
  - Other animes
scrobble_last_ep: false
require_match: false
test: false

获取MAL API密钥

  1. 转到 MAL API页面
  2. 点击 创建ID
  3. 应用类型 下拉字段中选择 其他
  4. 商业 / 非商业 下拉字段中选择 非商业
  5. 填写所有其他必填字段并提交表单
  6. 如果提交后未显示,请点击刚创建的MAL API ID/客户端的 编辑 按钮
  7. 客户端ID 旁边的文本是您的 mal_client_id

Plex webhook

Plex将在您在Plex服务器上播放、暂停、停止或scrobbler视频时向您的URL发送webhook。当您观看超过90%时,Plex会发送scrobbler webhook。

PlexMALScrobbler 如名所示,仅在接收到scrobbler webhook时才会行动。

  1. 登录Plex
  2. 转到:设置 -> Webhooks (链接)
  3. 点击 添加webhook
  4. 将您的程序将监听webhook的URL输入到 URL 字段中
    1. URL很可能是 http://127.0.0.1:8000/plex/webhook
  5. 点击 更改设置

使用

PlexMALScrobbler 将尝试将动漫与您当前观看列表中的动漫进行匹配

  1. 在后台运行 PlexMALScrobbler
  2. 将您正在观看的动漫添加到当前观看列表
  3. 观看动漫(超过90%,通常约为20分钟)
  4. 动漫观看进度将自动更新

贡献

PlexMALScrobbler 是一个免费的、开源软件,许可协议为 AGPLv3

您可以为此仓库报告您发现的错误或您认为缺少的功能。您还可以提交pull requests。

作者和致谢

支持

如果您想支持我,请随意使用paypal Donate

许可证

此库根据AGPLv3许可证授权

依赖项

~19–52MB
~896K SLoC