1

私はグーグルで直接見つけることができなかった(またはそれが実際に機能するかどうかを確認するのに十分明確ではなかった)IRCサーバーに関していくつかのことを知る必要があります

私はより大きなコミュニティサイトで働いており、ページはめ込みチャットを配信したいと考えていました。人々が自分のクライアントを介して外部からもアクセスできるようにするのは素晴らしい機能なので、私はIRCサーバーを実装することが最善の解決策になると考えました(おそらく専用で、そのためにいくつかのことを自分自身に教える必要があります)

APEクライアント/サーバー上にWebベースのIRCクライアントを含める予定です。問題は、IRCが提供する多くの機能を禁止するために、ユーザー権限を削除したいということです。

  • ニックネームの変更:ユーザーはページログインを介してログインし、そのパスワードを使用してこのユーザーのIRC認証を自動的に作成します。つまり、基本的に、彼はボタンを介してIRCクライアントに接続します。そして、接続した後、彼は自分のニックネームをまったく変更できないはずです
  • チャネルの作成:チャネルを作成できるようにしたいのですが、「通常の」ユーザーからではありません。基本的に、私は公開されている基本的なチャネルを設定したいと思います。ユーザーが実際に独自のチャネルを作成する場合、そのチャネルは非公開で、招待状を使用する必要があります(それは可能ですか?)
  • プライベート会話:プライベート会話は、オールラウンドなIRCクライアントから、JS上で作成する個別の「in-browser-windows」にフィルターで除外する必要があります。私はIRCから来るものをフィルタリングする必要があると思います-それともそれに対するより良い解決策がありますか?
  • 「登録済み」のユーザーのみがアクセスできます。前述のように、誰かがページに登録した場合、そのユーザーのIRC「アカウント」を作成したいと思います。ページに登録されていないユーザーは、IRCサーバーにまったくアクセスできません(またはスローされます)。主に外部からのスパマーやボットを回避するため。

これはIRCで解決できますか?IRC OPとサーバーに関するいくつかのFAQと手順を読みましたが、明確な答えを見つけることができませんでした-誰もがほとんどすべてを行うことができるようです-ユーザーの可能性がより削減されるように構成したいと思います。基本的に、ユーザーにチャットの可能性を提供しますが、それ以上は提供しません。

したがって、問題は基本的に、この問題がどの程度可能/解決可能であるか、またはこれに対する他の解決策を見つける必要があるかどうかです。

4

1 に答える 1

1

ChanServなど、さまざまなIRC サービスを見てください。特定のフラグを設定するには、チャネル モードとユーザー モードを使用します。

ほとんどの場合、次のサーバー側を実行できます。

  • ニックネームの強制 ( NickServ )
  • 特定のユーザー タイプのみがチャネルを作成できるようにする
  • チャネルが作成されたら、すべてのユーザーがチャネルに参加できるようにする
  • チャンネルは招待のみのフラグを持つことができます+i
  • プライベートな会話は、別のユーザーへの単なるプライベート メッセージです。複数のユーザーとのプライベートな会話が必要な場合は、チャネルをプライベートに使用するためのロジックを実装する必要があります。
  • 登録ユーザーの作成は可能で、たとえばNickServのような IRC サービスによって強制される可能性があります。

CGI:IRCの使用を検討してください。これは、Web サーバーを介して IRC に接続するブラウザーのチャット クライアントです。そこからユーザーができることを制限するか、サーバー側で制限することができます。

さまざまな IRCd について調査を行い、必要なものをサポートする IRCd が見つかるかどうかを確認してください。Dancer-IRCdは人気のある選択肢のようで、Ubuntuapt-getリポジトリに含まれていますが、必要な機能がすべてサポートされているかどうかはわかりません。


もう 1 つのオプションは、IRC のアイデア全体をまとめて削除し、WebSocket APIまたはCometを使用して独自のチャット クライアントを実装することです。これに対する完全なソリューションも用意されています。

この例:

于 2012-06-18T09:12:05.313 に答える