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

IT起業アカデミア