Advertisement
MegaLoler

Simple Tinychat Bot

Jul 12th, 2012
1,857
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.46 KB | None | 0 0
  1. import tinychat
  2. import thread
  3. import time
  4.  
  5. class TinychatRoom(tinychat.TinychatRoom):
  6.     def onMessage(self, user, message):
  7.         if self.echo: message.printFormatted()
  8.         self.handle(user, message)
  9.        
  10.     def onPM(self, user, message):
  11.         if self.echo: message.printFormatted()
  12.         self.handle(user, message)
  13.    
  14.     def handle(self, user, message):
  15.         msg = message.msg
  16.         if msg[0] == "!":
  17.                     msg = msg[1:]
  18.                     if len(msg) > 0:
  19.                             parts = msg.split(" ")
  20.                             if len(parts) == 1:
  21.                                     cmd = parts[0]
  22.                                     pars = []
  23.                                     par = ""
  24.                             else:
  25.                                     cmd = parts[0]
  26.                                     pars = parts[1:]
  27.                                     par = " ".join(parts[1:])
  28.                             if cmd.lower() == "say":
  29.                                     self.say(par)
  30.                 elif cmd.lower() == "playyoutube":
  31.                                     self.playYoutube(par)
  32.                 elif cmd.lower() == "stopyoutube":
  33.                                     self.stopYoutube()
  34.                 elif cmd.lower() == "playsoundcloud":
  35.                                     self.playSoundcloud(par)
  36.                 elif cmd.lower() == "stopsoundcloud":
  37.                                     self.stopSoundcloud()
  38.                 else:
  39.                     self.say("Unknown command: !" + cmd)
  40.  
  41. room = TinychatRoom(raw_input("Enter room name: "), raw_input("Enter username (optional): "), raw_input("Enter password (optional): "))
  42. room.echo = True
  43. thread.start_new_thread(room.connect, ())
  44. while not room.connected: time.sleep(1)
  45. while room.connected:
  46.     msg = raw_input()
  47.     if len(msg) > 0:
  48.             if msg[0] == "/":
  49.                     msg = msg[1:]
  50.                     if len(msg) > 0:
  51.                             parts = msg.split(" ")
  52.                             if len(parts) == 1:
  53.                                     cmd = parts[0]
  54.                                     pars = []
  55.                                     par = ""
  56.                             else:
  57.                                     cmd = parts[0]
  58.                                     pars = parts[1:]
  59.                                     par = " ".join(parts[1:])
  60.                             if cmd.lower() == "say":
  61.                                     room.say(par)
  62.                             elif cmd.lower() == "pm":
  63.                                     if len(pars) > 1:
  64.                                             room.pm(" ".join(pars[1:]), pars[0])
  65.                                     else:
  66.                                             print("Please supply the recipient's nick as well as the message to send")
  67.                             elif cmd.lower() == "nick":
  68.                                     room.setNick(par)
  69.                             elif cmd.lower() == "color":
  70.                                     room.cycleColor()
  71.                             elif cmd.lower() == "ban":
  72.                                     room.ban(par)
  73.                             elif cmd.lower() == "quit":
  74.                                     room.disconnect()
  75.                 elif cmd.lower() == "playyoutube":
  76.                                     room.playYoutube(par)
  77.                 elif cmd.lower() == "stopyoutube":
  78.                                     room.stopYoutube()
  79.                 elif cmd.lower() == "playsoundcloud":
  80.                                     room.playSoundcloud(par)
  81.                 elif cmd.lower() == "stopsoundcloud":
  82.                                     room.stopSoundcloud()
  83.             else:
  84.                     room.say(msg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement