Google
 
Webnews.only-4-geeks.com
Interesting places
news.only-4-geeks.com Forum Index » Python

Socket problems

 
Jump to:  
 
Guest
PostPosted: Sun Jul 13, 2008 5:22 pm    Post subject: Socket problems
       
I am trying to write a simple python IRC client, roughly following
this guide: LINK

I have written some code, which uses the same commands as the guide,
but I get this error:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "pythonirc.py", line 31, in run
self.sock.send('NICK %s\r\n') % self.nick
AttributeError: send

Here is my code so far:
Code:

#!/usr/bin/env python

from socket import *
from threading import Thread
import sys

class IRCBot(Thread):
    def __init__(self, host, room, nick, port=6667, ssl=0):
        Thread.__init__(self)
        self.host = host
        self.port = port
        self.ssl = ssl
        self.room = room
        self.nick = nick
        self.sock = socket(AF_INET, SOCK_STREAM)

    def run(self):
        print "Connecting..."
        try:
            self.sock.connect((self.host, self.port))
        except:
            print "Could not connect to %s" % self.host
            sys.exit(1)
        if self.ssl:
            try:
                self.sock = ssl(self.sock)
            except:
                print "Server does not suport SSL"
                sys.exit(1)

        self.sock.send('NICK %s\r\n') % self.nick
        self.sock.send('USER PyIRC PyIRC PyIRC :Python IRC\r\n')
        self.sock.send('JOIN #%s\r\n') % self.room
        while True:
            data = self.sock.recv(4096)
            if data.find('PING') != -1:
                self.sock.send('PONG' + data.split()[1]+'\r\n')
            print data

    def close(self):
        self.sock.send('PART #%s\r\n') % self.room
        self.sock.send('QUIT\r\n')
        self.sock.shutdown(SHIT_RDWR)
        self.sock.close()

IRCBot('irc.psych0tik.net','hbh', 'pythonircclient',6697,1).start()


Anyone know why it might be doing this? Config problem?

Thanks in advance,
Jon
 

 
Jonathon Sisson
PostPosted: Sun Jul 13, 2008 5:22 pm    Post subject: Re: Socket problems
       
SSL objects use "write", not "send".

You also need to change this:

self.sock.write('NICK %s\r\n') % self.nick

to this:

self.sock.write('NICK %s\r\n' % self.nick)

If you don't, the interpreter will bomb on trying to concatenate the
return value for "write" (an integer) with the string self.nick.

Hope this helps...

Jonathon

jjbutler88@gmail.com wrote:
Quote:
I am trying to write a simple python IRC client, roughly following
this guide: LINK

I have written some code, which uses the same commands as the guide,
but I get this error:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "pythonirc.py", line 31, in run
self.sock.send('NICK %s\r\n') % self.nick
AttributeError: send

Here is my code so far:
Code:

#!/usr/bin/env python

from socket import *
from threading import Thread
import sys

class IRCBot(Thread):
def __init__(self, host, room, nick, port=6667, ssl=0):
Thread.__init__(self)
self.host = host
self.port = port
self.ssl = ssl
self.room = room
self.nick = nick
self.sock = socket(AF_INET, SOCK_STREAM)

def run(self):
print "Connecting..."
try:
self.sock.connect((self.host, self.port))
except:
print "Could not connect to %s" % self.host
sys.exit(1)
if self.ssl:
try:
self.sock = ssl(self.sock)
except:
print "Server does not suport SSL"
sys.exit(1)

self.sock.send('NICK %s\r\n') % self.nick
self.sock.send('USER PyIRC PyIRC PyIRC :Python IRC\r\n')
self.sock.send('JOIN #%s\r\n') % self.room
while True:
data = self.sock.recv(4096)
if data.find('PING') != -1:
self.sock.send('PONG' + data.split()[1]+'\r\n')
print data

def close(self):
self.sock.send('PART #%s\r\n') % self.room
self.sock.send('QUIT\r\n')
self.sock.shutdown(SHIT_RDWR)
self.sock.close()

IRCBot('irc.psych0tik.net','hbh', 'pythonircclient',6697,1).start()


Anyone know why it might be doing this? Config problem?

Thanks in advance,
Jon

--
LINK

 

Page 1 of 1 .:.

Google
 
Webnews.only-4-geeks.com

Windows Update | C++ | C | PHP | JavaScript | Photoshop | Programming | Windows 2000 | Python | Windows XP | Object | Flash | Flash - ActionScript | Paint Shop Pro | Excel | PowerPoint | Access | Word | Windows 98 | Internet Explorer 6.0 | CorelDraw12 | Java | XML | asm x86 | Linux Mandrake | Linux RedHat | Outlook |  | news from newsgroups |_ | s

Web Templates

Awesome Website Templates ©

Katalog Kwantowy Tonsil katalog firm Życzenia imieninowe projekty domów parterowych