PowerShell から LINE できるようにしてみた。
なお、サービス登録が面倒だったので、IFTTT 経由でやっている。ちゃんと使う人はサービス登録したほうが良いと思う。
使ってみた感じ
下記リンク先のファイルを作って動かす。(動かすには、IFTTTで調べてthrow "Your key"
の所に自分のキーを設定する必要がある)
PS C:\demo\line> ls -name
Write-LINE.ps1
メッセージ
下記の通り、パイプでメッセージを送れる。
PS C:\demo\line> 1..3 | .\Write-LINE.ps1
実装としては、パイプ経由で受け取った値を累積して、LINEに出力している。
標準出力もする
上記の実行では、標準出力になにも出力されなかったが、下記のように、PassThru
スイッチを指定すると標準出力しつつ、LINEできる。
PS C:\demo\line> 1..3 | .\Write-LINE.ps1 -PassThru
1
2
3
実装としては、累積せずに標準出力しているので、標準出力のほうがLINEより早く出力される。
区切り文字を変える
下記の通り、区切り文字を変えられる。
PS C:\demo\line> 1..3 | .\Write-LINE.ps1 -Delimiter ', '
タイトル
下記の通り、タイトルを付けられる。
PS C:\demo\line> "メッセージ" | .\Write-LINE.ps1 -Title "タイトル"
実装としては、Title
で指定された文字列を、累積する最初の要素として扱っている。実質不要。なんとなく実装してしまった。
画像を送る
下記の通り、画像のURLを指定すると画像が送れる。(何も考えずQiitaでの自分のアイコン画像を送ったが、直リンとか怒られそうだなぁ…と今更思った。)
PS C:\demo\line> .\Write-LINE.ps1 -Title "アイコン" -PhotoURL "https://qiita-image-store.s3.amazonaws.com/0/36744/profile-images/1473687185"
IFTTTの設定
下記のような感じで、if Maker then LINE で作る。
Trigger
Event Name
はテキトーにWrite-LINE
にしてある。
Acction
下記の通り設定した。(value1 をメッセージ、value2 を画像URLとして扱う。)
キーの設定
下記のGistに貼っつけたコードは、そのままでは動かずキーを設定する必要がある。キーはConnect Maker to hundreds of apps - IFTTTで調べて、コードのthrow "Your key"
の箇所を書き換えて貰えれば良い。