0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macでワンタッチでなうぷれツイート(トゥート/ノート)したい!

Posted at

この記事は、はてなダイアリーに書いた内容の改稿版です。
※はてなダイアリー(ブログ)は、コードが書きづらすぎると思います。はてな記法モードだったら、もっとマシだったんだっけ?昔すぎてもう忘れた

コマンドラインでencodeURLComponentする方法は、こちらの記事を参考にさせてもらいました。
https://qiita.com/ko1nksm/items/bab121dc5aa0bca2de78#url-%E3%81%AE%E7%B5%84%E3%81%BF%E7%AB%8B%E3%81%A6%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E8%A1%8C%E3%81%86

要件

  • ungive/media-control というのを入れる必要があります。

    • これは何かというと、MacOS自体のなうぷれプロバイダーを扱うコマンドです。他のやつは動かなかったので、これが必要です。
    • iPhoneとかでコントロールセンターに出てくる再生コントロールとたぶん同じやつ。
    • READMEにはM1に対応してるって書いてあるけど、M1のbrewで入れると動作しなかったので、 /usr/local/bin/brew で導入してください。 arch -arm64 brew だと動かないです。
  • jq、awkが入ってること。

  • MacOSのopenコマンドが使えること。

    • URLを渡してブラウザーを開けるopenコマンドがあれば、Macじゃなくてもたぶんいいと思います。いや、その前にmedia-controlがMacOS専用だろ。
  • /bin/bashがあること。

コード(shellscript)

nowplaying.sh
Misskey.ioの /share?text= に渡す形式になっています。
ちょっといじればTwitter(X)ほかに対応できます。

#!/bin/bash

X86_ROSETTA_BINARY=/usr/local/bin/media-control

# Check if required commands exist
[ ! -f "$X86_ROSETTA_BINARY" ] && echo "Error: $X86_ROSETTA_BINARY not found. Install media-control via Homebrew with Rosetta 2." && exit 1
command -v jq &> /dev/null || { echo "Error: jq is not installed."; exit 1; }
command -v awk &> /dev/null || { echo "Error: awk is not installed."; exit 1; }
command -v open &> /dev/null || { echo "Error: 'open' command of MacOS not found."; exit 1; }

# output example: 地03:封じられた妖怪 ~ Lost Place,上海アリス幻樂団,東方地霊殿
NOWPLAYING_CSV=$($X86_ROSETTA_BINARY get | jq -r '[.title,.artist,.album]|join(",")' | awk -F',' '{ print "なうぷれ: " $1 "\nArtist: " $2 "\nAlbum: " $3 }')

open $(jq --arg t "$NOWPLAYING_CSV" -nr '@uri "https://misskey.io/share?text=\($t)"')

exit 0
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?