三毛猫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を作ってみたい人はぜひ使ってみてください。