WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:チャットに機能を付けたい

syaa[MAIL][URL][WriteDate : Tue Aug 1 04:00:11 2000]

こんにちは、ちゃいぱぱさん。
かなりわがままなんですけど、聞いてください。

↓ここに自分が設置しているチャットがあります。
http://members.cool.ne.jp/~syaa/miuchat/miuchat.cgi

↓ここのチャットに付いている機能を使いたいです。
http://home.att.ne.jp/sea/h-tatsu/mai-k/chatentry.htm

具体的に言うと
・常時ホスト名の表示。
・各部屋にそれぞれ違う設定

さらに追加したい機能として
・発言ランキングの機能

このような機能が付いたチャットを使いたいのですが
やっぱり無理な話でしょうか・・・・・


ちゃいぱ[MAIL][URL][WriteDate :Tue Aug 1 18:32:16 2000]

syaaさん、こんにちは。

いかのチャットCGIのことですか?

http://www.kent-web.com/chat/wtalk.html?

(今日はいろいろあって、レスが遅くなっています、すみません)

syaa[MAIL][URL][WriteDate :Tue Aug 1 19:35:38 2000]

いえ、遅くなるのは全然構いません。
答えてくれるだけですごく感謝しています(^ー^)

そうです。そのチャットを
http://home.att.ne.jp/sea/h-tatsu/mai-k/chatentry.htm 
ここのように設置したいです。
かなりわがままだけど、まさか設置できるとか・・( ̄− ̄)」ドキドキ


ちゃいぱ[MAIL][URL][WriteDate :Wed Aug 2 17:06:11 2000]


>・常時ホスト名の表示。
wtalk2.cgiの231行目で
<!--$host-->

($host)
に変更してください。

あと
>・各部屋にそれぞれ違う設定 
>・発言ランキングの機能 
は、perlとHTMLを勉強するしかないでしょう!
がんばって!

syaa[MAIL][URL][WriteDate :Thu Aug 3 02:08:03 2000]

おお!常時ホスト名の表示はできるんですね!
いつもいつも教えてくれてありがとうございますm(_ _)m

今思い出したのですが、相互リンクはどうなったんでしょう?

Qz[MAIL][URL][WriteDate :Thu Aug 3 06:36:30 2000]

なんとなく興味ひかれて、ひまつぶしに

>・各部屋にそれぞれ違う設定  

というのをやってみました。こういうかんじなのかな・・・
http://ca.sakura.ne.jp/~qz/samples/chat3/miuchat/miuchat.cgi

でも、発言ランキングってなんなのでしょう。

syaa[MAIL][URL][WriteDate :Thu Aug 3 09:07:55 2000]

おおぉ!すごい!どうやったんですかQzさん!
教えてほしいです!

発言ランキングですが以下にあります。
http://cgi.members.interq.or.jp/gold/mog/demo/cfx9/index.cgi

Qz[MAIL][URL][WriteDate :Fri Aug 4 01:22:48 2000]

Perlの知識がある程度ないと、ちょっと説明がむずかしいのですが・・・
あたまに、$がついている設定を、各ルームごとの設定ができるように変更するのは簡単です。
たとえば、

># bodyタグ(背景色・文字色などを定義)
>$body = '<body bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#0000FF">';

の設定を例にします。(bodyの前に$がついているでしょう?)
この次の行にでも、(前でもいいけど)、@bodyの設定をいれてあげます。
なかみは、「チャットのログとその部屋名」にあわせます。
部屋が3つなら、以下ののような感じにします。

@body = (
'<body bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#0000FF">',
'<body bgcolor="#000000" text="#ffffff" link="#0000FF" vlink="#0000FF">',
'<body bgcolor="#012345" text="#fdcba9" link="#0000FF" vlink="#0000FF">',
);

上から順番に、room1、room2、room3のbodyタグの設定になります。

さて、ここからが、多少、むずかしい(?)ところなのですが、
顔文字の下の方に、

>#============#
>#  設定完了  #
>#============#
>&decode;
>&logset;
>&deny;
> :
>  ;

という箇所があると思います。
&decorde;の次の行に
if($id =~ /\d/){ #$idが数字ならば
  $body = $body[$id];
}
という行を入れてあげます。具体的には以下のようなかんじ。
#============#
#  設定完了  #
#============#
&decode;
#追加 - ここから
if($id =~ /\d/){ #$idが数字ならば
  $body = $body[$id];
}
#---ここまで
&logset;
 :
 :
これで、各部屋のbodyタグの切り分けができます。
以上を参考にすれば、$のついている設定に関しては、いくらでも、応用ができます。
例えば、

># ポインタの形状(ログ表示部で「名前」の前につく)
>$pointer = "★";

を各部屋毎に設定したい場合は、設定のところで、
@pointer = ("★", "■", "▼");
といった感じのものをついかします。

