LINE BOT AWARDS にエントリーだ

【占うマン】というアカウントを作りました⭐

友だち追加

 

友達追加をしてもらった後、何でもいいのでこちら側が発言すると、botから星座を選んでくださいと言われます。

星座を選択すると、今日のその星座の運勢が返ってきます!

f:id:sayurinux:20170225000129j:plain  f:id:sayurinux:20170225000136j:plain

やった〜できた〜!と思って占ったら12位だった...

 

占いにはこちらの無料APIを使用させていただいています。

jugemkey.jp

 

Node.js + Heroku で作成しました。

LINEのMessaging APIのTemplate Messageというの、使ってみたかったので使ったけどスタイリッシュでいいですね!ただ、選択肢3つしか登録できなかったのでカードが4つになってしまったけど...。

よかったら友達追加お願いしますm(_ _)m

 

npmで開発中のパッケージのバージョンを上げる

 

npmで管理しているパッケージを開発中に、gitでタグ付けしつつバージョンを上げる機会があったので、忘れないように書きます。

手順

1. 適切にバージョンを上げる + tag付け
 以下のいずれかのコマンドを実行することで、package.jsonのversionが書き換わります

$ npm version patch
$ npm version minor
$ npm version major

 2. 確認
 tagがちゃんと作られたか確認します

$ git tag
v1.0.0
v1.0.1

3.  master に push

$ git push origin master 

4. tag に push
 リモートにまだ反映されていない tag が push されます

 $ git push origin --tags

 

おわりです。

これでバージョンが上がって、バージョンに対応したタグも作られました。

 

iTerm2 のパスワードマネージャーが便利

iTerm2 3.0 で便利だなと感じた機能に出会ったので紹介したいと思います。

パスワードマネージャー

パスワードをアカウントごとに管理してくれます。

Window -> Password Manager

f:id:sayurinux:20161011210306p:plain

ちなみにここで保存したパスワードは、実際にはmacOSのkeychainに保存されるようです。

Trigger

そして、この登録したパスワードを、任意のタイミングで使用できるようにします。
Triggerという機能で設定します。

Profiles -> Open Profiles -> Edit Profiles -> Advanced -> Triggers の Edit

f:id:sayurinux:20161011210926p:plain

このように設定すると、passwordという文字列がターミナルに出現したのをトリガーにして、先ほどのパスワードマネージャーが開き、指定したアカウントのパスワードが選択できるようになります。

ssh や sudo する時など、パスワードの入力がこれで省けます^o^

毎回同じパスワードを打つのが面倒な方はぜひ設定してみてください。 

Trigger機能でログをちょっと監視 

Trigger機能はパスワードマネージャーを表示する以外にもいろいろできるようです。

例えばこのように設定すると

f:id:sayurinux:20161011211834p:plain

ターミナル上に「ERROR」という文字列が出現した時にアイコンを跳ねさせることができます。

ログを垂れ流しさせている時に、ERRORに気付きやすくなりそうです

 

便利だ^o^

 

結婚式二次会のクイズをGoogle FormとGASで運用した話

経緯

とても良くしていただいている先輩に結婚式の二次会の幹事を頼まれました。
先輩のためならお任せあれ!!٩( 'ω' )و
ということで、余興としてクイズをやることになりました。

  • 参加者: 約80名
  • クイズの数: 計5問(三択式×4問, 記述式×1問)
  • 回答方法: 設問ごとに各自がスマホから回答
  • 景品: 最終的に上位10名に景品アリ

ちなみに景品はここで選んだらとてもラクだった

www.piary.jp

クイズ作り

 三択問題を4問と、記述式の問題を1問作成し、それをスライドにまとめたものを用意しました。こんな感じで

f:id:sayurinux:20160928022629p:plain

具体的には、新郎新婦へのインタビュー動画を撮影し、その受け答えの一部を問題にしました。

