Linuxとかプログラミングとか。

プログラミングとか趣味とかいろいろ発信していく大学生のホームページ。

PHPでTwitterの天気予報botを作る

calendar

初めてPHPを使って作ったTwitterのbotの機能が天気予報機能でした。

しかし、これについての説明を今までしてこなかったので、ここで一度、ソースを含む解説をしようと思います。

1.環境

1.1.作業の前提となる環境

  1. PHP5.6がcronで動作するレンタルサーバーを所有していること(自分はさくらレンタルサーバースタンダードプランを契約しています)
  2. twitteroauthライブラリが入手済みであること
  3. TwitterAPIキーを取得しており、twitteroauthライブラリに入力済みであること

2.処理の定義

2.1.フォルダ構成

フォルダ構成は

www/bot/twitter/twitteroauth/
www/bot/twitter/account/(id名)/config.php
www/bot/twitter/account/(id名)/weather/WeatherTodayBot.php
www/bot/twitter/account/(id名)/weather/WeatherTomorrowBot.php
www/bot/twitter/account/(id名)/weather/weather.php

とします。

2.2.weather.php

2.2.1.Weatherクラスについて

Weatherクラスはメンバ変数として$cityと$infoを持ち、ここにそれぞれ、天気予報を取得する都市名と天気情報が格納されます。

コンストラクタではWeatherオブジェクト生成時に渡される引数として都市名を受け取り、メンバ変数に都市名とGetWeatherメソッドを呼び出して天気情報を格納させます。

FtoCメソッドは、情報源から得る気温の単位を、華氏から摂氏へと変換させます。

Translationメソッドは、情報源から得る天気情報を、英語から日本語へと変換させます。(大分ラフではありますが)

GetWeatherメソッドは、Yahooの天気APIから天気情報を取得します。

GetConditionメソッドでは、現在の天気情報を抽出します。

GetTodayメソッドでは、今日の天気予報情報を抽出します。

GetTomorrowメソッドでは、明日の天気予報情報を抽出します。

2.2.2.ソースコード

 

2.3.WeatherTodayBot.phpについて

WeatherTodayBot.phpでは、Weatherオブジェクトを生成し得られた情報を整理し、Twitterでつぶやきます。ここでは、現在の天気とこれからの今日の天気をつぶやきます。

2.4.WeatherTomorrowBot.phpについて

WeatherTomorrowBot.phpでは、Weatherオブジェクトを生成し得られた情報を整理し、Twitterでつぶやきますが、ここでは明日の天気をつぶやきます。

流山市の天気情報を取得する例で試しましたが、いかがでしょうか。

後はサーバーのcronにWeatherTodayBot.phpを朝と昼に、WeatherTomorrowBot.phpを夜にスケジュールとして設定すれば実装できます。

是非参考にしてみてください。

今回はこの辺で失礼します。

3.参考

https://chomado.com/programming/php/php-twitter-bot-%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F/

今回はbot制作にあたり上記の記事を参考にさせて頂きました。

この記事をシェアする

コメント

down コメントを残す




folder Android

SO-03C Xperia ray をICS化する
more...