ゴリラ
服○栄養専○学校
自己紹介
フロントエンドエンジニア
新卒から約4年は営業してました(IT・Web一切関係無い業界で)
文系出身
大阪出身なので普段は関西弁(社会人になってから関東に来た)
高校からニックネームがドンキー
(ドンキーコング由来100%)
←なのでこれがslackアイコンです
今日の献立
twitterでゴリラが呟く!!!
ゴリラbotをnode.jsで作成
この時期が旬!!!!
季節の変わり目に
最適!!
ちびっ子も大好き!!
お袋の味
なぜ、作ろうとおもったのか
- アイデンティティ形成の為
- nodeで何か作りたかった
- twitterはじめたかった
ゴリラbotって面白いんとちゃうん!!!
コレ、珍しいからバズるやつやで
絶対ッ!!!
そう思っている時期が僕にもありました…
気を取り直して…
❏新鮮なtwitter API
❏生きのいいnode.js
❏脂の乗ったAWS
本日、使用する材料
twitter API is 何?
スミマセン(^o^;)これやってみたかったんです...ハイ
twitter APIとは
その前にAPIってなにそれ美味しいの?
・APIとはアプリケーションプログラミングインターフェイス(Application Programming Interface)の略
‐>アプリケーションの機能を別のアプリケーションからプログラムを介して利用可能にするための仕組み
何が嬉しいの?
WebアプリケーションではAPIはHTTPリクエストを使って特定のURLに対してアクセスすることで、アプリケーションの機能をネットワーク上の別のアプリケーションから動かすことが可能になる。
要するにTwitterの機能を外部から
触れる便利なものってこと
node.js is 何?
それでは一緒にみんなで
要するに
凄いJavascript
AWS is 何?
AWS(Amazon Web Services)は、Amazonが提供する様々なWEBサービスの総称です。
まずは、AWSのいくつかのサービスを組み合わせることで、便利なサービスを作れると考えていただければ、間違いありません。
AWSは、クラウドサービスのシェア1位のサービスです。
AWSを利用しているのは、「インターネット上で、何かしらのサービスを提供したい!」とか、「インターネット上にデータを保存しておきたい!」と考える企業や個人です。
これから代表的なサービスの利用例をいくつか紹介しますが、AWSは全部で100種類以上のサービスを提供していて、現在もさらに増え続けています。
参照元:侍エンジニアブログ
お、おう…
今回はLambdaを使用
- 小さなプログラムの コードを実行に適している。
-
Node.jsにコード対応している。
-
発火のタイミングのみ、料金が発生するのでお財布に優しい。
(1ヶ月に1,000,000件の無料リクエスト)
(400,000GB−秒のコンピューティング時間無料) -
使ってみたかった。
//npm module
const Twitter = require('twitter');
// twitter API
const twitter = new Twitter({
consumer_key:'consumer_key',
consumer_secret:'consumer_secret',
access_token_key:'access_token_key',
access_token_secret:'access_token_secret'
});
// node etc
const fs = require('fs');
const path = require('path');
const json = require('../json/main');
const tweetArray = json.data;
const tweetInfo = tweetArray[Math.floor(Math.random()* tweetArray.length)];
const { img, tweet } = tweetInfo;
const imgRoot = path.resolve(__dirname, `../${img}`);
const gorillaImg = fs.readFileSync(imgRoot);
const media = { "media":gorillaImg };
const main = async () => {
const upMedia = await twitter.post('media/upload', media);
await twitter.post('statuses/update', {status:tweet,media_ids:upMedia.media_id_string});
};
main();
Javascript
{
"data":[
{
"img":"img/sample_gorilla1.jpg",
"tweet":"バナナは美味しい"
},
{
"img":"img/sample_gorilla2.jpg",
"tweet":"ドンキーコングです"
},
{
"img":"img/sample_gorilla3.jpg",
"tweet":"風船で1UPする謎"
}
]
}
json
まとめ
- 世の中にあるbotの中で何番煎じかわからないけど、bot(ていうか定期的に呟きを投稿するなにか)ができた
- コレを気にnode深掘りしていきたい
- 遊びでなんか適当に動くもの作るのは楽しい
- ちょこちょこ触って拡張していきたい
- Lambdaでasync/awaitが上手く使えなかった
その他
ゴリラ30分クッキング
By Kazuki Tahara
ゴリラ30分クッキング
- 892