2

I am trying to import this file

http://pastebin.com/bEss4J6Q

Into this file

def MainLoop(self): #MainLoop is used to make the commands executable ie !google !say etc;
                try:
                    while True:
                        # This method sends a ping to the server and if it pings it will send a pong back
                        #in other clients they keep receiving till they have a complete line however mine does not as of right now
                        #The PING command is used to test the presence of an active client or
                        #server at the other end of the connection.  Servers send a PING
                        #message at regular intervals if no other activity detected coming
                        #from a connection.  If a connection fails to respond to a PING
                        #message within a set amount of time, that connection is closed. A
                        #PING message MAY be sent even if the connection is active.
                        #PONG message is a reply to PING message.  If parameter <server2> is
                        #given, this message will be forwarded to given target.  The <server>
                        #parameter is the name of the entity who has responded to PING message
                        #and generated this message.

                        self.data = self.irc.recv( 4096 )
                        print self.data
                        if self.data.find ( 'PING' ) != -1:
                            self.irc.send(( "PONG %s \r\n" ) % (self.data.split() [ 1 ])) #Possible overflow problem

                        if "!chat" in self.data:
                            ..... 

So that I can successfully call upon the imported file (ipibot) whenever '!chat' in self.data: # is called.

But I'm not sure how to write it. This is what I have so far

 if "!chat" in self.data:
      user = ipibot.ipibot()
      user.respond

I'd like to state I have taken a look at the module portion of Python as well as Importing I just can't seem to grasp it I guess?

file -> class -> function is what I understand it to be.

1 Answer 1

4

A module is nothing but a python source file. You keep that python source file in the same directory as other source file and you can import that module in other source files. When you are importing that module, the classes and functions defined in that module are available for you to use. For e.g. in your case, you would just do

import ipibot

At the top of your source, provided that ipibot.py (your pastebin) file is present in the same directory or PYTHONPATH (a standard directory where python programs can lookup for a module) and then start using ipibot.ipibot() to use the function ipibot()from that module. Thats it.

Sign up to request clarification or add additional context in comments.

3 Comments

Actually, you have to run your script from the command prompt using the python executable. I am guessing that your main module is doing the task of IRC. BTW, you cannot run anything on IRC
Okay, maybe I'll just have the bot start the other one when !chat is caled and then when !endchat is it will leave? Thanks!
With !endchat you can choose to call another function from ipibot, if that is what you meant. The imported module stays and it is harmless to just import a module without doing anything.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.