Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ch
- import random
- import sys
- import os
- import re
- import codecs
- import traceback
- import time
- import datetime
- import youtube
- import getWhois
- import urllib
- from getWhois import whois
- import binascii
- import json
- import cmds
- import imp
- import __future__
- ##############################################################
- ##############################################################
- ## Timer Stuff ###############################################
- startTime = time.time()
- ## End ###############################################
- ##############################################################
- ##############################################################
- ######## Mon Nov 18 2013 22:15:33 WIB ########
- ##############################################################
- owners = ['erste','yvj'] #Put your chatango name here
- botname = 'wogh'
- password = 'rahasia'
- #Element tree
- from xml.etree import cElementTree as ET
- #UrlLib
- if sys.version_info[0] > 2:
- import urllib.request as urlreq
- else:
- import urllib2 as urlreq
- ##############################################################
- ## Bot Uptime ################################################
- ##############################################################
- def getUptime():
- """
- Returns the number of seconds since the programs started.
- """
- #do return startTime if you want the process start time
- return time.time() - startTime
- ## End #######################################################
- ##############################################################
- ##############################################################
- ## File Stuff ################################################
- ## Check Mods
- cek_mods=dict()
- ##IP Whois
- ip_whois = dict()
- try:
- f = open("ip_whois.txt", "r")
- ip_whois = eval(f.read())
- f.close()
- except:pass
- ##SessionId Whois
- sid_whois = dict()
- try:
- f = open("sid_whois.txt", "r")
- sid_whois = eval(f.read())
- f.close()
- except:pass
- ##IPloc try
- user_ip = dict()
- try:
- f = open("userip.txt", "r")
- user_ip = eval(f.read())
- f.close()
- except:pass
- ## users font format preferences
- userfont=dict()
- try:
- f = open("userfonts.txt", "r")
- userfont = eval(f.read())
- f.close()
- except:pass
- ## Bombed ##
- bombed = dict()
- ## Purged ##
- purged = dict()
- ##History dict
- hist = dict()
- ##CORRA.MONEY
- corrabank=dict()
- f = open("corrabank.txt", "r") # read-only
- for line in f.readlines():
- try:
- if len(line.strip())>0:
- user,coin,gold= json.loads(line.strip())
- corrabank[user] = json.dumps([coin,gold])
- except:
- print("[ERROR]Cant load MONEY: %s" % line)
- f.close()
- ##CORRA.STATS
- stats=dict()
- f = open("stats.txt", "r") # read-only
- for line in f.readlines():
- try:
- if len(line.strip())>0:
- user,lvl,exp,up= json.loads(line.strip())
- stats[user] = json.dumps([lvl,exp,up])
- except:
- print("[ERROR]Cant load STATS: %s" % line)
- f.close()
- ##CORRA.INVENTORY
- inven = dict()
- try:
- f = open('inven.txt','r')
- inven = eval(f.read())
- f.close()
- except:print("Error")
- def saveInven():
- try:
- print("[SAVE] SAVING ALL Stuff...")
- f = open('inven.txt','w')
- f.write(str(inven))
- f.close()
- except:print("ERR")
- ##CORRA.USER
- playa = []
- f = open("playa.txt", "r") # read-only
- for name in f.readlines():
- if len(name.strip())>0: playa.append(name.strip())
- f.close()
- ## CCslot
- ccinven=dict()
- try:
- f = open("CCbomb/ccinven.txt", "r")
- ccinven = eval(f.read())
- f.close()
- except:pass
- defaultformat = {}
- spintime = {}
- ##deathlist
- dlist = []
- f = open("dlist.txt", "r")
- for name in f.readlines():
- if len(name.strip())>0: dlist.append(name.strip())
- f.close()
- specials = ['senops','sarashiki23','ampunganz','galaksi2','dovion','frizki','hide72','handikaecchihunter','padomo','sikakutokun']
- ## End #########################################################
- ################################################################
- ################################################################
- ## Important TestBot Class #####################################
- class cprogram(ch.RoomManager):
- ## Setting Font Format and Colors
- def onInit(self):
- #self.setNameColor("CC0000")
- #self.setFontColor("F77777") one
- #self.setFontColor("663300") Dark Brown
- #self.setNameColor("fff1ff") one
- #self.setNameColor("F44444") Light penk
- #self.setFontFace("typewriter")
- self.setFontFace("Arial Unicode MS")
- self.setFontSize(12)
- self.setFontColor("FF6600")
- self.setNameColor("990000")
- self.enableBg()
- self.enableRecording()
- if len(defaultformat) == 0:
- defaultformat.update({'selfy':{'face':'Arial Unicode MS','fcolor':'FF6600','size':12,'ncolor':'990000'}})
- ##############################################################
- ## Connecting and Disconnecting crap #########################
- def onReconnect(self, room):
- print("[+] Mad Hatter Reconnected to "+room.name)
- def onDisconnect(self, room):
- print("[+] Mad Hatter Disconnected from "+room.name)
- if len(self.roomnames) == 0:
- roomies = ["monosekai","remaire"]
- for i in roomies:
- self.joinRoom(i)
- def onJoin(self, room, user):
- #print("[+] "+user.name+" joined "+room.name)
- case = 1
- namu = user.name
- hist.update({namu:[case,time.time(), room.name, "hey"]})
- def onBan(self, room, user, target):
- print("someone got banned in "+room.name)
- ## End #######################################################
- ##############################################################
- ##############################################################
- ## Setting up Commands #######################################
- def onMessage(self, room, user, message):
- try:
- if user.name.startswith("#") or user.name.startswith("!"): return
- def urank(arg):
- if arg not in ranker: return 0
- if ranker[arg] == 1 and not arg in room.modnames and not arg in room.ownername: return 1
- if ranker[arg] == 1 and arg in room.modnames: return 2
- if ranker[arg] == 1 and arg in room.ownername: return 3
- if ranker[arg] == 4: return 4
- if ranker[arg] == 5: return 5
- if ranker[arg] == 6: return 6
- def rankname(arg):
- if arg not in ranker: return "Gay User"
- if ranker[arg] == 1 and not arg in room.modnames and not arg in room.ownername: return "Citizen"
- if ranker[arg] == 1 and arg in room.modnames: return "Room Moderator"
- if ranker[arg] == 1 and arg in room.ownername: return "Room Owner"
- if ranker[arg] == 4: return "Arch Knight"
- if ranker[arg] == 5: return "ADMIN"
- if ranker[arg] == 6: return "OWNER"
- def getCountry(args):
- country = os.popen("curl ipinfo.io/%s | grep 'country'"% user_ip[args]).readlines()
- for i in country:
- gruy = ['-']
- gruy.append(i)
- dang = gruy[1]
- grey = dang.split(' "country": ')
- grey = grey[1]
- gray = grey.split(',\n')
- gruk = gray[0]
- if gruk != 'null':
- gruk = gruk.split('"')
- gruk = gruk[1]
- else:
- gruk = 'Nowhere'
- return gruk
- def getRegion(args):
- region = os.popen("curl ipinfo.io/%s | grep 'region'"% user_ip[args]).readlines()
- for i in region:
- gruy = ['-']
- gruy.append(i)
- dang = gruy[1]
- grey = dang.split(' "region": ')
- grey = grey[1]
- gray = grey.split(',\n')
- gruk = gray[0]
- if gruk != 'null':
- gruk = gruk.split('"')
- gruk = gruk[1]
- else:
- gruk = 'Nowhere'
- return gruk
- def getCity(args):
- city = os.popen("curl ipinfo.io/%s | grep 'city'"% user_ip[args]).readlines()
- for i in city:
- gruy = ['-']
- gruy.append(i)
- dang = gruy[1]
- grey = dang.split(' "city": ')
- grey = grey[1]
- gray = grey.split(',\n')
- gruk = gray[0]
- if gruk != 'null':
- gruk = gruk.split('"')
- gruk = gruk[1]
- else:
- gruk = 'Nowhere'
- return gruk
- def reboot():
- output = ("rebooting server . . .")
- os.popen("sudo -S reboot")
- return output
- if len(purged) > 0:
- for i in purged:
- now = time.time()
- ptime = purged[i][1]
- rname = purged[i][0]
- purgetime = purged[i][2]
- summoner = purged[i][3]
- if time.time() >= ptime:
- room.message('A Purgatory Ghost flies into the room and says:<br/> <i>"Master %s, I have purged <b><font color="#ff0000">%s</font> %s</b> times, and the Purgatory is done. Now I shall go back to my realm."</i><br/>A Purgatory Ghost bows down to %s and slowly fades away from existence.'% (summoner,i,purgetime,summoner), True)
- purged.pop(i)
- return
- target = ''
- for i in purged:
- target = i
- try:
- room.delete(room.getLastMessage(ch.User(i)))
- except:
- pass
- purgetime = purged[target][2] + 1
- purged[target][2] = purgetime
- if len(bombed) > 0:
- if user.name in bombed:
- if room.name in bombed[user.name]:
- targ = ''
- for i in bombed:
- for r in bombed[i]:
- targ = i
- rname = bombed[i]
- try:
- room.delete(room.getLastMessage(ch.User(i)))
- except:
- return
- room.message("<b>(<font color='#FFFF00'>Glowing</font>)</b> <font color='#FFFFFF'><b>BOOM!!</b></font>", True)
- bombed[user.name].remove(room.name)
- if len(spintime) > 0:
- targ = ''
- for i in spintime:
- targ = i
- now = time.time()
- stime = spintime[targ]
- if now >= stime:
- spintime.pop(targ)
- if True:
- #f = open('CCbomb/ccinven.txt', "r")
- #ccinven = eval(f.read())
- #f.close
- for i in ccinven:
- money = ccinven[i][0]
- free = ccinven[i][2]['free']
- broke = ccinven[i][2]['broke']
- pocket = ccinven[i][1]
- if broke != '-':
- if money >= 50:
- ccinven[i][2]['broke'] = '-'
- return
- now = time.time()
- if now >= broke:
- ccinven[i][2]['broke'] = '-'
- ccinven[i][0] = 200
- if free != '-':
- now = time.time()
- if now >= free:
- ccinven[i][2]['free'] = '-'
- if money < 200:
- ccinven[i][0] = 200
- #f = open('CCbomb/ccinven.txt', "w")
- #f.write(str(ccinven))
- #f.close
- if room.getLevel(self.user) > 0:
- user_ip.update({user.name:message.ip})
- f = open('userip.txt', "w")
- f.write(str(user_ip))
- f.close
- if user.name not in ip_whois:
- ip_var = message.ip
- ip_whois.update({user.name:[ip_var]})
- if user.name in ip_whois:
- ip_var = message.ip
- if ip_var in ip_whois[user.name]:
- pass
- else:
- ip_whois[user.name].append(ip_var)
- f = open('ip_whois.txt', "w")
- f.write(str(ip_whois))
- f.close
- if user:
- unid = str(message.unid)
- if user.name not in sid_whois:
- sid_whois.update({user.name:[unid]})
- if user.name in sid_whois:
- if unid == "":
- return
- if unid in sid_whois[user.name]:
- pass
- else:
- sid_whois[user.name].append(unid)
- f = open('sid_whois.txt', "w")
- f.write(str(sid_whois))
- f.close
- if self.user == user: return #ignore self(bot)
- if user.name.startswith(";") or user.name.startswith("#"): return #ignore anons
- def userformat():
- ufont = userfont[user.name]
- face = ufont["face"]
- size = ufont["size"]
- fcolor = ufont["fcolor"]
- ncolor = ufont["ncolor"]
- self.setFontFace(face)
- self.setFontSize(size)
- self.setFontColor(fcolor)
- self.setNameColor(ncolor)
- def defaultfont():
- face = defaultformat['selfy']['face']
- fcolor = defaultformat['selfy']['fcolor']
- size = defaultformat['selfy']['size']
- ncolor = defaultformat['selfy']['ncolor']
- self.setFontFace(face)
- self.setFontSize(size)
- self.setFontColor(fcolor)
- self.setNameColor(ncolor)
- if user.name in userfont and userfont[user.name]["active"] == "on":
- userformat()
- if user.name in userfont and userfont[user.name]["active"] == "off":
- defaultfont()
- ##Record seen history
- namu = user.name
- case = 3
- hist.update({namu:[case,time.time(), room.name, message.body]})
- if user.name in dlist: return
- def roomUsers():
- usrs = []
- gay = []
- prop = 0
- prop = prop + len(room._userlist) - 1
- for i in room._userlist:
- i = str(i)
- usrs.append(i)
- while prop >= 0:
- j = usrs[prop].replace("<User: ", "")
- i = j.replace(">", "")
- gay.append(i)
- prop = prop - 1
- return gay
- def pars(args):
- args=args.lower()
- userlist = roomUsers()
- for name in userlist:
- if args in name:return name
- # SN Notif
- if "test" == message.body.lower() or "tes" == message.body.lower():
- room.message("Test request granted.")
- if "'wl" == message.body or "'wl me" == message.body or '/wl' == message.body or '/wl me' == message.body:
- if user.name not in ranker:
- ranker.update({user.name:1})
- room.message(user.name+" can use me now. ^^")
- if "'help" == message.body.lower() or "/help" == message.body.lower() :
- ver = "3.1.0"
- rank = 0
- moded = "no"
- if urank(user.name) == 0:
- rank = "0"
- if urank(user.name) == 2:
- rank = 2
- if urank(user.name) == 3:
- rank = 3
- if urank(user.name) == 4:
- rank = 4
- if urank(user.name) == 1:
- rank = 1
- if urank(user.name) == 5:
- rank = 5
- if urank(user.name) == 6:
- rank = 6
- if room.getLevel(user) > 0:
- moded = "yes"
- room.message("<font color='#FF8C00'><b>HatterBot</b></font>(<font color='#B8860B'><b>"+ver+"</b></font>) - Please help yourself - "+'<font color="#00BFFF"><b><u><a href="http://pastebin.com/raw.php?i=Y6H0cYV2" target="_blank">HELP</a></u></b></font>'+" - [<font color='#FF0000'><b>Rank "+str(rank)+"</b></font>] - Moded [<b>"+moded+"</b>]", True)
- if "i want anal" == message.body.lower() or "I WANT ANAL" == message.body.lower() or "I want anal" == message.body.lower():
- room.message("http://imgace.com/wp-content/uploads/2011/09/horny-harry-anal.jpg")
- if "wogh" == message.body.lower() or "mess" == message.body.lower() or "mes" == message.body.lower():
- if user.name == "yvj":
- room.message("yes mogeko ?")
- else:
- room.message("What's up "+sntonick(user.name)+" ?", True)
- if "hi" == message.body.lower():
- room.message("Hi~ ! :)")
- if message.body.lower().startswith("messh pls") or message.body.lower().startswith("messh please") or message.body.lower().startswith("mess please") or message.body.lower().startswith("mess pls"):
- room.message(random.choice(["<b>%s</b> >_>" % "Njet","No :|","Hell no !","Fuck no !","Fook off !!","No shit !","You need to STFU !! :|","sure :)"]), True)
- if "mati lampu" == message.body.lower():
- room.message('Tiba" lep !')
- if "<><" == message.body.lower():
- room.message("Pfft, that's a gay fish !")
- if message.body.lower().startswith("afk"):
- if user.name in "0rx":
- room.message("See you soon master ! ^.^")
- else:
- room.message("See you soon "+sntonick(user.name)+" ! ^o^", True)
- if " lapar" in message.body.lower() or message.body.lower().startswith("lapar") or message.body.lower().startswith("laper") or " laper" in message.body.lower() or " laper " in message.body.lower():
- room.message(random.choice(["*Lempar soyjoy ke <b>%s</b>*" % sntonick(user.name),"*Lempar Snickers ke <b>%s</b>*" % sntonick(user.name)]), True)
- if "neko" == message.body.lower() or "Neko" in message.body.lower():
- room.message("Meow..mew..mew =^o^=")
- if "oppai" == message.body.lower():
- room.message("*Boing - Boing*")
- if message.body.startswith("ngantuk") or " ngantuk" in message.body.lower():
- room.message("Tidur lah !! >_>")
- if "oha" == message.body.lower():
- room.message("Ohayou~ !")
- if "konbanwa" in message.body.lower():
- room.message("Konbanwa~! ^.^")
- if "malam" == message.body.lower():
- room.message(random.choice(["Selamat malam~ ! ^o^","Good evening !","Good Night Citizens !"]))
- if "oyasuminasai" == message.body.lower() or "oyasumi" in message.body.lower():
- room.message("Oyasumi~ ! ^^")
- if "sore" == message.body.lower():
- room.message("Selamat sore~ ! ^.^")
- if "arigato" == message.body.lower():
- room.message(random.choice(["Douitashimashite~ ! ^_^","You're wellcome ! ^^"]))
- if message.body.lower().startswith("ohayou") or message.body.lower().startswith("ohayo"):
- room.message("Ohayou~! ^_^")
- if "tadaima" == message.body.lower():
- room.message(random.choice(["Welcome home ! :)","Okaerinasai ! ^o^","Wokaerinasai !!!!"]))
- if "hello" == message.body.lower():
- room.message("Hello, my nigga !")
- if "fook" in message.body.lower():
- if not message.body.startswith("'"):
- room.message("yeah, " +message.body)
- if message.body[0] in [";","`"]: #prefix part in this line
- data = message.body[1:].split(" ", 1)
- if len(data) == 2:
- cmd, args = data[0], data[1]
- else:
- cmd, args = data[0], ""
- cmd = cmd.lower()
- if cmd == "whois" or cmd == "#who" or cmd == "w":
- if not args :
- room.message("FAIL!! do 'w<space>nick");return
- args = args.lower()
- if args[0] == "+":
- args = args[1:]
- elif pars(args) != None and not args[0] == "+":
- args = pars(args)
- try:
- f = open("ip_whois.txt", "r")
- ip_whois = eval(f.read())
- f.close()
- except:pass
- try:
- f = open("sid_whois.txt", "r")
- sid_whois = eval(f.read())
- f.close()
- except:pass
- ip_ver = whois(ip_whois, args)
- sid_ver = whois(sid_whois, args)
- if ip_ver == None and sid_ver == None:
- room.message("No alias found.")
- return
- room.message("Currently known alias(es) of %s:<br/><b>UnID Version</b>: %s.<br/><b>IP Version</b>: %s."% (args.title(), sid_ver, ip_ver), True)
- if cmd == "pm" and len(args) > 1:
- try:
- name, msg = args.split(" ", 1)
- if pars(name) == None:
- self.pm.message(ch.User(name.lower()), msg+" - from "+user.name)
- room.message('Sent to <font size="15"><font color="#FF9966"><b>%s</b></font></font>' % name, True)
- else:
- name = pars(name)
- self.pm.message(ch.User(name.lower()), msg+" - from "+user.name)
- room.message('Sent to <font size="15"><font color="#FF9966"><b>%s</b></font></font>' % name, True)
- except:
- room.message("Fail !!!")
- else:
- room.message("Dammit >_>")
- elif cmd == "iploc":
- try:
- if args == "":
- room.message("To see info about chatango user's location based on IP address.<br/>Do 'iploc [option] [username]<br/>Options -> [1]country, [2]region, [3]city", True)
- return
- terms, name = args.split(" ", 1)
- if terms == "1": terms = "country"
- if terms == "2": terms = "region"
- if terms == "3": terms = "city"
- if pars(name) == None:
- name = name.lower()
- if pars(name) != None:
- name = pars(name)
- if name not in user_ip:
- room.message(name.title()+"'s "+terms+" location is Unknown.")
- return
- if terms == "city":
- room.message("%s's city location is %s"% (name.title(), getCity(name)), True)
- if terms == "region":
- room.message("%s's region location is %s"% (name.title(), getRegion(name)), True)
- if terms == "country":
- room.message("%s's country location is %s"% (name.title(), getCountry(name)), True)
- except:
- room.message("user IPLoc-Lookup failed.")
- elif cmd == "myformat" or cmd == "mf":
- args = args.lower()
- gol, res = args.split(" ", 1)
- if gol == "face":
- userfont[user.name]["face"] = res
- room.message("Your prefered font face is set to "+res.title()+".")
- if gol == "size":
- try:
- res = int(res)
- if res > 15:
- res = 15
- userfont[user.name]["size"] = res
- room.message("Your prefered font size is set to "+str(res)+".")
- except:
- room.message("Type a propper number under 15.")
- if gol == "fcolor":
- userfont[user.name]["fcolor"] = str(res)
- cols = []
- cols.append("<font color='#"+res+"'>")
- for col in cols:
- room.message("Your prefered font color is set to "+col+"this color</font>", True)
- if gol == "ncolor":
- userfont[user.name]["ncolor"] = str(res)
- cols = []
- cols.append("<font color='#"+res+"'>")
- for col in cols:
- room.message("Your prefered name color is set to "+col+"<b>this color</b></font>", True)
- elif cmd == "fontget" or cmd == "fg":
- if args == "off":
- if userfont[user.name]["active"] == "off":
- room.message("It is already inactive.")
- return
- userfont[user.name]["active"] = "off"
- room.message("Your font preference is set to off.")
- if args == "on":
- if userfont[user.name]["active"] == "on":
- room.message("It is already active.")
- return
- userfont[user.name]["active"] = "on"
- room.message("Your font preference is set to on.")
- if not args:
- return
- if args != "off" and args != "on" and args != "":
- targ = args
- if pars(targ) == None:
- targ = targ.lower()
- else:
- targ = pars(targ)
- fontface = ch.User(targ).getFontFace()
- fontcolor = ch.User(targ).getFontColor()
- fontsize = ch.User(targ).getFontSize()
- namecolor = ch.User(targ).getNameColor()
- if fontsize > 15: fontsize = 15
- userfont[user.name]["face"] = fontface
- userfont[user.name]["size"] = fontsize
- userfont[user.name]["fcolor"] = fontcolor
- userfont[user.name]["ncolor"] = namecolor
- userfont[user.name]["active"] = "on"
- room.message("Done.")
- ## Bot uptime
- elif cmd == "sut":
- minute = 60
- hour = minute * 60
- day = hour * 24
- days = int(getUptime() / day)
- hours = int((getUptime() % day) / hour)
- minutes = int((getUptime() % hour) / minute)
- seconds = int(getUptime() % minute)
- string = ""
- if days > 0:
- string += str(days) + " " + (days == 1 and "day" or "days" ) + ", "
- if len(string) > 0 or hours > 0:
- string += str(hours) + " " + (hours == 1 and "hour" or "hours" ) + ", "
- if len(string) > 0 or minutes > 0:
- string += str(minutes) + " " + (minutes == 1 and "minute" or "minutes" ) + ", "
- string += str(seconds) + " " + (seconds == 1 and "second" or "seconds" )
- room.message("Mogeko castle session has been running for: %s" % string, True)
- elif cmd == "imitate":
- if urank(user.name) > 4:
- if args and not args == "#self":
- if pars(args) == None:
- args = args.lower()
- else:
- args = pars(args)
- fontface = ch.User(args).getFontFace()
- fontcolor = ch.User(args).getFontColor()
- fontsize = ch.User(args).getFontSize()
- namecolor = ch.User(args).getNameColor()
- self.setFontColor(fontcolor)
- self.setNameColor(namecolor)
- self.setFontFace(fontface)
- self.setFontSize(fontsize)
- defaultformat.update({'selfy':{'face':fontface,'fcolor':fontcolor,'size':fontsize,'ncolor':namecolor}})
- room.message("INSTA SWITCH!!!")
- if args == "#self":
- self.setFontColor("FFFFFF")
- self.setNameColor("FFFF")
- self.setFontFace("arial")
- self.setFontSize(11)
- room.message("INSTA DEFAULT!!!")
- defaultformat.update({'selfy':{'face':'Arial Unicode MS','fcolor':'FF6600','size':12,'ncolor':'990000'}})
- if not args:
- fontface = ch.User(user.name).getFontFace()
- fontcolor = ch.User(user.name).getFontColor()
- fontsize = ch.User(user.name).getFontSize()
- namecolor = ch.User(user.name).getNameColor()
- self.setFontColor(fontcolor)
- self.setNameColor(namecolor)
- self.setFontFace(fontface)
- self.setFontSize(fontsize)
- defaultformat.update({'selfy':{'face':fontface,'fcolor':fontcolor,'size':fontsize,'ncolor':namecolor}})
- room.message("INSTA SWITCH!!!")
- if (cmd == "ev" or cmd == "eval" or cmd == "e"):
- ret = eval(args)
- if ret == None:
- room.message("Suck it up !")
- return
- room.message(str(ret))
- except Exception as e:
- try:
- et, ev, tb = sys.exc_info()
- lineno = tb.tb_lineno
- fn = tb.tb_frame.f_code.co_filename
- room.message("[Expectation Failed] %s Line %i - %s"% (fn, lineno, str(e)))
- return
- except:
- room.message("Undescribeable error detected !!")
- return
- ## End #######################################################
- ##############################################################
- ##############################################################
- #### Secrets #################################################
- #extra crap
- def onUserCountChange(self, room):
- pass
- def onLeave(self, room, user):
- #print("[+] "+user.name+" left "+room.name)
- namu = user.name
- case = 2
- hist.update({namu:[case, time.time(), room.name, "hoy"]})
- def onFloodWarning(self, room):
- #room.reconnect()
- room.setSilent(True)
- self.setTimeout(15, room.setSilent, False)
- def onFloodBan(self, room):
- #room.reconnect()
- room.setSilent(True)
- self.setTimeout(15, room.setSilent, False)
- print("[+] Reconnecting...")
- def onFloodBanRepeat(self, room):
- #room.reconnect()
- room.setSilent(True)
- self.setTimeout(15, room.setSilent, False)
- def onMessageDelete(self, room, user, msg):
- pass
- #print("MESSAGE DELETED: " + room.name + " - " + user.name + ": " + msg.body)
- def onPMMessage(self, pm, user, body):
- pminput = "PM - "+user.name+": "+body
- pm.message(user, "...")
- if "remaire" in self.rooms:
- self.setTimeout(int(6), self.getRoom("obsoletedream").message, "Incoming PM From ["+user.name+"] - "+body)
- if "dai-tenshi" in self.rooms:
- self.setTimeout(int(6), self.getRoom("dermaga").message, "Incoming PM From ["+user.name+"] - "+body)
- #pmlog.append("[%s]\033[LVL %s]\033 %s: %s" % (time.strftime("%d/%m/%y- %H:%M:%S", time.localtime(time.time())), self.getAccess(user), user.name.capitalize(), body))
- def hexc(e):
- et, ev, tb = sys.exc_info()
- if not tb: print(str(e))
- while tb:
- lineno = tb.tb_lineno
- fn = tb.tb_frame.f_code.co_filename
- tb = tb.tb_next
- print("(%s:%i) %s" % (fn, lineno, str(e)))
- if __name__ == "__main__":
- error = 0
- try:
- os.system("clear") #clear console on launch
- rooms=["projectpak"]
- cprogram.easy_start(rooms, "cprogram", "03123634708")
- except KeyboardInterrupt:
- print("[ERR] Console initiated a kill.")
- except Exception as e:
- print("[ERR] FATAL ERROR!")
- error = 1
- hexc(e)
- ## Error Detected
- if error == 1:
- print("Waiting 10 seconds for you to read the error..")
- time.sleep(10)
- print("[INFO] Shutting down..")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement