phpFreeChatに関するメモ、その2。

簡単に設置できるフリーなチャットプログラムphpFreeChatが(とっくの昔に)アップデートされていたので再インストールしてみた。

phpFreeChat - Web2.0 AJAX free chat server
それなりの機能は充実しているし使いやすいのですが、日本語ドキュメントが充実していないせいか知名度がいまいち? ということで支援。

ダウンロードからインストールまでは別の記事にまとめてあります。

で、チャット画面のカスタマイズ。(→ 本家サイトのquickstartページ参照)

「index.php」を以下のように書き換えれば、とりあえずチャットが動きます。オレンジ色の文字の部分は適宜書き換えて下さい。
  <?php
 
  require_once "src/phpfreechat.class.php"; // 自サイトの環境に合わせる
  /* パラメータの設定 */
$params["serverid"] = md5(__FILE__); // used to identify the chat
$params["language"] = "ja_JP";
$params["output_encoding"] = "encoding";
//出力の文字エンコーディング;デフォルトは"UTF-8"
$params["admin"] = array( 'admin_name'=>'passwd' );
//管理者の名前とパスワード
$params["title"] = "title" ; //チャットのタイトル

$chat = new phpFreeChat($params); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>phpFreeChat demo</title> </head> <body> <?php $chat->printChat(); ?> <!--チャット表示--> </body> </html>
全パラメータリストは本家のFull Parameters Listにあります。

上の設定だと、チャットに参加時に各々「nickname」の入力を求められます。デフォルトのニックネームを設定したい時は、例えば以下のように設定します。
$params["nick"] = "guest".rand(1,1000);  
     // guestxxxという初期ネームが設定される
さてさて、続いてはコマンド。
チャットに参加している時、発言欄で「/command」と入力すると様々なコマンドを実行できます。コマンドには、参加者なら誰でも実行できるものと、管理者のみに実行が許されているものがあります。
まずは、誰でも使えるコマンド。
説明はけっこう端折ってます。
/help ... コマンドリストを表示

/nick nickname ... ニックネームを nickname に変更。

/clear ... 画面をクリア

/connect nickname ... nickname という名前で接続

/join ... チャットに参加
/join チャットルームの名前 ... チャットルームに参加

/quit ... 退出(自分のニックネームは保持)

/init ... 初期化(自分のニックネームなども初期化して退出)

/leave ... 退出

/whois nickname ... 参加者nicknameの情報を表示。

/privmsg nickname ... 参加者nicknameと、他の参加者に知られずにやりとりする。

続いて、管理者が実行可能なコマンド。
まず管理者になるには、
/nick $params["admin"]で設定した名前

/identify $params["admin"]で設定したパスワード
とすれば認証されます。
で、管理者用コマンド。
/kick nickname ... 参加者nicknameを強制退出。
/kick nickname reason ... 参加者nicknamereasonという理由で強制退出。

 ...kickで退出させられた参加者は、再入室可能。

/ban nickname ... 参加者nicknameを強制退出

 ...banで退出させられた参加者は、再入室不可能。

/banlist ... 参加禁止ユーザのリストを表示。

/unban nickname ... 参加者nicknameの入室禁止を解除。

/rehash ... 設定変更を有効にする。
コマンドはまだありますが、使うのはこれくらいではないかと。

phpFreeChatのログデータは、./data/private/以下に保存されます。このディレクトリの中身を空にすれば過去ログはきれいさっぱり消えてなくなります。

[2008.11.20追記] ログを上手く削除できない時はコチラの記事を参照して下さい。

ということで。

カテゴリ: