昨日のギークハウス元住吉用当番おしらせbotを引き続き改良しました。
仕様
- 8時と22時にcronで巡回して当番に@を飛ばす
- 日曜日に当番が切り替わる
課題
- 当番が最後まで行ったら最初に戻る(現状戻らない)
- 当番を順番等を変更する画面を作りたい
- セキュリティ対策
- 指定時間以外はツイートしないようにする
<?php
require_once('twitteroauth/twitteroauth.php');
// config.phpをこっちに書いた
define('CONSUMER_KEY', // 省略
// OAuthについて。よくわからん
$conn = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
// 当番順のTwitterアカウント。順番あとで確認
$member = array("@ltd ");
// 週番号で当番の判定。
$week = date('W') % 7;
switch ($week) {
case '0':
$duty = 0;
break;
case '1':
$duty = 1;
break;
case '2':
$duty = 2;
break;
case '3':
$duty = 3;
break;
case '4':
$duty = 4;
break;
case '5':
$duty = 5;
break;
case '6':
$duty = 6;
break;
}
// 次の当番の判定。まだ
// テンプレ。余計なことしたかもしれん。下が読みにくい
$trash = array("普通ごみ", "缶・ペットボトル・びん、ダンボール", "プラスチック製容器包装", "ミックスペーパー", "の収集日です。");
$temp = array("タオルの洗濯をお願いします。", "朝8時までに捨ててください。", "生ごみの回収もお願いします。");
// 曜日で文章を変える
$youbi = date('D'); // 曜日を判定
switch ($youbi) {
case "Sun":
$msg = array($temp[0],
"明日、月曜日は".$trash[1].$trash[4].$temp[0]);
break;
case "Mon":
$msg = array("今日は".$trash[1].$trash[4].$temp[1].$temp[0],
"明日、火曜日は".$trash[0].$trash[4].$temp[0]);
break;
case "Tue":
$msg = array("今日は".$trash[0].$trash[4].$temp[1].$temp[0],
"明日、水曜日は".$trash[2].$trash[4].$temp[0]);
break;
case "Wed":
$msg = array("今日は".$trash[2].$trash[4].$temp[1].$temp[0],
"明日、木曜日は".$trash[0].$trash[4].$temp[0]);
break;
case "Thu":
$msg = array("今日は".$trash[0].$trash[4].$temp[1].$temp[0],
"明日、金曜日は".$trash[3].$trash[4].$temp[0]);
break;
case "Fri":
$msg = array("今日は".$trash[3].$trash[4].$temp[1].$temp[0],
"明日、土曜日は".$trash[0].$trash[4].$temp[0]);
break;
case "Sat":
$msg = array("今日は".$trash[0].$trash[4].$temp[1].$temp[0],
"生ごみの回収とタオルの洗濯をお願いします。1週間お疲れさまでした。".$member[$duty+1]."明日から当番をお願いします。");
break;
}
// 朝夜の判定。8時と22時にツイート
if (date(G) == 8) {
$time = 0;
} elseif (date(G) == 22) {
$time = 1;
}
//test
//echo $member[$duty].$msg[0];
$params = array('status' => $member[$duty].$msg[$time]);
// POST statuses/updateっていうTwitter API
$result = $conn->post('statuses/update', $params);
// TwitterOauth参照
var_dump($result);