stevenfoncken/multitool-for-spotify-php

PHP 命令行应用程序,可执行各种任务以增强您的 Spotify 体验

v2.0.2 2024-06-05 02:01 UTC

This package is not auto-updated.

Last update: 2024-09-25 03:27:57 UTC


README

报告错误 · 请求功能 · 提问

version: 2.0.2 Minimum PHP Version: 8.2 PHP-FIG license: MIT Total Downloads

一个方便的命令行应用程序,用于归档播放列表、在您的音乐库中搜索曲目或创建包含完整艺术家目录的播放列表。

🤔 为什么?

最初,它是用于从流行的 EDM 标签的 "New Music Friday" 播放列表自动归档(CronJob)工具。它允许我在没有时间立即发现新音乐时补偿 FOMO。

随着时间的推移,我渴望重写否则将是一生的测试版(永远不要触摸运行的系统),并在其上添加一些结构化开销 ;-)

📖 目录

点击展开

⛓ 功能

  • 使用特殊的命名语法和邮寄从 CSV 或参数输入归档播放列表。
  • 在库播放列表中搜索给定的曲目。
  • 创建包含完整艺术家目录的播放列表。
  • 见:✨ 未来功能.

🚀 入门

要求

  • php >= 8.2
  • Composer

安装

下载或克隆项目

composer create-project stevenfoncken/multitool-for-spotify-php

或者

git clone --depth 1 https://github.com/stevenfoncken/multitool-for-spotify-php.git

现在 cd 进入项目目录。

使用 Composer 安装依赖项

如果已使用 create-project 跳过。

composer install

配置

.env

cp config/.env.dist config/.env

APP_TIMEZONE 中设置您的时区 - 支持的时区列表.

连接到 Spotify 的 Web API

multitool-for-spotify-php 需要连接到 Spotify 的 Web API 以正常工作。

  1. 登录到 Spotify 开发者仪表板.
  2. 点击 创建应用.
    • 选择名称、描述、网站
    • 重定向 URI:https://:10276/mtfsp-auth-callback
    • 选择 Web API
  3. 点击 保存
  4. 点击 设置
  5. Client ID 复制到 .envSPOTIFY_API_CLIENT_ID
  6. Client Secret 复制到 .envSPOTIFY_API_CLIENT_SECRET

它应该看起来像这样(但使用您自己的值)

SPOTIFY_API_CLIENT_ID="2c914ba76f18385qu4b57qr82o5p1e64"
SPOTIFY_API_CLIENT_SECRET="15g2fh52qg1631j1hex4sg167164c1a6"
  1. 打开您的终端。
  2. 运行:php bin/console mtfsp:auth
  3. 遵循显示的说明。

现在您已经准备好使用 multitool-for-spotify-php 🎉

使用方法

播放列表归档

php bin/console mtfsp:archive [--mail] <playlistIDsOrCSV>

每个播放列表都有一个快照ID,这个ID会被写入存档播放列表的描述中,以检查播放列表是否已经被存档。

只有在内容(因此是快照ID)更改时才会创建新的存档播放列表。

生成的存档播放列表的名称示例:SFY-2024-06-Top 50 Global(PREFIX-YYYY-WW-SUFFIX或PLAYLIST_NAME)

您可以选择使用单个播放列表ID或CSV文件路径作为参数。

参数播放列表ID

单个或以逗号分隔的Spotify播放列表ID。

参数CSV文件路径

CSV必须由分号分隔。示例:[playlists-to-archive.dist.csv](https://github.com/stevenfoncken/multitool-for-spotify-php/blob/HEAD/config/playlists-to-archive.dist.csv)

邮件选项

如果您在您的.env文件中设置了邮件环境变量,您可以使用--mail在存档过程完成后接收通知。

这在使用CronJob时特别有用。

列出归档播放列表

php bin/console mtfsp:archive:list-playlists

删除归档播放列表

php bin/console mtfsp:archive:delete-playlists

目前所有存档播放列表都将被删除。但多个“您确定吗”检查将保护您免受仓促的错误。

创建艺术家目录播放列表

php bin/console mtfsp:artist:catalog-to-playlist <artistId> [<playlistId>]

如果您指定了播放列表ID,目录将被添加到该播放列表,否则将创建一个新的播放列表。

在给定的曲目搜索库播放列表

php bin/console mtfsp:search:track-in-library [--withArchived] <trackIdNeedle>

如果您想包括存档播放列表在搜索中,请设置--withArchived

🔨 开发

技术堆栈

该项目使用Symfony Console组件构建。

☑️ TODOs

  • 添加单元测试

✨ 未来功能

  • 存档:从专门的Spotify播放列表文件夹检索源播放列表。
  • MyWeeklySelection:创建一个包含过去30天喜欢的歌曲的公开个人资料播放列表,带有自定义播放列表图片。
  • 存档:添加Spotify无关的存储,请参阅feature/add-database
  • 在我洗澡时想到的一切。

变更日志

有关最近更改的更多信息,请参阅CHANGELOG.md

帮助与问题

讨论标签中开始新的讨论。

贡献

...受到欢迎。

只需分叉存储库创建一个拉取请求

对于重大更改,请首先在讨论标签中开始讨论您想进行更改的内容。

重要:通过提交补丁,您同意允许项目所有者根据MIT许可的条款许可您的作品。

谢谢!

👤 作者

multitool-for-spotify-php主要是由以下人员编写和维护:

🦜 Steven Foncken

  • 网站:[stevenfoncken.de](https://www.stevenfoncken.de)
  • GitHub:[@stevenfoncken](https://www.github.com/stevenfoncken)
  • LinkedIn:[Steven Foncken (@stevenfoncken)](https://www.linkedin.com/in/stevenfoncken)

🤝 致谢

像大多数软件一样,multitool-for-spotify-php是建立在其他人为之编写的第三方代码/库之上的。

因此,我要感谢以下人员开源他们的工作

项目:[jwilsson/spotify-web-api-php](https://github.com/jwilsson/spotify-web-api-php)

作者:[@jwilsson (Jonathan Wilsson)](https://github.com/jwilsson)

版权 (c) Jonathan Wilsson

许可:[MIT](https://github.com/jwilsson/spotify-web-api-php/blob/main/LICENSE.md)

项目: symfony/console

作者: @fabpot (Fabien Potencier)

版权(c)2004-至今 Fabien Potencier

许可协议: MIT

... 以及更多,请参阅 composer.json

💛 支持

如果这个项目对您或您的组织有帮助,请考虑直接支持我的工作

每一份帮助都很有意义,谢谢! 🙏

⚖️ 免责声明

"Spotify" 是 "Spotify AB" 及/或其(全球)子公司的注册商标。

本项目或其作者与 "Spotify AB" 或其任何附属公司、许可方、(全球)子公司或其他受其控制的实体无任何官方联系、关联、合作、授权、建设、认可、许可、维护、推广或赞助。

所有商标均为其各自所有者的财产。

这是一个独立项目,使用 "Spotify" 的Web API在个人账户中执行各种任务。

在采取法律行动之前,请联系此地址:dev[at]stevenfoncken[dot]de

自行承担风险。

📃 许可证

multitool-for-spotify-phpMIT 许可协议 下授权。

有关详细信息,请参阅 LICENSE

版权(c)2020-至今 Steven Foncken <dev[at]stevenfoncken[dot]de>

^ 返回顶部 ^