########################################################################## # MsnClient Class -- A basic class that enables one to create an MSN client this way: # x = MsnClient(to_msnid, bot_msnid, bot_msnid_password, messege); x.tell() # (C) Timothy Makobu, 2007 ##########################################################################
import select import socket import thread import msnlib import msncb import time import sys class MsnClient: def __init__(self, to_id='', bot_id='', bot_pass='', message='Hi :D'): """ MsnClient(to_msnid, bot_msnid, bot_msnid_password, messege) """ self.to_id = to_id self.message = message self.msn_obj = msnlib.msnd() self.msn_obj.cb = msncb.cb() self.msn_obj.email = bot_id self.msn_obj.pwd = bot_pass self.msn_obj.login() self.msn_obj.sync() self.msn_obj.change_status('online') def _send_message(self): time.sleep(15) print 'Here 2' print 'here 3', self.msn_obj.sendmsg(self.to_id, self.message) time.sleep(30) self._quit() def _quit(self): try: self.msn_obj.disconnect() except: pass sys.exit(0) def tell(self): thread.start_new_thread(self._send_message, ()) while 1: self.nd = self.msn_obj.pollable() self.in_fd = self.nd[0] self.out_fd = self.nd[1] try: self.poller = select.select(self.in_fd, self.out_fd, [], 0) except: self._quit() for self.i in self.poller[0] + self.poller[1]: try: self.msn_obj.read(self.i) except('SocketError', socket.error), err: if self.i != self.msn_obj: self.msn_obj.close(self.i) else: self._quit() time.sleep(0.1) -- http://mail.python.org/mailman/listinfo/python-list