I am trying to import this file
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
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.
-
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 IRCSenthil Kumaran– Senthil Kumaran01/25/2011 03:39:54Commented 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!21days– 21days01/25/2011 03:41:09Commented 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.Senthil Kumaran– Senthil Kumaran01/25/2011 03:51:07Commented Jan 25, 2011 at 3:51