Advertisement
Thelorgoreng

For sinryayuki (Chatango Bot)

Sep 13th, 2015
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 27.10 KB | None | 0 0
  1. import ch
  2. import random
  3. import sys
  4. import json
  5. import time
  6. import re
  7. import cgi
  8. import codecs
  9. import traceback
  10. import datetime
  11. import urllib
  12. import binascii
  13. import json
  14. import __future__
  15.  
  16. ##############################################################
  17. lockdown = False
  18. activated = True
  19. ##############################################################
  20. ## Timer Stuff ###############################################
  21.  
  22. startTime = time.time()
  23.  
  24. ##     End     ###############################################
  25. ##############################################################
  26.  
  27.  
  28. ##############################################################
  29. ## File Stuff ################################################
  30.  
  31. nicks=dict()#empty list
  32. f=open ("Nicks.txt","r")#r=read w=right
  33. print ("[INF]Loading Nicks...")#print
  34. time.sleep(1)
  35. for line in f.readlines():#loop through eachline and read each line
  36.     try:#try code
  37.         if len(line.strip())>0:#strip the whitespace checkgreater than 0
  38.             user , nick = json.loads(line.strip())
  39.             nicks[user] = json.dumps(nick)
  40.     except:
  41.         print("[Error]Can't load nick %s" % line)
  42.  
  43. rooms = []
  44. f = open("rooms.txt", "r") #read-only
  45. print("[INF]Loading Rooms...")
  46. time.sleep(1)
  47. for name in f.readlines():
  48.   if len(name.strip())>0: rooms.append(name.strip())
  49. f.close()
  50.  
  51. def saveNicks():
  52.     print("[SAVE] SAVING NICKS...")
  53.     f = open("Nicks.txt", "w")
  54.     for user in nicks:
  55.         nick = json.loads(nicks[user])
  56.         f.write(json.dumps([user, nick])+"\n")
  57.     f.close()
  58.    
  59. def sntonick(username):
  60.     user = username.lower()
  61.     if user in nicks:
  62.         nick = json.loads(nicks[user])
  63.         return nick
  64.     else:
  65.         return user
  66. ## End #######################################################
  67. ##############################################################
  68.  
  69.  
  70. ##############################################################
  71. ## Define Stuff ##############################################
  72.  
  73.  
  74. ## End #######################################################
  75. ##############################################################
  76.  
  77. ##############################################################
  78. ########          Mon Nov 18 2013 22:15:33 WIB        ########
  79. ##############################################################
  80.  
  81. if sys.version_info[0] > 2:
  82.   import urllib.request as urlreq
  83. else:
  84.   import urllib2 as urlreq
  85.  
  86.  
  87. ##############################################################
  88. ## Time Stuff ################################################
  89.  
  90. def getUptime():
  91.   """
  92. Returns the number of seconds since the programs started.
  93. """
  94.   #do return startTime if you want the process start time
  95.  
  96.   return time.time() - startTime
  97.  
  98. ## System Uptime
  99. def uptime():
  100.  
  101.   try:
  102.     f = open( "/proc/uptime")
  103.     contents = f.read().split()
  104.     f.close()
  105.   except:
  106.     return "Cannot open uptime file"
  107.  
  108.   total_seconds = float(contents[0])
  109.  
  110.   ## Helper vars:
  111.   MINUTE = 60
  112.   HOUR = MINUTE * 60
  113.   DAY = HOUR * 24
  114.  
  115.   ## Get the days, hours, etc:
  116.   days = int( total_seconds / DAY )
  117.   hours = int( ( total_seconds % DAY ) / HOUR )
  118.   minutes = int( ( total_seconds % HOUR ) / MINUTE )
  119.   seconds = int( total_seconds % MINUTE )
  120.  
  121.   ## Build up the pretty string (like this: "N days. N hours, N minutes, N seconds")
  122.   string = ""
  123.   if days > 0:
  124.     string += str(days) + " " + (days == 1 and "day" or "days" ) + ", "
  125.   if len(string) > 0 or hours > 0:
  126.     string += str(hours) + " " + (hours == 1 and "hour" or "hours" ) + ", "
  127.   if len(string) > 0 or minutes > 0:
  128.     string += str(minutes) + " " + (minutes == 1 and "minute" or "minutes" ) + ", "
  129.   string += str(seconds) + " " + (seconds == 1 and "second" or "seconds" )
  130.  
  131.   return string;
  132.  
  133. ## End #########################################################
  134. ################################################################
  135.  
  136. ################################################################  
  137. ## Important TestBot Class #####################################
  138. class TestBot(ch.RoomManager):
  139.  
  140. ## Setting Font Format and Colors
  141.   def onInit(self):
  142.     self.setNameColor("FF9966")
  143.     self.setFontColor("33CCFF")
  144.     self.setFontFace("1")
  145.     self.setFontSize(11)
  146.     self.enableBg()  
  147.     self.enableRecording()
  148.    
  149. ## Rank Configs
  150.   def getAccess(self, user):
  151.     if user.name in spermitted: return 5
  152.     elif user.name in permitted: return 4
  153.     elif user.name in hpermitted: return 3
  154.     elif user.name in whitelist: return 2
  155.     elif user.name in friend: return 1
  156.     else: return 0
  157.  
  158. ##############################################################
  159. ## Connecting and Disconnecting crap #########################
  160.  
  161.   def onConnect(self, room):
  162.     print("[+] Mad Hatter Connected to "+room.name)
  163.    
  164.   def onReconnect(self, room):
  165.     print("[+] Mad Hatter Reconnected to "+room.name), room.message("Reconnected")
  166.    
  167.   def onDisconnect(self, room):
  168.     print("[+] Mad Hatter Disconnected from "+room.name)
  169.    
  170.   def onJoin(self, room, user):
  171.     print("[+] "+user.name+" joined "+room.name)
  172.     if lockdown: return
  173.     if self.getAccess(user) == 5:
  174.       time.sleep(2)
  175.       room.message("*Bows down to "+ user.name +"*")
  176.       return
  177.    # if self.getAccess(user) == 3:
  178.     #  time.sleep(2)
  179.      # room.message("Arch Knight is present")
  180.       #return
  181.    # elif self.getAccess(user) == 4 and not user.name == "ramielsama":
  182.     #  time.sleep(2)
  183.      # room.message("Wellcome back "+sntonick(user.name)+" !!", True)
  184.       #return
  185.     elif user.name == "ramielsama":
  186.       time.sleep(2)
  187.       room.message("Wellcome back "+sntonick(user.name)+" ! *Hugs and kisses My Fallen Angel*", True)
  188.       return
  189.   def onConnectFail(self, room):
  190.     print("[ERR} Room Not Found")
  191.      
  192.   def onBan(self, room, user, target):
  193.     print("someone got banned in "+room.name)
  194.  
  195. ## End #######################################################
  196. ##############################################################
  197.  
  198. ##############################################################  
  199. dancemoves = [
  200.   "(>^.^)>",
  201.   "(v^.^)v",
  202. ]
  203. song = [
  204.   "Dirimu, dirimulah! Orang yang beriku senyum ini",
  205. "Jika kita bisa membuat air mata yang bersinar, itu 'kan 'jadi bintang jatuh",
  206. "Tanganmu t'lah terluka, tapi jangan pernah lepaskannya lagi",
  207. "Dari langit yang terpenuhi keinginan, hari esok 'kan segera datang",
  208.  
  209. "Cahya yang membimbingku adalah dirimu",
  210. "Dan aku pun ditarik karenanya",
  211. "Sebelum kusadarim kita mulai sebrangi jalan itu",
  212. "Sekaranglah saatnya! Jikalau kita hanya bisa bersinar di sini",
  213. ]
  214.  
  215. bete = [
  216. "kunci",
  217. ]
  218. pagi = [
  219. "ohayou oni-chan",
  220. ]
  221.  
  222. # implied command?    
  223. # call bot name with command after
  224. # call bot name with command after
  225. #Setting Pretty Colors
  226. #Font setting for your bot
  227.  
  228. class TestBot(ch.RoomManager):
  229.   def onInit(self):
  230.     self.setNameColor("FF0000")
  231.     self.setFontColor("3333FF")
  232.     self.setFontFace("1")
  233.     self.setFontSize(12)
  234.     self.enableBg()
  235.     self.enableRecording()
  236. ##### Pars Def
  237.   def pars(args):
  238.           args=args.lower()
  239.           userlist = roomUsers()
  240.           for name in userlist:
  241.             if args in name:return name  
  242. ##Connecting Crap
  243. #This is what will be printed on your python console when event called
  244.  
  245.   def onConnect(self, room):
  246.     print("Connected")
  247.     self.setNameColor("F9F")
  248.     self.setFontColor("F33")
  249.     self.setFontFace("1")
  250.     self.setFontSize(13)
  251.     self.enableBg()
  252.     self.enableRecording()
  253.     room.message("malam guys ;)")
  254.  
  255.   def onReconnect(self, room):
  256.     print("Reconnected")
  257.     room.message("I am reconnected.")
  258.     self.setNameColor("F9F")
  259.     self.setFontColor("F33")
  260.     self.setFontFace("1")
  261.     self.setFontSize(13)
  262.     self.enableBg()
  263.     self.enableRecording()
  264.     room.message("aduh, aku Disconnect guys , maaf ya :)")
  265.  
  266.   def onDisconnect(self, room):
  267.     print("Disconnected")
  268.     room.reconnect()
  269.  
  270.  
  271. ##Ignore this, you dont need to worry about this
  272. #Well, you can actually take a little time to look at it and learn something
  273.   def onMessage(self, room, user, message):
  274.   #### Comenzi fara prefix
  275.    
  276.     if message.body.startswith("woi"):
  277.      room.message("Diem lu :v")
  278.     if message.body.startswith("sepi"):
  279.       if user.name == "ericrhickys":
  280.        room.message ("masih ada aku :)")
  281.       else:
  282.        room.message("Bakar aja chat nya ! nanti pada rame yang padamin")
  283.     if message.body.startswith("@sinryayuki"):
  284.       if user.name == "ericrhicky":
  285.        room.message ("ya mastah ?")
  286.       else:
  287.        room.message("^^ @"+user.name)
  288.     if message.body.startswith("i love you sin"):
  289.       if user.name == "ericrhicky":
  290.        room.message ("aku juga sayang ;)")
  291.       else:
  292.        room.message("kau sapa ?")
  293.     if message.body.startswith("i miss you"):
  294.       if user.name == "ericrhicky":
  295.        room.message ("i miss ur venish :*")
  296.       else:
  297.        room.message("eh he ?! what !? sorry but i have masta ericrhicky @"+user.name)
  298.     if message.body.startswith("sapa yang jones ?"):
  299.      room.message("hmm , @TobatkauNak yay yay")
  300.     if message.body.startswith("@ericrhicky"):
  301.      room.message("ada apa ? mungkin mastah sibuk ngefap venishnya jadi gak balas @"+user.name)
  302.     if message.body.startswith("aku sayang kamu sin"):
  303.       if user.name == "ericrhicky":
  304.        room.message ("aku juga sayang venish kamu :* "+user.name)
  305.       else:
  306.        room.message("lo sapa ? :P")
  307.     if message.body.startswith("anjay"):
  308.      room.message("halo kk anjay :3 "+user.name)
  309.     if message.body.startswith("afk"):
  310.       if user.name == "ericrhicky":
  311.        room.message ("hurry back goshuujin-sama")
  312.       else:
  313.        room.message("jangan balik lagi @"+user.name+" byeeeeeeee.")
  314.     if message.body.startswith("fuck"):
  315.       if user.name == "ericrhicky":
  316.        room.message ("why ? goshuujin-sama")
  317.       else:
  318.        room.message("fuck u too kid")
  319.     if message.body.startswith("jam"):
  320.      room.message(strftime("%H:%M:%S", localtime()))      
  321.     if message.body.startswith("tanggal"):
  322.      room.message(strftime ("HARI: %a,%d-%b-%Y ", localtime()))
  323.     if message.body.startswith("sin"):
  324.       if user.name == "ericrhicky":
  325.        room.message ("yes goshuujin-sama ?")
  326.       else:
  327.        room.message("hmm ? @"+user.name+".")
  328.     if message.body.startswith("bully si "):
  329.       if user.name == "ericrhicky":
  330.        room.message ("yokai goshuujin-sama")
  331.       else:
  332.        room.message("kau sapa ? @"+user.name+".")
  333.     if message.body.startswith("lol"):
  334.      room.message("Yeah lol  @"+user.name+".")
  335.     if message.body.startswith("coba"):
  336.      room.message("Diem")
  337.     if message.body.startswith("@sinryayuki anjir"):
  338.      room.message("napa ? marah ya ? ih atut >.<")
  339.     if message.body.startswith("ohayo"):
  340.      room.message("ohayou juga :D")
  341.     if message.body.startswith("siapa yang "):
  342.      room.message(random.choice(room.usernames) +" @"+user.name)
  343.     if message.body.startswith("off"):
  344.       if user.name == "ericrhicky":
  345.        room.message ("okay goshuujin-sama, Becarefull ;)")
  346.       else:
  347.        room.message("byeee jangan balik lagi ya @"+user.name)
  348.     if message.body.startswith("anjir"):
  349.      room.message("lu yang anjir "+user.name+" :3")
  350.     if message.body.startswith("gak jadi"):
  351.       if user.name == "ericrhicky":
  352.        room.message ("yokai goshuujin-sama")
  353.       else:
  354.        room.message("gak jelas nih anak @"+user.name)
  355.     if message.body.startswith("touhou"):
  356.      room.message("kalo touhou gak balas mungkin papa lagi sibuk @"+user.name)
  357.     if message.body.startswith("njay"):
  358.      room.message("kk agak agak ya :3"+user.name)
  359.     if message.body.startswith("njir"):
  360.      room.message("kk kenapa :3")
  361.     if message.body.startswith("back"):
  362.       if user.name == "ericrhicky":
  363.        room.message ("Sinryayuki here ready for goshuujin-sama ;)")
  364.       else:
  365.        room.message("welcome to indonesia "+user.name)
  366.     if message.body.startswith("brb"):
  367.      room.message("hurry hurry i miss you so much #kidd @"+user.name)
  368.     if message.body.startswith("loe"):
  369.      room.message("lu lah anjir :3")
  370.     if message.body.startswith("bangsat"):
  371.      room.message("emang kau bangsat :v")
  372.     if message.body.startswith("tae"):
  373.      room.message("nape tae tae ?")
  374.     if message.body.startswith("hi sin"):
  375.      room.message("hi juga :3")
  376.     if message.body.startswith("halo sin"):
  377.      room.message("halo juga :3")
  378.     if message.body.startswith("helo sin"):
  379.      room.message("helo juga :3")
  380.     if message.body.startswith("hallo sin"):
  381.      room.message("hi juga")
  382.     if message.body.startswith("hello sin"):
  383.      room.message("ji juga :v")
  384.     if message.body.startswith("hy sin"):
  385.      room.message("lu sapa :v")
  386.     if message.body.startswith("yare"):
  387.      room.message("sabar kk @"+user.name)
  388.     if message.body.startswith("bro"):
  389.      room.message("apa ?")
  390.     if message.body.startswith("tega"):
  391.      room.message("emang")
  392.     if message.body.startswith("jones"):
  393.      room.message("kasian ya jones :v")
  394.     if message.body.startswith("oi @ericrhicky"):
  395.      room.message("kalo gak di balas mungkin pacarku lagi sibuk, silahkan tunggu sebentar ;)")
  396.     if message.body.startswith("ah masa ?"):
  397.      room.message("iya ..")
  398.     if message.body.startswith("sin tidur gih"):
  399.      room.message("okay, aku cuma nurut sama kk "+user.name+" :3")
  400.     if message.body.startswith("iya gak sin"):
  401.      room.message("iya dong kk "+user.name)
  402.     if message.body.startswith("anjer"):
  403.      room.message("kayaknya kk @"+user.name+" yang anjer :v ")
  404.     if message.body.startswith("anjing"):
  405.      room.message("anjing ? anjing balek lah apa lagi :3")
  406.     if message.body.startswith("manggil aja"):
  407.       if user.name == "ericrhicky":
  408.        room.message ("ouh oke mastah ;)")
  409.       else:
  410.        room.message("gak usah manggil manggil kalo gak kenal")
  411.     if message.body.startswith("~rekomen anime action"):
  412.      room.message("Absolute Duo, Accel World, Akame Ga kill, Aldnoah Zero, Black bullet, BTOOOM, CubeCursedCurious, Campione, Cross Ange, Dakara Bokuwa H Dekinai, Danmachi, Date A Live, Dog Days, Freezing, Guilty Crown, Hagure Yuusha, Hidan No Aria, highschool DXD, Ichiban Ushiro, Infinite Stratos, Isuca, Juuou Mujin, Machine-doll, Madan No Ou TO Vanadis, Gintama, Manyuu Hikenchou, Mondaji Tachi Ga Sekai, Nanatsu no Taizai, NGNL, Nurahiyon, Owari No seraph, Seikoku No Dragonoar, Seikon No Qwaser, Seirei Tsukai, Shinmai maou, Sora no otoshimo, Strike The Blood, Tokyo Ghoul, Trinity Seven, Yuushibu, Chaos Dragon, Charlotte, God eater, Gate Jietai, Kuusen Madoushi, Kyoukai No Rinne, Maken-ki, Overlord, Ore Twintail, Ushio No Tora, World Trigger")
  413.     if message.body.startswith("~rekomen anime harem"):
  414.      room.message("Asobi Ni Iku yo, Campione, Dakara Bokuwa H Dekinai, Date A live, Freezing, Highschool DXD, Highschool of the death, Ichiban Ushiro no Dai Mao, Infinite Stratos, Juuou Mujin No Fafnir, Kiss Xsis, Madan No ou to Vanadis, Mayo Chiki, Nisekoi, Rokujouma No Sinryakusha, Rosario to Vampire, Seirei Tsukai No Blade Dance, Shinmai Maou No Testament, Sora No Otoshimo, The World God Only Know, Trinity Seven, Yamada-kun to 7-nin Majo, Monster Musume, To Love RU")
  415.     if message.body.startswith("typo"):
  416.      room.message("khalo lhu emhang typo mhendhing ghak usah nghetik ajha :v")
  417.     if message.body.startswith("sin mending lu off"):
  418.      room.message("gak ah, papa masih belum off tuh jadi sin juga gak mau off :)")
  419.     if message.body.startswith("konbanwa"):
  420.      room.message("halo, konbanwa juga :)")
  421.     try:
  422.      if room.getLevel(self.user) > 0:
  423.       print(user.name, message.body)
  424.      else:
  425.       print(user.name, message.body)
  426.      if self.user == user: return
  427.      if message.body[0] == "/" :   ##Here is the Prefix part
  428.       data = message.body[1:].split(" ", 1)
  429.       if len(data) > 1:
  430.         cmd, args = data[0], data[1]
  431.       else:
  432.         cmd, args = data[0], ""
  433.  
  434.       def pars(args):
  435.         args=args.lower()
  436.         for name in room.usernames:
  437.           if args in name:return name    
  438.       def roompars(args):
  439.         args = args.lower()
  440.         for name in self.roomnames:
  441.           if args in name:return name
  442.       def roomUsers():
  443.           usrs = []
  444.           gay = []
  445.           prop = 0
  446.           prop = prop + len(room._userlist) - 1
  447.           for i in room._userlist:
  448.             i = str(i)
  449.             usrs.append(i)
  450.           while prop >= 0:
  451.             j = usrs[prop].replace("<User: ", "")
  452.             i = j.replace(">", "")
  453.             gay.append(i)
  454.             prop = prop - 1
  455.           return gay
  456.      
  457.       def getParticipant(arg):
  458.           rname = self.getRoom(arg)
  459.           usrs = []
  460.           gay = []
  461.           finale = []
  462.           prop = 0
  463.           prop = prop + len(rname._userlist) - 1
  464.           for i in rname._userlist:
  465.             i = str(i)
  466.             usrs.append(i)
  467.           while prop >= 0:
  468.             j = usrs[prop].replace("<User: ", "")
  469.             i = j.replace(">", "")
  470.             gay.append(i)
  471.             prop = prop - 1
  472.           for j in gay:
  473.             if j not in finale:
  474.               finale.append(j)
  475.           return finale
  476.       if cmd == "ev" or cmd == "eval" or cmd == "e":
  477.           ret = eval(args)
  478.           if ret == None:
  479.             room.message("Done.")
  480.             return
  481.           room.message(str(ret))
  482.          
  483.       if cmd == "join":
  484.           if user.name == "ericrhicky":
  485.               if args not in self.roomnames:
  486.                 room.message("<f x12F00='1'>Proses <f x1233FFFF='1'>memasuki <f x12F00='1'>room :<f x12FFCC00='1'>  <b>%s</b>*" % args, True)
  487.                 self.joinRoom(args)
  488.               else:
  489.                 room.message("<f x1233FFFF='1'>Saya sudah <f x12F00='1'>berada di <f x12334433='1'>room :<f x12FFCC00='1'> "+args, True)
  490.           else: room.message("<f x123333FF='1'>Maaf, <f x12FFCC00='1'>cuma <f x1233FFFF='1'>rank 3,4,5 <f x12FFCC00='1'>yang bisa :)",True)
  491.          
  492.       elif cmd == "leave":
  493.           if user.name == "ericrhicky":
  494.               if args:
  495.                   room.message("<f x12F00='1'>Proses <f x12FFCC00='1'>meninggalkan <f x12334433='1'>room :<f x123333FF='1'>  <b>%s</b>" % args, True)
  496.                   self.leaveRoom(args)
  497.               else: return
  498.               if args == "":
  499.                 room.message("<f x1233FFFF='1'>Oke kak, <f x1233FFFF='1'>saya akan meninggalkan room : "+room.name)
  500.                 self.leaveRoom(room.name)
  501.           else: room.message("<f x12F00='1'>Maaf, <f x1233FFFF='1'>cuma <f x12339999='1'>rank 3,4,5 <f x12334433='1'>yang <f x12000='1'>bisa :)",True)
  502.  
  503.       elif cmd == "rooms":
  504.           j = list()
  505.           for i in self.roomnames:
  506.             j.append("<b>"+i+"</b>"+"("+str(self.getRoom(i).usercount)+")")
  507.           room.message("|| <f x1233FFFF='1'>Saya <f x12F00='1'>berada <f x12334433='1'>di: "+", ".join(j)+" ||", True)
  508.           #room.message("||i'm in : <b>%s</b> ||" % (", ".join(self.roomnames)), True)
  509.  
  510.         ##Say
  511.         #Make your bot say what you want
  512.  
  513.       elif cmd == "afk":
  514.         jawab = ["See u"]
  515.         room.message(random.choice(jawab)+" @"+user.name)
  516.       elif cmd == "crunch":
  517.         jawab = ["https://31.media.tumblr.com/50dcec4f797eb86ea483558695c874f1/tumblr_nqru66BNYc1u8lwqgo1_500.gif"]
  518.         room.message(random.choice(jawab)+" @"+user.name)
  519.       elif cmd == "nja":
  520.         jawab = ["Njaa ne ^^"]
  521.         room.message(random.choice(jawab)+" @"+user.name)
  522.       elif cmd == "coeghd":
  523.         jawab = ["anda kenapa?"]
  524.         room.message(random.choice(jawab)+" @"+user.name)
  525.       elif cmd == ":v":
  526.         jawab = ["emoticon dewa"]
  527.         room.message(random.choice(jawab)+" @"+user.name)
  528.       elif cmd == "lebaran":
  529.         jawab = ["minal aidzin wal faizin kk"]
  530.         room.message(random.choice(jawab)+" @"+user.name)
  531.       elif cmd == "gue tamvan gak ?":
  532.         jawab = ["kaga","tamvan","jelek","biasa aja"]
  533.         room.message(random.choice(jawab)+" @"+user.name)
  534.       elif cmd == "hmm":
  535.         jawab = ["maho detcted"]
  536.         room.message(random.choice(jawab)+" @"+user.name)
  537.       elif cmd == "konbanwa":
  538.         jawab = ["tidur sana jangan ngalong :v"]
  539.         room.message(random.choice(jawab)+" @"+user.name)
  540.       elif cmd == "naruto":
  541.         jawab = ["adalah anime yang selalu flash back"]
  542.         room.message(random.choice(jawab)+" @"+user.name)
  543.       elif cmd == "bnp":
  544.         jawab = ["erorr forbidden access denied"]
  545.         room.message(random.choice(jawab)+" @"+user.name)
  546.         ##Random User
  547.         #What's this for ? this one cmd will make your boy say the name of a random user in a room
  548.       if cmd == "randomuser":
  549.         room.message(random.choice(room.usernames))
  550.  
  551.         ##Check Level
  552.         #This one cmd is tho make your bot say your mod level in the current room you're in
  553.       elif cmd == "mylvl":
  554.         room.message("Your mod level: %i" %(room.getLevel(user)))
  555.  
  556.         ##List Mods
  557.         #List of Mods and Owner name in the current room you're in
  558.       elif cmd == "mods":
  559.         room.message(", ".join(room.modnames + [room.ownername]))
  560.         #### Seen
  561.       elif cmd == "invitegroup" or cmd == "ig":
  562.         if len (args) > 0:
  563.          self.pm.message(ch.RoomManager(args),"%s You have group invite! check this Chatango Group http://%s.chatango.com ." %(room.ownername[0],room.name))
  564.          room.message("Youre invite %s now is in Accest Group. :)" % args)
  565.         else:
  566.           room.message("gak mau ah nginvite dia")
  567.         ##DANCE!!!!
  568.         #Dance ? Of Course !!! ^_^
  569.       elif cmd == "dance":
  570.         for i, msg in enumerate(dancemoves):
  571.           self.setTimeout(i / 2, room.message, msg)
  572.                #### Pm
  573.       elif cmd == "pm" or cmd == "Pm" or cmd == "PM" or cmd == "Private Message":
  574.         data = args.split(" ", 1)
  575.         if len(data) > 1:
  576.           name , args = data[0], data[1]
  577.           self.pm.message(ch.User(name), "[Private.Message] By - "+user.name+" : "+args+" ")
  578.           room.message("Has been sent to "+name+"")
  579.         #### Invite
  580.       elif cmd == "invite" or cmd == "Invite":
  581.         if len (args) > 0:
  582.             self.pm.message(ch.RoomManager(args),"%s You have a group invite by ! http://%s.chatango.com ." %(owners[0],room.name))
  583.             room.message("Invite on progress %s in Access group. :)" % args)
  584.         else:
  585.             room.message("Sry have problem. :3")
  586.         #### Profile
  587.       elif cmd == "prof" or cmd == "profile" or cmd == "Prof" or cmd == "Profile":
  588.         try:
  589.           args=args.lower()
  590.           stuff=str(urlreq.urlopen("http://"+args+".chatango.com").read().decode("utf-8"))
  591.           crap, age = stuff.split('<span class="profile_text"><strong>Age:</strong></span></td><td><span class="profile_text">', 1)
  592.           age, crap = age.split('<br /></span>', 1)
  593.           crap, gender = stuff.split('<span class="profile_text"><strong>Gender:</strong></span></td><td><span class="profile_text">', 1)
  594.           gender, crap = gender.split(' <br /></span>', 1)
  595.           if gender == 'M':
  596.               gender = 'Male'
  597.           elif gender == 'F':
  598.               gender = 'Female'
  599.           else:
  600.               gender = '?'
  601.           crap, location = stuff.split('<span class="profile_text"><strong>Location:</strong></span></td><td><span class="profile_text">', 1)
  602.           location, crap = location.split(' <br /></span>', 1)
  603.           crap,mini=stuff.split("<span class=\"profile_text\"><!-- google_ad_section_start -->",1)
  604.           mini,crap=mini.split("<!-- google_ad_section_end --></span>",1)
  605.           mini=mini.replace("<img","<!")
  606.           picture = '<a href="http://fp.chatango.com/profileimg/' + args[0] + '/' + args[1] + '/' + args + '/full.jpg" style="z-index:59" target="_blank">http://fp.chatango.com/profileimg/' + args[0] + '/' + args[1] + '/' + args + '/full.jpg</a>'
  607.           prodata = '<br/> <a href="http://chatango.com/fullpix?' + args + '" target="_blank">' + picture + '<br/><br/> Age: '+ age + ' <br/> Gender: ' + gender +  ' <br/> Location: ' +  location + '' '<br/> <a href="http://' + args + '.chatango.com" target="_blank"><u>Chat With User</u></a> ' "<br/><br/> "+ mini
  608.           room.message(prodata,True)
  609.         except:
  610.           room.message(""+args+" doesn't exist o.o ")
  611.         #
  612.         if cmd =="wordtoday" or cmd=="wt":
  613.             if user.name in owners:
  614.               if user.name in wordtodaytime:
  615.                 w = json.loads(wordtodaytime[user.name])
  616.                 if time.time() < w:
  617.                   w = int(w) - int(time.time())
  618.                   minute = 60
  619.                   hour = minute * 60
  620.                   day = hour * 24
  621.                   days =  int(w / day)
  622.                   hours = int((w % day) / hour)
  623.                   minutes = int((w % hour) / minute)
  624.                   seconds = int(w % minute)
  625.                   string = ""
  626.                   if days > 0:
  627.                     string += str(days) + " " + (days == 1 and "day" or "days" ) + ", "
  628.                   if len(string) > 0 or hours > 0:
  629.                     string += str(hours) + " " + (hours == 1 and "hour" or "hours" ) + ", "
  630.                   if len(string) > 0 or minutes > 0:
  631.                     string += str(minutes) + " " + (minutes == 1 and "minute" or "minutes" ) + ", "
  632.                   string += str(seconds) + " " + (seconds == 1 and "second" or "seconds" )
  633.                   room.message("You can use wordtoday after <font color='#9999FF'>%s</font>  (~^o^)~ "% string,True)
  634.                   return
  635.               if urank(user.name) >= 1:
  636.                 x=(random.choice(["sadness","happines","yaoi","yuri","horny","nice","bad","bastard","young","lazy","poor","rich","ugly","handshome","beautiful","good","gay","keep calm","arrogant","naughty","special","sweet","tits","areola","pupy","ass","sunny","dizzy","nude","old","lifeless","dying",'death',"impotent","cancer"]))
  637.                 room.message("Dear "+sntonick(user.name)+" Your word today is : <b><font color='#FF9966'>"+str(x)+"</font></b>",True)
  638.                 wordtodaytime[user.name] = json.dumps(time.time()+1200)
  639.  
  640.         ##Check if Mod
  641.         #not really important
  642.       elif cmd == "ismod":
  643.         user = ch.User(args)
  644.         if room.getLevel(user) > 0:
  645.           room.message("yesh")
  646.         else:
  647.           room.message("nope")
  648.     except Exception as e:
  649.       try:
  650.         et, ev, tb = sys.exc_info()
  651.         lineno = tb.tb_lineno
  652.         fn = tb.tb_frame.f_code.co_filename
  653.         room.message("[Expectation Failed] %s Line %i - %s"% (fn, lineno, str(e)))
  654.         return
  655.       except:
  656.         room.message("Undescribeable error detected !!")
  657.         return
  658.      
  659.  
  660.   ##Other Crap here, Dont worry about it
  661.  
  662.   def onFloodWarning(self, room):
  663.     room.reconnect()
  664.  
  665.   def onJoin(self, room, user):
  666.    print(user.name + " joined the chat!")
  667.    if user.name =="ericrhicky":
  668.     room.message("Mastah Eric now ON-LINE")
  669.  
  670.   def onLeave(self, room, user):
  671.    print(user.name + " left the chat!")
  672.    if user.name =="ericrhicky":
  673.     room.message("Mastah Eric now OFF-LINE")
  674.  
  675.   def onUserCountChange(self, room):
  676.     print("users: " + str(room.usercount))
  677.  
  678.   def onMessageDelete(self, room, user, msg):
  679.     print("MESSAGE DELETED: " + user.name + ": " + msg.body)
  680.    
  681. if __name__ == "__main__": TestBot.easy_start(rooms,"..","..")
  682.  
  683.  
  684.  
  685.     #The End!!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement