ナナエフ

同人ゲームサークル『7-FIELD』制作ブログ  -ゲーム制作やイベント参加などの活動情報 + 雑記-

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Twitterのbot制作⑩ <PHP簡易紹介2>

tetsuwoです。 【 twitter


前々回までの記事で、バッチファイルを用いた定刻配信botの作成は完了しましたが

作成したphpファイルでは拡張させることが難しいので

追記を考慮したプログラム記述を少し紹介致します。
 

─ ※過去参照 ───────────────────

 12/09/07 自作botの作成手順

 12/09/08 PHP実行環境構築1

 12/09/10 PHP実行環境構築2

 12/09/13 PHPツイート実行1

 12/09/14-1 PHPツイート実行2

 12/09/14-2 PHPツイート実行3

 12/09/17 定刻ツイート1

 12/09/18 定刻ツイート2

 12/09/20 PHP簡易紹介1

──────────────────────────


前回の記事では、当連載で作成した「tweet.php」の処理を説明しました。

今回は、定刻にツイートする機能を拡張するにあたって便利と思われる処理命令を

一部紹介したいと思います。



■拡張処理命令紹介

【 現在日時取得 】

date_default_timezone_set('Asia/Tokyo');
$now = array (
 "year" => date('Y'), #4桁
 "month" => date('m'), #2桁 00~12
 "day" => date('d'), #2桁 00~31
 "hour" => date('H'), #2桁 00~24
 "minute" => date('i') #2桁 00~59
);

  phpが処理された日付・時刻を取得しております。
  
  「data_default_timezone_set」を書かないと、上手く取得できません。  

  「date('●')」命令にて日時を取得し、「$now」配列に結果を格納するので

  if文などを用いて「バッチは1時間毎動かすが、▲時のみ動作させたい」

  といった指定ができます。格納した値は「$now["hour"]」などで呼び出せます。



【 ツイート文ランダム設定 】

$message = array(
 "ツイート文 パターン①",
 "ツイート文 パターン②",
 "ツイート文 パターン③"
);
$element = array_rand($message);
$use_message = $message[$element];

  いくつか設定したツイート文のパターンの内、ランダムで1つを選択します。
  
  文章は「$message」配列に定義し
  
  「array_rand」命令で、指定した配列の要素番号をランダムに取得します。
  
  ツイート文一覧「$message配列」、ランダム要素番号「$element」を組み合わせ
  
  $message配列からランダムに取得した内容を「$use_message」に格納しています。



【 別ファイルへの処理分割 】
①呼び出し元ファイル (twitter_bot.php)
<?php
 $path = "C:\Program Files (x86)\■~省略~■\htdocs\";

 #ツイートの処理を別ファイルから呼び出し
 require_once($path."twitter_tweet..php");

 $message = "ツイート文";
 Tweet($path, $message);
?>

②呼び出しファイル (twitter_tweet.php)
<?php
 function Tweet($path, $message)
 {
  #twitteroauth.phpの読み込み
  require_once($path."twitteroauth.php");

  ■ 省略(既存で作成したtweet.phpを参照) ■

  header("Content-Type: application/xml");
  echo $req;

  return;
 }
?>

  処理命令の説明とは少し離れますが

  ツイート時刻指定やツイート内容など、こだわって作成するとファイルが長くなっていくので

  処理内容を幾つかのphpファイルに分割することで整理しやすくします。


  外部ファイルの読み込みを行う「require_once」は前回紹介しています。

  呼び出し先のファイルでは、<?php ~ ?> の中で

  「function ●● ( ▲ ) { ~ 処理 ~ } 」を記述しています。

  これは、処理命令を自分で作成しています。


  上記の例では、呼び出し先の「twitter_tweet.php」にて「Tweet」命令を作成し

  呼び出し元の「twitter_bot.php」で使用しています。

  ▲の部分である「$path, $message」は引数よ呼ぶ

  命令を呼び出すために必要なパラメータです。

  また、「function」で作成した命令は、「return」命令が必要です。命令の終了を意味します。

 


簡単ですが、以上となります。

これらの命令を、if文の分岐を用いることで活用するだけで

当連載で作成したものよりは、凝った処理のPHPファイルを作成することができます。



「7F_tetsuwo」では、現在毎日21時に、ランダムのパターンで薄鈍アドベントを紹介しております。

当連載に興味を持ち、作成しようと思われている方も

自由な発想で作成してみれば面白いと思います。



以上です、長くなりましたがありがとうございました。
 
スポンサーサイト
  1. 2012/09/22(土) 23:58:34|
  2. 制作
  3. | トラックバック:0

トラックバック

トラックバック URL
http://7fblog.blog.fc2.com/tb.php/75-903d6c32
この記事にトラックバックする(FC2ブログユーザー)

カウンター

プロフィール

akinasi, tetsuwo

Author:akinasi, tetsuwo
FC2ブログへようこそ!

検索フォーム

カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

告知 (63)
制作 (88)
ソフト紹介 (19)
素材紹介 (10)
言外 (7)
雑記 (361)
ナナエ (29)

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。