Node.js
Heroku
Twitter
Express

Node.js(Express)を使って気温を教えてくれるTwitterBotを作った

今回はNode.jsの勉強もかねて、TwitterBotの作成を目指すことにしました。ただポストするだけでは面白みがないので、気温も含めてポストするBotを作成しました。

どのようなものか

現在の時間と福岡市の気温をツイートします。多少書き換えれば天気などもツイートできます。

ソース&制作物紹介

ソースコードはこちらにて公開しています。
今回作ったTwitterBotはこちらです。

参考文献

以下、参考にさせていただいたものです。
TwitterBotについては、@hkusuさんのNode.js(Express) と Heroku で Twitter ボットを作る - Qiitaを参考にさせていただきました。
天気・気温取得については、こちらの記事を参考にさせていただきました。

開発環境

  • Node.js v6.11.1
  • Express v4.13.0

使い方

基本的には、参考文献を見てみれば使い方は分かると思います。Twitterにポストするまでの流れはまんま参考文献の通り動かしています。

ポストする内容を、openWeatherMapのAPIを混ぜて気温を増やしたってだけです。index.jsのres.main.tempの部分をいじれば、天気などもツイートできます。できるはずです。JSONデータを一回出力してみると分かりやすいです。

index.js
const location = "Fukuoka-shi,jp";
const units = 'metric';
const APIKEY = "";

const URL = 'http://api.openweathermap.org/data/2.5/weather?q=' + location + '&units=' + units + '&appid=' + APIKEY;

ここのlocationを変えれば違う地域の気温などを取得できます。APIKEYは各自取得したものを突っ込んでください。無料でもそこそこ使えます。

Herokuの環境変数としてTwitterのキーなどを登録しており、ローカルでの実行だとそのままでは動かないので注意です。
ローカル用のシェルスクリプトを組んでおくとデバッグのときにものすごく重宝します(作り方は参考文献に書いてあります)。

最後に

まだまだプログラミング修行中の身ですが、今回TwitterBotを作り上げられて良かったです(ほとんど写経ですが)。

勉強を進めつつ改良していきたいと思います。