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.

Senthil Kumaran
57.2k15 gold badges98 silver badges139 bronze badges
asked Jan 25, 2011 at 3:17

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.

answered Jan 25, 2011 at 3:25
3
  • 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 Commented Jan 25, 2011 at 3:39
  • 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! Commented Jan 25, 2011 at 3:41
  • 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. Commented Jan 25, 2011 at 3:51

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.