turn spotify links from an imessage group into a spotify playlist
Project description
overview
turn imessage spotify links from a group chat into a spotify playlist. it runs locally on your mac, keeps only songs, de‑dupes, and orders oldest → newest.
install
pipx install imsg2spot
requirements (super short): macos with messages history, python 3.9+.
mac permissions (first‑time only):
- open system settings
- privacy & security
- full disk access
- turn on "terminal" (or the shell/ide you’ll use)
then quit and reopen the terminal.
commands
list-chats
- overview
- shows recent chats so you can identify the right group
--limit N: how many chats to show (default 50)--filter-participant HANDLE: only show chats that include this handle; repeatable- HANDLE can be a phone in e164 (e.g.,
+00000000000) or an apple id email
- HANDLE can be a phone in e164 (e.g.,
- example
imsg2spot list-chats --limit 50
# narrow by member(s)
imsg2spot list-chats --limit 200 \
--filter-participant "+00000000000" \
--filter-participant "+10000000000"
dry-run
- overview
- preview what will be added (no spotify changes)
- pick exactly one chat selector:
--chat-name NAME(case-insensitive)--chat-id ID(from list-chats)--number PHONE(for 1-on-1 conversations)
- optional:
--db PATHif you're using a copied db
- example
# by name
imsg2spot dry-run --chat-name "group name"
# or by id
imsg2spot dry-run --chat-id 20
# or by phone number (1-on-1 conversations only)
imsg2spot dry-run --number "+1234567890"
make-playlist
- overview
- creates/updates your playlist on spotify (opens browser to authorize)
- same chat selector as dry-run: choose
--chat-name NAME,--chat-id ID, or--number PHONE --name PLAYLIST_NAME: playlist title--public: makes the playlist public (omit for private)- optional:
SPOTIFY_REDIRECT_URIto change the local port if 8000 is busy
- example
# by name
imsg2spot make-playlist --chat-name "group name" --name "my playlist" --public
# or by id
imsg2spot make-playlist --chat-id 20 --name "my playlist" --public
# or by phone number (1-on-1 conversations only)
imsg2spot make-playlist --number "+1234567890" --name "songs with friend" --public
copying your live messages db (optional but safer)
mkdir -p db
sqlite3 ~/Library/Messages/chat.db ".backup 'db/chat.db'"
use --db db/chat.db if you copied it to a different path.
that’s it. if anything looks off, run dry‑run first. if port 8000 is busy, set SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888/callback and re‑run.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imsg2spot-0.1.5.tar.gz.
File metadata
- Download URL: imsg2spot-0.1.5.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4182cbdb6a4de6cfd86477c37d47621d245a30c19bdced22adcf67efcbb65f72
|
|
| MD5 |
4b4f21daa49e0ba1fc6944c956a8c316
|
|
| BLAKE2b-256 |
ed44be39f0189638d0e1daa9a1535d048226211f47517907d6d90e85466c9771
|
File details
Details for the file imsg2spot-0.1.5-py3-none-any.whl.
File metadata
- Download URL: imsg2spot-0.1.5-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d60feb73202f4ebf0b5e5149fb3b1c3e3652a8be71db555a997efc1f34c1589
|
|
| MD5 |
f7e755050a1b7011a707dd1fc10331c9
|
|
| BLAKE2b-256 |
6c60a011f3d9e9b072dec1d678d103dc56ad2af6134defed8673f7f0e71091be
|