Coder Social home page Coder Social logo

apple-music-presence's Introduction

THIS PROJECT HAS REACHED END OF LIFE. IT HAS CRITICAL BUGS THAT RENDER THE PROJECT UNUSABLE. SUPPORT WILL NOT BE PROVIDED

If you donated on BuyMeACoffee and would like a refund, reach out and that will be arranged.


Apple Music Presence

BROKEN

Build passing Bmac link

Connect Apple music with Discord!

We all have friends who have Spotify (gross), but it shows what they are listening to in Discord! Being an apple music user, I felt left out so implemented it myself!

Preview

Features

  • Easy startup
  • Extremely lightweight
  • No API keys required
  • No dependencies
  • Easy setup
  • Display song name
  • Display album art
  • Display artist name
  • Display album name

Installation

Download the latest release from the releases page. There are 3 options. You want to select apple-music-presence.zip with the little cube icon, NOT either of the source code folders. This will download a zip file with the latest release.

Unzip the folder.

To run the program, simply right-click on apple-music-presence inside the unzipped folder and select 'Open'. MacOS will warn you that this is from an unidentified developer, and if you trust me, just click on 'Open'. If you don't trust me and know your way around code, you can build it yourself.

There are 2 versions availible: the standard which runs on a one-second interval, and the lightweight version which runs every 20 seconds.

If you want to, you can add this program to your Mac's startup file.

Updating

To update your app, download the latest release from the releases page, and replace the old version's binary with the new one. If you set it up to run at startup, ensure you have replaced the old app, but named the new one to exactly the same thing.

Building from source

To build from source, you need to clone the repository and install the dependencies with npm install.

You will also need to set up a .env file with 3 keys:

DISCORD_KEY=<<your discord api key>>
S3_ACCESS_KEY=<<your aws s3 access key>>
S3_SECRET=<<your aws s3 secret key>>

NOTE All of the s3 handling happens in s3.js (and is actually set up to work with DigitalOcean Spaces). You will need to change the bucket config, as well as the url in the resolve callback in applescript.js. This is a horrible way of dealing with this, but tough.

You will also need to install pkg and modclean

npm i -g pkg
npm i -g modclean

Now, you can simply run npm rum build to build your own version of apple-music-presence.

Alternatives

Apple-Music-RPC

https://github.com/rohilpatel1/Apple-Music-RPC

This app requires you to have python and nodejs installed and configured, as well as needing you to run command-line scripts to make it executable.

Cannot display album art.

iTunes Rich Presence

https://itunesrichpresence.com/

There is only a windows version availible.

Cannot display album art.

apple-music-presence's People

Contributors

imgbotapp avatar jack-mac avatar jackcrane avatar qwerzl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

apple-music-presence's Issues

Annoying link popup

I understand that you want donations, but this is getting very annoying.
Could you please remove that link opening command?

Apple silicon?

It works great on intel binary, will it be possible to build this for apple silicon?

Application crashing with TypeError

First of all: Thanks a lot for the effort implementing this.
The app is crashing for me, though. If I can help with debugging (I'm actually a node.js backend developer myself) just tell me.

SlowDown: Reduce your request rate.
    at deserializeAws_restXmlPutObjectCommandError (/snapshot/apple-music-presence/node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js:8037:24)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /snapshot/apple-music-presence/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
    at async /snapshot/apple-music-presence/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js:11:20
    at async StandardRetryStrategy.retry (/snapshot/apple-music-presence/node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js:51:46)
    at async /snapshot/apple-music-presence/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/flexibleChecksumsMiddleware.js:56:20
    at async /snapshot/apple-music-presence/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:6:22
    at async Upload (/snapshot/apple-music-presence/s3.js:28:18)
    at async /snapshot/apple-music-presence/applescript.js:29:26 {
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 503,
    requestId: undefined,
    extendedRequestId: undefined,
    cfId: undefined,
    attempts: 3,
    totalRetryDelay: 939
  },
  Code: 'SlowDown'
}
๐ŸŽบ New Song! My Friends by Red Hot Chili Peppers. As always, donations appreciated! https://www.buymeacoffee.com/jackcrane
๐ŸŽบ New Song! My Friends by Red Hot Chili Peppers. As always, donations appreciated! https://www.buymeacoffee.com/jackcrane
/snapshot/apple-music-presence/applescript.js:23
          song.forEach((s) => {
               ^

TypeError: Cannot read properties of undefined (reading 'forEach')
    at /snapshot/apple-music-presence/applescript.js:23:16
    at ChildProcess.<anonymous> (/snapshot/apple-music-presence/node_modules/applescript/lib/applescript.js)
    at ChildProcess.emit (node:events:390:28)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
So long and thanks for all the fish.
  -- Douglas Adams

Saving session...completed.
Deleting expired sessions...       2 completed.

[Prozess beendet]

Paid version?

Is there scope to have a paid version that doesn't pop your website up upon launch?

Is it for mac-os only?

using win-10.
For some reason my pc doesn't recognize the file correctly.
image
image

What am i doing wrong here?
Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.