Python class can't find attribute
Question: Basically, I want to run the connect function but I keep getting the CMD error
message 'class StraussBot has no attribute 'connectSock' but I can obviously
see it does. I've tried searching on here and I can't find any resolutions to
this issue. SO it will be greatly appreciated if you could help me find why
this isn't finding the 'connectSock' function.

Code:

    
    
    import socket
        from config import HOST, PORT, CHANNEL
    
    # User Info
    USER = "straussbot" # The bots username
    PASS = "oauth:sj175lp884ji5c9las089sm9vvaklf" # The auth code
    
    class StraussBot:
        def __init__(self):
            self.Ssock = socket.socket()
    
        def connectSock(self):
            self.Ssock.connect((HOST, PORT))
            self.Ssock.send(str("Pass " + PASS + "\r\n").encode('UTF-8'))
            self.Ssock.send(str("NICK " + USER + "\r\n").encode('UTF-8'))
            self.Ssock.send(str("JOIN " + CHANNEL + "\r\n").encode('UTF-8'))
    
    if __name__ == "__main__":
        print "Starting the bot..."
        while True:
            straussbot = StraussBot
            try:
                straussbot.connectSock()
            except Exception as e:
                print e
    


Answer: You forgot to instantiate an object of your class `StraussBot`.

    
    
    straussbot = StraussBot
    

just assigns the name `straussbot` to refer to the class `StraussBot`. Change
that line to

    
    
    straussbot = StraussBot()
    

to actually create an instance of your class. You can then call the
`connectSock` method on that instance as expected.