編集中に「ウッ」っとなるくらいラブラブな動画が撮れて満足しました。

 

回答フォームの準備

各自にスマホから回答させたいということで、回答フォームをGoogle Formsで作成しました。Googleフォームはアンケートを作成できるサービスです。

docs.google.com

 1〜3番までのラジオボタンがついた形式のフォームを4つと、記述形式で回答できるフォームを1つ作りました。

しかし、「誰が」「どの」回答をしたのかを記録するためには、ログインしてもらう必要があります。慌ただしい二次会でログインなんかやってられません。。

ということで、力技なんですが・・・各フォームの質問の1つ目として「あなたのお名前は?」という項目を用意し、プルダウンから自分の名前を選択してから回答してもらうようにしました。

f:id:sayurinux:20160928014026p:plain

・・・事前にプルダウン形式で出席者全員の名前を用意しておかなければいけないという意味ですが、出席者のリストさえあればコピペで一気に貼付けられたのでそこまで手間ではなかったです。

 

集計スクリプトの準備

先述のGoogleフォームでの回答を集計するためのスクリプトを、Google Apps Sctiptで作成しました。

developers.google.com

  1. 各フォームの回答タブ内に「スプレッドシートの作成」ボタンがあるので選択
  2. 新しいスプレッドシートの作成を選択

これで、そのフォームの回答が入ってくるシートが作成されました。(シートを作成した後に回答しても、リアルタイムでシートが更新されます)
このスプレッドシートに、集計用のスクリプトを加えていきます。

  1. シート上部の「ツール」タブ選択
  2. スクリプトエディタ」を選択

これで集計用スクリプトを書く準備が整ったので、書いていきます。

 

github.com

実際に動かしたスクリプトはこちらです↑

  • 選択式問題の正解者抽出
  • 記述式問題の正解者抽出
  • 5問分の正解者の合計得点集計

の3つのスクリプトで運用しました。全然特別なことはやっていません。。

var records = sheet1.getRange(2, 1, recordNum, 3).getValues();

 先ほどのフォームでの回答はこのrecordsの中に入ってきます。
1列目の2行目を始点にして、3列分の幅をrecordNum(大体80)取得しています。2次元配列で取れます。

Logger.log(records);

GASでもログは出力できるので便利です、出力内容は⌘+Enterで確認できます。

 

クイズ回答用サイトの準備

 上記の回答フォームへのリンク5問分を貼り付けたサイトを用意し、当日にそのサイトをQRコードで読み込んでアクセスしてもらうことにしました。

サイトはAmeba Owndを使って、よい感じのやつを作っておきました。

www.amebaownd.com

 

運用

当日!

二次会受付でサイトのQRコードを印刷した紙を配っておき、クイズに臨みました٩( 'ω' )و

クイズ中にやったことは、

  1. 皆の解答が始まったらgoogleフォームの解答タブを見つめる
  2. 大体の人が解答し終わったら回答を締め切る
  3. 吐き出されたスプレッドシートスクリプトを実行
  4. 1〜3を5問分繰り返す
  5. 5問目が終わったら結果を1つのファイルにまとめて合計用スクリプトを実行
  6. 10位までの人をスライドにまとめて発表

googleフォーム、回答タブ見つめてる間にどんどん結果が更新されていって面白かった...。円グラフで見れるので、正解率がよく分かりました。こんな感じでした。

f:id:sayurinux:20160928020935p:plain

1個目の名前の回答がすごいことになったw(スプレッドシートで使いたいだけのデータなので問題なしです)

 

おわり

本当はこんなことをせずに、クイズ用アプリを使う手とかもあったんですが、インストールしてもらう手間とか、サービスが有料だったりでつらかったので、自分でどうにかしましたっていう話でした...!m(. . )m

まぁこんなどう集計したかなんて置いておいて、クイズ自体をちゃんと面白がってもらえてたようなのでよかったです〜

そして何より先輩おめでとうございました^∀^