三毛猫botとSQLiteを連動
分からない人には何の事やらで、知ってる人には今更かと言われそうですが三毛猫botとSQLiteを連動できるようにしました。
具体的には以下の表のようにデータを保存します。
| ID | 日時 | 三毛猫botの発言 | 話しかけた人 | 話し かけた内容 |
|---|---|---|---|---|
| 1 | 2010-03-16 03:06:09 | ニャオーン | t_okubo | @calico_cat_bot test3 |
| 2 | 2010-03-16 03:29:25 | ニャオ | t_okubo |
@calico_cat_bot どうどう |
これでようやく「たくさん話しかけてくれた人を自動的にフォローする」といった機能や、「頻繁に話しかけてくれる人に自発的に話しかける」などの機能を実装することができます。
現段階ではデータベースに接続出来なかった場合の処理とか適当に作ってるので、何かバグがあると思いますが、しょうもない参考コードを貼っておきます。
・SQLiteのDBとテーブルの作成
以下のコードであらかじめDBファイルとテーブルを作っておきます。
$db = sqlite_open('db_name.db');
sqlite_query($db, 'create table table_name(id integer primary key, date text, msg text, who text, who_msg text);');
・DBへのデータの追加(INSERT)
作成したDBのテーブルにデータを追加するコードです。
$db = sqlite_open('db_name.db', 0666, $sqlite_error);
if (!$db) {
// SQLite への接続が失敗
die($sqlite_error);
}
$date = date("Y-m-d H:i:s");
$msg = sqlite_escape_string('入力値');
$who = sqlite_escape_string('入力値');
$who_msg = sqlite_escape_string('入力値');
$sql = "insert into table_name values(NULL, '$date', '$msg', '$who', '$who_msg')";
$result = sqlite_query($db, $sql);
// SQLite の接続を閉じる
sqlite_close($db);
参考:
「SQLite入門」
http://www.dbonline.jp/sqlite/index.html
「PHP と SQLite を使った掲示板」
http://oku.edu.mie-u.ac.jp/~okumura/php/sqbbs.php
また、botの発言内容やbotに話しかけてくれた人などは毎度ながらtuitterフレームワークを使用して取得しています。非常に便利なのでPHPを使ってbotを作ってみたい人はぜひ使ってみてください。

