はじめに
久しぶりにRaspberryPiの環境構築をしていたら、セットアップコマンドの待ち時間がとても長かったので作ってみました。
セットアップ
野良コマンドなのでこんなかんじで
$ git clone https://github.com/siwasu17/gone.git
$ cd gone
$ npm link
google-home-notifier と argv モジュールが必要になります。
※ 本筋と逸れますが、RaspberryPiでgoogle-home-notifierを利用するときはちょっと手がかかるのでREADMEをご参照ください。
使い方
$ <command> ; gone
と打つと、
コマンド完了後にGoogleHomeがとても流暢な英語で
Command complete!
と言ってくれます。
また、完了したコマンド名を引数で伝えてあげることもできます。
$ <command> ; gone -c <command name alias>
例えば以下だと、sleep command complete! と言ってくれます。
$ sleep 10; gone -c "sleep"
中身
google-home-notifierを叩くだけです、作ったというのもおこがましいレベルw
gone.js
#!/usr/bin/env node
const argv = require('argv');
const googlehome = require('google-home-notifier')
const language = 'en';
argv.option({
name: 'command',
short: 'c',
type : 'string',
description :'Additional text to notify',
example: "'script --command=value' or 'script -c value'"
});
const args = argv.run();
let commandName = args.options.command ? args.options.command : '';
googlehome.device('Google-Home', language);
googlehome.notify(commandName + ' command complete!', function(res) {
console.log(res);
});
コマンドラインツール化したいので、package.jsonに少し手を加えています。
作り方はnpm でコマンドラインツール開発事始めを参考にさせていただきました。
package.json
{
"name": "gone",
"version": "1.0.0",
"description": "Notify google home of command complete.",
"bin": {
"gone": "gone.js"
},
"dependencies": {
"google-home-notifier": "^1.2.0"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/siwasu17/gone.git"
},
"author": "siwasu17",
"license": "MIT",
"bugs": {
"url": "https://github.com/siwasu17/gone/issues"
},
"homepage": "https://github.com/siwasu17/gone#readme"
}
作ってみて
GoogleHome先生の英語が流暢すぎて長いコマンドが聞き取れない...orz