私のircロボットが掛かっています:calvino.freenode.net "NOTICE *:*あなたのホスト名を検索しています..."私のコードにいくつかの関数を追加する前に働いていました。私はこれらの関数をコメントアウトして以来、しかしそれはまだ動作していない! それはそのメッセージにとどまり、進行しません。私はそれを強制終了しなければならない。なぜPythonのircbotが止まっているのですか?*:***あなたのホスト名を検索します...そしてチャンネルに参加しませんか?
私は非常に初心者のコーダーです、私は2週間ほど前にコードを始めました。だから私はどこかで非常にばかげたエラーがあることは全く可能です。 参考までに、私はこの投稿を使ってボットの枠組みを書いていました。 http://ubuntuforums.org/showpost.php?p=9363159&postcount=3 私は残りのコードを投稿しませんでしたが、必要に応じてこのペーストビンに入れました!それはあなたの誤差があるが、あなたがここにあなたの文字列に問題があるように見える場合http://pastebin.com/kVF04UFr
import socket
import urllib2
import httplib
import mechanize
channel = '#testbot'
botnick = 'tastybot'
network = 'irc.freenode.net'
port = 6667
irc = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
irc.connect ((network, port))
print irc.recv (4096)
irc.send ('NICK' + botnick + ':\r\n')
irc.send ('USER tastybot tastybot tastybot :Python IRC\r\n')
irc.send ('JOIN' + channel + ':\r\n')
irc.send ('PRIVMSG' + channel + ':What\'s up?\r\n')
running = True
[various functions]
while running:
[rest of code]
wiresharkをインストールし、何がうまくいかないかを確認するためにトラフィックをキャプチャしてみてください。私はこれが通常、それが知っているプロトコルのエラーをチェックする最善の方法であることを発見しました。私が見ているエラーは1です。あなたは 'NICK'、' JOIN'と 'PRIVMSG'の後のスペースを忘れてしまいます。2. NICK'と' JOIN'メッセージの後に 'recv'していないので、あまりにも早いので、サーバーによって無視されます。 –
ところで、Rubyで書かれた非常にシンプルなボットは、[私のGithubのページ](https://github.com/niklasb/ircstuff/blob/master/ircbot.rb)にあります。 'PING'に自動的に応答するなど、もっと必要なものがいくつかあります。 –
[ident](http://en.wikipedia.org/wiki/Ident)サービスを実行していますか?私はidentサービスを実行していなかったので、freenodeへの接続に問題がありました。 –