MSN Bot Class
makobu
makobu.mwambiriro at gmail.com
Thu Oct 11 05:56:55 EDT 2007
##########################################################################
# 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)
More information about the Python-list
mailing list