勉強会を主催したときに参加者の人がイベントページをつぶやいてくれた時に ふぁぼりたい★ というのはよくあると思います。
そんな時に、気軽に自動ふぁぼプログラムを作れるようにサーバーレスで作成してみました。
作成にかかった時間
- 1時間
使用したもの
- Azure Functions
- Logic Apps
- NodeJS
- npm Twitter module
プログラムの構成図
- Twitter より新しい呟きを Logic Apps で検知
- 呟きの情報を Azure Functions へ
- Azure Functions は呟きの情報を使い ふぁぼ!
内容
新しい呟きを Logic Apps より取得
Logic Apps のTwitterトリガーを使い新しいツイートがされるたびに起動するようにしています。
工夫した点は、検索文字列の「ブイアールサンダー lang:ja -RT」で
- lang:ja にすることで日本語ツイートに限定
- -RT にすることでリツイートは除外しています
あとは、 Azure Functions を Logic Apps から呼び出しています。
ツイートの情報を利用していいね!
Azure Functions 側の話に移ります。
JS で作成しています。
Twitter をJSから叩けるパッケージの導入
Azure Functions のコンソールより適当に npm の導入とパッケージのインストールを行います。
npm init -y
npm install Twitter
パッケージの公式ドキュメントを参考にしました。
環境変数のセットアップ
コードにTwitterとの接続情報を記入してもいいのですが、環境変数に記入することで Azure Functions を使いまわせるかなと思ったのでそうしました。
Azure Functions > アプリケーション設定
より導入しました。
Azure Functions の コード
module.exports = function (context, data) {
// Twitter パッケージの導入
var Twitter = require('twitter');
var input = data;
// Twitter クライアントの作成
var client = new Twitter({
consumer_key: process.env.TWITTER_CONSUMER_KEY,
consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY,
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET
});
client.post('favorites/create.json', {id: input.tweetId});
context.done();
};
まとめ
Logic Apps を利用してツイートをトリガーにするのは楽。
npm の Twitter パッケージを使うと楽。

![2018-02-06_15-27-16[1].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F143354%2Fc3b021d7-7789-7c7d-6258-787fd2c89fdb.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c0f7e316ebc43164ccd00255e864fae3)
![2018-02-06_15-33-48[1].png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F143354%2Ffd15a875-f732-fc0b-7684-36e473e37638.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6f0f4e9162518a2f034721c66f0693c5)