1

XMPP (Jabber) ボットを作成する予定で、どの言語で作成するかを決める必要があります。現在、Python、Java、および PHP を検討しています。

ボットがほとんどの時間 (つまり、23.5/7) 実行されていると予想しているため、これらの言語のいずれかを使用することに賛成または反対する特定の議論はありますか? (例えば、「$x が悪い」ではなく、「$y には良いデーモン ライブラリがあります」または「$z がメモリ リークします」)

ボットの主な目的は、ユーザー入力に応答することです。

これらの言語のどれもあなたに適していないと思われる場合、何をお勧めしますか?

4

6 に答える 6

5

Twistedフレームワークを使用した Python と言えます。Twisted は非同期ネットワークの素晴らしいフレームワークであり、ほとんどの場合、探しているプロトコルを既にサポートしています。リアクター パターンのおかげで少し習得に時間がかかりますが、一度克服すれば、ごくわずかな量のコードで驚くべきことができるようになります。IRC プロトコルについては twisted が既に持っているので、私は IRC ボットの専門家ではありませんが、Python と Twisted を強くお勧めします。

ところで、これは google: Python IRC bot using Twistedを思いついた最初のものです

于 2009-12-04T07:41:53.047 に答える
4

あなたが投稿したオプションのうち、Javaを提案する必要があります。1 つには、PHP は単純にやりたいことを実行しません。これは Web スクリプト言語であって、他のスクリプト言語ではありません。Python はあなたが望むことを行うことができますが、Java はあなたが達成しようとしている機能に対してよりすぐに使えるサポートを提供すると思います。

于 2009-12-04T07:22:16.627 に答える
4

個人的には、ejabberdコードベースから始めて、そこから作業を進めていました。ヘッドレス ネットワーク サーバー エージェントの場合、別のテクノロジに対する説得力のある議論がない限り、Erlang が最初に到達する言語/プラットフォームになります。不変データとアクターベースの同時実行性により、通常のハウスキーピング コードがすべてプラットフォームにプッシュされるため、アプリの実際の部分に集中することができます。

于 2009-12-04T08:16:11.230 に答える
4

同時に複数のユーザーにサービスを提供したい場合 (おそらく必要)、PHP は適切な選択ではない可能性があります。PHP はスレッド化をサポートしていない (または実験的にサポートしている) ため、ユーザーごとにアプリケーションのコピーをフォークする必要があります。 .

この目的には Java をお勧めします。Sun は、Java を「シンプル、オブジェクト指向、分散型、解釈型、堅牢、セキュア、アーキテクチャ ニュートラル、ポータブル、高性能、マルチスレッド、動的」と説明しています。

私の意見では、タイム クリティカルなジョブを除いて、Java はクライアント サーバー アーキテクチャに最適です。

于 2009-12-04T07:10:48.163 に答える
2

数年前、デルファイを使用して IRC のボットを作成しました。インタプリタ言語よりもはるかに優れています - 消費するメモリが少なく、はるかに高速に動作し、将来さらに多くの機能を追加する必要がある場合に備えて、ユーザーのフレーズを解析して処理するなど、速度を大幅に確保できることを確信できます。たとえば、私のボットは特にすべてのチャットをログに記録し、ユーザーの要求によってクイック検索を実行しました (ユーザーは !検索単語/フレーズを書きました - ボットは検索を実行し、短い引用としてユーザーの結果に送信したので、ユーザーは引用の 1 つを選択して、それに関するより多くの投稿を得ることができましたログから)。遅すぎるため、たとえばphpを使用して実装することはほとんど不可能です。ボットが *nix で動作することが提案されている場合は、c/c++ を使用してください :)

投稿に列挙されている言語のみを使用したい場合は、Java だけを考えてください。上記の理由を読んでください。

于 2009-12-04T07:20:10.483 に答える
1

Python Jabberbot

これは、Python で jabberbot を作成するかなり簡単な方法です。

于 2010-10-07T19:02:19.740 に答える