質問

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

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

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

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

役に立ちましたか?

解決

Python だと思います。 ツイスト フレームワーク。Twisted は非同期ネットワーキングのための素晴らしいフレームワークであり、ほとんどの場合、探しているプロトコルをすでにサポートしています。リアクター パターンのため、学習には若干の時間がかかりますが、一度克服すれば、最小限のコードで驚くべきことを実行できるようになります。IRC プロトコルに関しては、Twisted にはすでにそれが備わっているので、私は IRC ボットの専門家ではありませんが、間違いなく Python と Twisted をお勧めします。

ところで、これは Google で最初に思いついたものです。 Twisted を使用した Python IRC ボット

他のヒント

したい場合はサービスのための複数のユーザーが同時にあい)、PHPにはならない場合がありますの良い選択肢で表示をサポートしていない(または実験的にサポート)スレッドは、フォークのコピーを申し込みユーザーです。

私はJavaをお勧めします。日記述するJava"として、オブジェクト指向、分散、解釈 堅牢, の確保、建築中の携帯型-ハイパフォーマンスで、すべて 下記からダウンロードできま, は、ダイナミックに変化します。".

私の投資有価証券その他有価証券を除く時間の重要な仕事をJavaに最適なクライアント-サーバーです。

あなたが投稿のオプション、私は、Javaを提案しなければなりません。 PHPは、1のために、単にあなたはそれがやりたいことするつもりはありません。 Webスクリプト言語ではなく、何も-他のスクリプト言語であることを意味しています。 Pythonはあなたが望むものを行うことが可能ですが、私はJavaはあなたが達成しようとしている機能のためのより多くのアウトオブボックスのサポートを提供すると思います。

個人的に私はそこから ejabberd のコードベースと作業を開始したい - ヘッドレスネットワーク・サーバのための別の技術のための説得力のある議論があった場合を除き、エージェント、Erlangのは、私が最初に手を伸ばしたい言語/プラットフォームになります。不変のデータと俳優・ベースの並行処理は、あなたのアプリが何であるか実際にあるビットに集中すること自由にあなたを残して、ダウンプラットフォームにすべての通常のハウスキーピングコードをプッシュします。

デルファイを使用して何年か前にIRCのためのボットを書きました。これは、インタプリタ言語よりもはるかに優れている - 、少ないメモリを食べるはるかに高速に動作し、あなたが将来的にはより多くの機能を追加しなければなりませんならば、それはスピードの偉大な予備を持っていることを確認することができます - それらを処理し、ユーザのフレーズを解析します。例えば、私のボットは、特に、すべてのチャットをログに記録され、(ユーザーがちょうど検索の単語/フレーズの書いたユーザーの要求により迅速な検索を行った - !ボットは、検索を実行し、としてユーザー結果、短い引用に送られたので、ユーザは次のいずれかを選択することができます引用やログからその周りより多くの記事を取得します)。それは遅すぎるので、それは、例えば、PHPのために使用して、ほとんどunimplementableです。 ボットは、* nixの下で働くことが提案されている場合は - ちょうどC / C ++を使用します)。

あなたがあなたの記事で列挙だけの言語を使用したい場合は - 私の心にのみJavaの。なぜ上に読んでます。

PythonのJabberbotする

このは、Pythonでjabberbotを作成するための非常に簡単な方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top