つぎに、

>if($id =~ /\d/){ #$idが数字ならば
>  $body = $body[$id];
>}

は、

if($id =~ /\d/){ #$idが数字ならば
  $body = $body[$id];
  $pointer = $pointer[$id]; #ここに新しく追加
}

という具合にします。

こういう風にすれば、$のついている場合は、簡単にいけるようになると思います。

@のついている設定(文字色、顔文字)は、多少、ややこしくなります。
もともと、複数ある設定なので、さらに複数にするのですから、ややこしくなるのは、わかるでしょう?

文字色、顔文字を各部屋毎にする方法は、$のついている設定を各部屋毎にできるように、なってから、ということにしましょう。
いっぺんに、いろいろできませんしね。(^^;

>---------
>発言ランキング

これって、ちょっと、難しくなりますね。
掲示板にこの機能あっても、いいかもしれませんねえ。(^^;

ところで、サーバー(プロバイダ)Perlのバージョンは、わかりますか?



syaa[MAIL][URL][WriteDate :Fri Aug 4 04:56:08 2000]

今日、知り合いからすばらしいチャットを教えてもらいました。
そのチャットは私がほしい機能が全て付いている
『そっちゃっと』(http://www.sotani.com/)というものです。
それで質問を変えたいと思います。
今まで詳しく教えてくれたちゃいぱぱさん、Qzさん
本当にすみませんm(_ _)m
でも今後に役立つと思うのでここの内容をメモ帳に
コピー&ペーストさせてもらいました。

それで『そっちゃっと』で外から参加者人数を表示する方法を
やりたくて自分でいろいろ調べたけど結局分かりませんでした。
もし良ければ教えてください。

ところで、サーバー(プロバイダ)Perlのバージョンですが
分からないです。どこに書いてあるんでしょう?


ちゃいぱ[MAIL][URL][WriteDate :Fri Aug 4 09:10:46 2000]

Qzさんへ
回答ありがとうございました。
また、よろしくお願い致します。

syaaさんへ
>サーバー(プロバイダ)Perlのバージョンですが分からないです。
syaaさんのプロバイダーへ問い合わせて下さい。

>参加者人数を表示する方法
『そっちゃっと』でちゃんと表示されました。
また、発言ランキング機能も付いてますね。

餅屋は餅屋で、「そっちゃあいらんど」の方で聞いたほうが、
的を得た回答が得られますよ。きっと。

>今思い出したのですが、相互リンクはどうなったんでしょう?
申し訳ありませんが、中止致しました。
理由は、ゲストブックの[420]番のICHIさんへレスしました。 


Qz[MAIL][URL][WriteDate :Fri Aug 4 23:34:59 2000]


>参加者人数を表示する方法 

ぱっとみ、そういう機能はついてないようです。
自作でCGI(かSSI)で、参加人数をとってくるしかないと思います。

多機能なちゃっとCGIなら、ゆいちゃっとでも・・・(^^;
こっちは、ろぼっともつけられるし、改造の相談もうけられます。

http://www.koei.ne.jp/~yui/


Qz[MAIL][URL][WriteDate :Sat Aug 5 00:25:37 2000]


>ところで、サーバー(プロバイダ)Perlのバージョンですが 
>分からないです。どこに書いてあるんでしょう? 

プロバイダのCGI設定方法か、サーバーの環境設定に記述があるとおもいます。ふつうは・・・
でも、ふつうじゃないところおおいから・・・ないかも。

>参加者人数を表示する方法

「参加者保存ファイルの行数=参加者人数」
であれば、以下のようなかんじで、いけます。

http://ca.sakura.ne.jp/~qz/samples/chat3/miuchat/sample.txt

「参加者保存ファイルの行数=参加者人数」のちゃっとCGIなら、
共通でつかえます。

miuchatの参加者ランキングは、将来つく予定みたいです。
なんか、参加者ランキングをつけようとしている跡が残っていました。

#名前が未記入ですエラーで、3回も書きなおしました(あせ
#パスワード未記入エラーや、メール未記入エラーでは、
#よくやるけど、名前未記入エラーで3回も書きなおすとは
#われながら、あほやな〜・・・



syaa[MAIL][URL][WriteDate :Sat Aug 5 02:39:32 2000]

ちゃいぱぱさんへ>
いつも丁寧に教えていただいてありがとうございます。
でも相互リンクができないのはちょっと残念です。

Qzさんへ>
詳しく教えて頂いてすっごく感謝してます。
おかげで全て問題が解決しました。マジうれしいです♪(^ー^)
これから教えて頂いたことをもとに、設置していきたいと思います。
本当にありがとうございましたm(_ _)m


syaa[MAIL][URL][WriteDate :Sat Aug 5 02:41:57 2000]

また完了に変え忘れたのでもう一度。
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




Back