これは何?
こういうツイートを送信して,そのメディアの短縮URLを習得するシェルスクリプトです.
上のツイートの動画へのURLは,これ↓.
https://t.co/ngmigsBV5u
スクリプト
#!/bin/bash # Nintendo Playthrough のダイジェストを Twitter に載せるスクリプト # [FILE PATH] と [FILE NAME] を引数に取る # 動画をアップロード.成功するまで繰り返す until log=`sh PATH_TO_KOTORIOTOKO/tweet.sh -f $1 $2`;do sleep 1;done # "=" で区切って4番目を取り出す # log にはこんなのが入ってる想定: # mid=1192595741362905093 at=2019/11/08 11:17:28 id=1192596963826339840 id=`echo $log | cut -d = -f4` # make twimgurl.txt if not exit touch ~/Downloads/np1m.txt # make GET param twName="YOUR TWITTER SCREEN NAME" prefix="https://publish.twitter.com/oembed?url=https://twitter.com/"$twName"/status/" param=$prefix$id # 埋め込みコードのHTML部だけを取得 # jq で要素 "html" を取得 # recode でHTMLエンティティを変換 # sed で \ を削除 xml=`GET $param | jq ".html" | recode html | sed 's:\\\\::g'` # 動画のURLを取得してファイルに書き込む # parsrx でXMLを解析 echo $xml | parsrx | grep -m1 href | cut -d " " -f 2 >>~/Downloads/np1m.txt exit 0
依存
たぶんこれら.他はUbuntuにデフォルトで入ってる機能だと思う.. (GET
はデフォルトで入ってる?それとも僕が入れたんだろうか…分からん)
- GET
jq
recode
($ sudo apt install recode
)parsrx
kotoriotoko
使い方
こんな感じ.np1m
という名前でパスの通った場所に置いている想定です.
$ np1m /PATH/TO/VIDEO/FILE.mp4 TWEET_STATUS
1つめの引数が動画ファイルへのファイルパスで,2つ目の引数がツイート本文.これを実行すると ~/Downloads
ディレクトリに np1m
というテキストファイルが生成されて,その中に動画のURLが書き込まれます!
コメントを残す