Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #imports
- import ch
- import random
- import sys
- import os
- import cgi
- import traceback
- import time
- import urllib
- import datetime
- import binascii
- import json
- import re
- import requests
- from threading import Timer
- from threading import Thread
- from xml.etree import cElementTree as ET
- ##YouTube Imports
- #end imports
- ##Python Version Info and urllib
- if sys.version_info[0] > 2:
- import urllib.request as urlreq
- else:
- import urllib2 as urlreq
- #######################
- ##Variables
- #######################
- awake = True
- sleep = False
- username = "username"
- password = "password"
- prefix = "="
- API_KEY = "AIzaSyBd2bbayXdgpErV86nGZ8KBXVxD5UzORtY"
- #######################
- ##Loading Files
- #######################
- #NICKNAMES#
- nicks = dict()
- f = open("nicks.txt","r")
- print("[INFO] Loading Nicks...")
- time.sleep(1)
- for line in f.readlines():
- try:
- if len(line.strip())>0:
- user, nick = json.loads(line.strip())
- nicks[user] = json.dumps(nick)
- except:
- print("[ERROR] Can't load nick %s" % line)
- f.close()
- #DEFINITIONS#
- ##dictionary = dict() #volatile... of course...
- ##f = open("definitions.txt", "r") # read-only
- ##print("[INFO] Loading Definitions...")
- ##time.sleep(1)
- ##for line in f.readlines():
- ## try:
- ## if len(line.strip())> 0:
- ## word, definition, name = json.loads(line.strip())
- ## dictionary[word] = json.dumps([definition, name])
- ## except:
- ## print("[ERROR] Cant load definition: %s" % line)
- ##f.close()
- ##
- ##time.sleep(1)
- #BLACKLIST#
- blacklist = []
- f = open("blacklist.txt", "r") # read-only
- print("[INFO] Loading Blacklist...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: blacklist.append(name.strip())
- f.close()
- # END #
- #MASTERS#
- masters = []
- f = open("masters.txt", "r") # read-only
- print("[INFO] Loading Masters...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: masters.append(name.strip())
- f.close()
- # END #
- #GODS#
- gods = []
- f = open("gods.txt", "r") # read-only
- print("[INFO] Loading Gods...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: gods.append(name.strip())
- f.close()
- # END #
- #ADMINS#
- admins = []
- f = open("admins.txt", "r") # read-only
- print("[INFO] Loading Admins...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: admins.append(name.strip())
- f.close()
- # END #
- #MODERATORS#
- moderators = []
- f = open("moderators.txt", "r") # read-only
- print("[INFO] Loading Moderators...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: moderators.append(name.strip())
- f.close()
- #END #
- #MEMBERS - WHITELISTED#
- members = []
- f = open("members.txt", "r") # read-only
- print("[INFO] Loading Members...")
- time.sleep(1)
- for name in f.readlines():
- if len(name.strip())>0: members.append(name.strip())
- f.close()
- #END #
- #ROOMS#
- rooms = []
- f = open("rooms.txt", "r")
- print("[INFO] Loading Rooms....")
- for name in f.readlines():
- if len(name.strip())>0: rooms.append(name.strip())
- f.close()
- ##If no nick is present use username
- def sntonick(username):
- user = username.lower()
- if user in nicks:
- nick = json.loads(nicks[user])
- return nick.title()
- else:
- return user.capitalize()
- ###########################################################
- ##Startup
- class bot(ch.RoomManager):
- def onInit(self):
- self.setNameColor("000000")
- self.setFontColor("000000")
- self.setFontFace("Corbel")
- self.setFontSize(11)
- self.enableBg()
- self.enableRecording()
- def onConnect(self, room):
- self.setNameColor("000000")
- self.setFontColor("000000")
- self.setFontFace("Corbel")
- self.setFontSize(9)
- self.enableBg()
- self.enableRecording()
- print("[INFO] Connected to "+room.name)
- def onReconnect(self, room):
- self.setNameColor("000000")
- self.setFontColor("000000")
- self.setFontFace("Corbel")
- self.setFontSize(9)
- self.enableBg()
- self.enableRecording()
- print("[INFO] Reconnected to : "+room.name)
- room.message("Reconnected")
- def onDisconnect(self, room):
- self.setNameColor("000000")
- self.setFontColor("000000")
- self.setFontFace("Corbel")
- self.setFontSize(9)
- self.enableBg()
- self.enableRecording()
- print("[INFO] Disconnected from : "+room.name)
- def onFloodWarning(self, room):
- print("[INFO] FloodWarning in : "+room.name)
- room.reconnect()
- def onBan(self, room, user, target):
- room.message(target.name.title()+" was voted off the island by "+user.name.title())
- print("[INFO] "+target.name.title()+" was voted off the island by "+user.name.title()+" in "+room.name.title())
- def onUnban(self, room, user, target):
- room.message(target.name.title()+" has been unbanned by "+user.name.title())
- print("[INFO] "+target.name.title()+" was banned by "+user.name.title()+" in "+room.name.title())
- def onPMMessage(self, pm, user, body):
- self.setFontFace("Corbel")
- self.setFontSize(12)
- self.pm.message(ch.User("Bewb"), "PM From : "+user.name.title()+" : "+body)
- self.setFontFace("Corbel")
- self.setFontSize(9)
- def getAccess(self, user):
- if user.name in masters: return 5
- if user.name in gods: return 4
- if user.name in admins: return 3
- if user.name in moderators: return 2
- if user.name in members: return 1
- if user.name in blacklist: return 0
- else: return 0
- def onMessage(self, room, user, message):
- global awake
- global sleep
- msgdata = message.body.split(" ",1)
- if len(msgdata) > 1:
- cmd, args = msgdata[0], msgdata[1]
- else:
- cmd, args = msgdata[0],""
- cmd=cmd.lower()
- if len(cmd) >0:
- if cmd[0]==prefix:
- used_prefix = True
- cmd = cmd[1:]
- else:
- used_prefix = False
- else:
- return
- ##########################################################
- ##Chatlogs
- #Write Chat to text file
- if not used_prefix:
- f = open("chatlogs.txt","a")
- f.write(("[TEXT/MESSAGE]")+(" [")+room.name+("]")+" "+user.name+(" : ")+message.body+(" : ")+message.ip+"\n")
- f.close()
- #Write Commands to text file
- if used_prefix:
- f = open("chatlogs.txt","a")
- f.write(("[COMMAND]")+(" [")+room.name+("]")+" "+user.name+(" : ")+cmd+(" : ")+message.ip+"\n")
- f.close()
- #Write IPs to text file
- ## if not used_prefix:
- ## f = open("iplist.txt","a")
- ## f.write(user.name+" : "+message.ip+"\n")
- ## f.close()
- ##########################################################
- ##Detection
- #Detect Message
- if not used_prefix:
- print(("[TEXT/MESSAGE]"), ("[")+room.name+("]"), user.name, (":"), message.body, (":"), message.ip)
- #Detect Blacklist
- if used_prefix and user.name in blacklist:
- return
- #Detect Command
- if used_prefix:
- print(("[COMMAND]"), ("[")+room.name+("]"), user.name, (":"), cmd, (":"), args, (":"), message.ip)
- ###########################################################
- ##Commands
- #Say Command
- if used_prefix and cmd=="say" and self.getAccess(user) >=1:
- if args:
- room.message(args)
- else:
- room.message("F o h filthy sand nigger, actually say something.")
- #Clear Chatlogs
- if used_prefix and cmd=="clear" and self.getAccess(user) >=5:
- if len(args)>0:
- if args=="logs":
- file = open("chatlogs.txt","w")
- f.write("")
- f.close()
- print("[INFO] Cleared Chatlogs.txt")
- room.message("Cleared the chatlogs, senpai")
- else:
- room.message("That is not a valid argument for this command.")
- return
- #Announcement Command
- elif used_prefix and cmd=="anc" and self.getAccess(user) >=3:
- if args:
- return
- else:
- return
- #Google
- elif used_prefix and cmd=="google" and self.getAccess(user) >=1:
- if args:
- room.message("Next time don't be lazy: www.lmgtfy.com/?q="+args)
- else:
- room.message("If you're not gonna say anything, do it yourself.")
- #Image Upload
- elif used_prefix and cmd=="img" and self.getAccess(user) >=1:
- if not args:
- room.message("Put it here faggot: http://pyon.be/")
- else:
- room.message("This command does not require arguments.")
- #Ranks List
- elif used_prefix and cmd=="ranks" and self.getAccess(user) >=1:
- if not args:
- room.message("The current ranks are: 1. Member, 2. Moderator, 3. Admin, 4 God.")
- else:
- room.message("This command does not require arguments.")
- #Nickname
- elif used_prefix and cmd=="nick" and self.getAccess(user) >=1:
- if args:
- nick = args.lower()
- user=user.name.lower()
- nicks[user]=json.dumps(nick)
- room.message(str.capitalize(user)+" I'd rather call you scum, but I'll call you : "+str.capitalize(nick))
- print("[INFO] Saving Nicknames......")
- f = open("nicks.txt","w")
- for user in nicks:
- nick = json.loads(nicks[user])
- f.write(json.dumps([user,nick])+"\n")
- f.close()
- else:
- room.message("You need to type =nick [nickname]")
- #Youtube Search
- elif used_prefix and cmd=="yt" and self.getAccess(user) >=1 and len(args)>0:
- try:
- string=args.lower()
- def search(string):
- apikey = API_KEY
- api = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&order=relevance&q=%s&safeSearch=none&key=%s" % (string, apikey)).json()
- id = api['items'][0]['id']['videoId']
- link = "https://www.youtube.com/watch?v=%s" % id
- title = api['items'][0]['snippet']['title']
- auth = api['items'][0]['snippet']['channelTitle']
- try:
- return title + " by " + auth + " " + link
- except:
- return "fucked your shit up"
- room.message(search(string))
- except:
- room.message("You dun fucked up kid")
- print(traceback.format_exc())
- #Urban Dictionary
- elif used_prefix and cmd=="ud" and args != "" and self.getAccess(user) >=1:
- if args:
- url = urlreq.urlopen("http://www.urbandictionary.com/define.php?term="+args).read().decode()
- stuff = url.split("<div class='meaning'>")[1]
- stuff2 = stuff.split("</div>")[0]
- stuff2 = stuff2.replace("\n", "")
- room.message(args+ ": "+stuff2)
- else:
- room.message("You need to type =ud [search]")
- #PM
- elif used_prefix and cmd=="pm" and self.getAccess(user) >=2:
- if len(args)>0:
- a,b = args.split(" ", 1)
- try:
- self.setFontFace("Corbel")
- self.setFontSize(12)
- self.pm.message(ch.User(a.lower()), "From : "+user.name.title()+" : "+b)
- self.setFontFace("Corbel")
- self.setFontSize(9)
- room.message("Message Sent to: "+a.title())
- print("[INFO] Message To : "+a.title()+" : From : "+user.name.title()+" : "+b)
- except:
- room.message("Message was unable to send.")
- return
- else:
- room.message("You need to type =pm [username, message]")
- #Room Message
- elif used_prefix and cmd=="rm" and self.getAccess(user) >=4:
- if len(args)>0:
- a,b = args.split(" ", 1)
- try:
- self.getRoom(a).message(b)
- room.message("Message sent to room: "+a.title())
- print("[INFO] Message To : "+a.title()+" : From : "+user.name.title()+" : "+b)
- except:
- room.message("Couldn't send message.")
- return
- else:
- room.message("You need to type =rm [roomname, message]")
- #Define
- ##To be coded
- #COMMANDS
- elif used_prefix and cmd=="cmds" and self.getAccess(user)>=1:
- if not args:
- room.message("Use commands with [=] dumbass.")
- room.message("Commands: say , hi, help, rules , nick, ud, boom, ping, prof, coin, donate, yt, cookie, lvl, rabbit, google, ranks")
- elif args and args=="mod":
- room.message("Moderator Commands: userlist, pm")
- elif args and args=="admin":
- room.message("Admin Commands: ban, unban, del, poof, dc, rc")
- #Help
- elif used_prefix and cmd=="help":
- if args and args == "say":
- room.message("type =say and then arguments (what you want me to say)")
- elif args and args =="hi":
- room.message("type =hi to get my attention, I'm busy")
- elif args and args =="mods":
- room.message("type =mods room to get the mods")
- elif args and args=="rules":
- room.message("type =rules to know wtf you're doing")
- elif args and args=="nick":
- room.message("type =nick then what I should call you")
- elif args and args=="ud":
- room.message("type -ud to search the urban dictionary")
- elif args and args=="boom":
- room.message("type =boom to kill someone, throw it or not, I don't care")
- elif args and args=="ping":
- room.message("type =ping and the name of the other useless body you want to notice you")
- elif args and args=="prof":
- room.message("type =prof and then someone's name to see their pic")
- elif args and args=="coin":
- room.message("type =coin to flip a coin ")
- elif args and args=="donate":
- room.message("type =donate to give me money")
- elif args and args=="yt":
- room.message("type =yt to find your video")
- elif args and args=="cookie":
- room.message("type =cookie to give me substance")
- elif args and args=="rabbit":
- room.message("type =rabbit then the rabb.it username you want")
- elif args and args=="lvl":
- room.message("type =lvl to check your rank in my system or type -lvl and then a username to check someone elses")
- elif args and args=="pm":
- room.message("type =pm then a username, followed by a message to send someone a private message.")
- elif args and args=="google":
- room.message("type =google and then what you want to search")
- elif not args:
- room.message("type =help to learn how to use commands")
- else:
- room.message("That is not a valid argument for this command.")
- return
- #Hello
- elif used_prefix and cmd=="hi" and self.getAccess(user) >=1:
- if not args:
- room.message("Sup fag, I mean "+str.capitalize(sntonick(user.name))+".")
- else:
- room.message("This command does not require arguments.")
- #Mod List
- elif used_prefix and cmd=="mods" and self.getAccess(user) >=2:
- if args and args=="room":
- room.message("OWNER :"+str(room.owner))
- room.message("MODS : "+str(room.mods))
- elif args and args=="bot":
- f = open("moderators.txt","r")
- for name in f.readlines():
- room.message(name)
- f.close()
- else:
- room.message("That is not a valid argument for this command.")
- #Check staff level within room
- elif used_prefix and cmd=="stafflvl" and self.getAccess(user) >=1:
- if not args:
- room.message("Staff Level: %i" %(room.getLevel(user)))
- else:
- room.message("This command does not require arguments.")
- #Add Room Mod
- elif used_prefix and cmd=="addmod" and self.getAccess(ch.User(name)) >=2:
- room.addMod(ch.User(args.lower()))
- print("[INFO] Adding Room Moderator: "+args.title())
- room.message("Adding Room Moderator: "+args.title())
- #Delete Room Mod
- elif used_prefix and cmd=="removemod" and self.getAccess(ch.User(name)) >=2:
- room.removeMod(ch.User(args.lower()))
- print("[INFO] Removed Room Moderator: "+args.title())
- room.message("Deleting Room Moderator: "+args.title())
- #Ban
- elif used_prefix and cmd=="ban" and self.getAccess(user) >=3:
- if args:
- room.ban(ch.User(args.lower()))
- else:
- room.message("You need to type =ban [username]")
- #Unban
- elif used_prefix and cmd=="unban" and self.getAccess(user) >=3:
- if args:
- room.unban(ch.User(args.lower()))
- else:
- room.message("You need to type =unban [username]")
- #Delete User
- elif used_prefix and cmd=="del" and self.getAccess(user)>=3:
- if args:
- room.clearUser(ch.User(args.lower()))
- print("[INFO] Deleted user: "+args.title())
- room.message("Deleted user: "+args.title())
- else:
- room.message("You need to type =del [username]")
- #Clear Chat
- elif used_prefix and cmd=="poof" and self.getAccess(user) >=3:
- if not args:
- room.message("Clearing chat")
- room.clearall()
- else:
- room.message("This command does not require arguments.")
- #Ping
- elif used_prefix and cmd=="ping" and self.getAccess(user) >=1:
- if args:
- room.message("@"+args)
- else:
- room.message("You need to type =ping [username]")
- #All Users Online
- elif used_prefix and cmd=="userlist" and self.getAccess(user) >=2:
- if not args:
- room.message("Users Online: "+str(room.userlist))
- else:
- room.message("This command does not require arguments.")
- #Reconnect
- elif used_prefix and cmd=="rc" and self.getAccess(user) >=3:
- if not args:
- room.reconnect()
- else:
- room.message("This command does not require arguments.")
- #Disconnect
- elif used_prefix and cmd=="dc" and self.getAccess(user) >=3:
- if not args:
- room.message("Leaving Room "+room.name)
- room.disconnect()
- else:
- room.message("This command does not require arguments.")
- #Rules
- elif used_prefix and cmd=="rules" and self.getAccess(user) >=1:
- if not args:
- room.message("Rule Number One: You must obey the hosts every command, Rule Number Two: Refer to rule 1")
- else:
- room.message("This command does not require arguments.")
- #Paypal donation link
- elif used_prefix and cmd=="donate":
- if not args:
- room.message("If you want to support us and give us the opportunity to run ourselves 24/7, you can donate here: www.paypal.me/xaelitry")
- else:
- room.message("This command does not require arguments.")
- #Profile
- elif used_prefix and cmd=="prof" and args !="" and self.getAccess(user) >=1:
- if args:
- room.message("www.barrykun.com/pic/"+args+".jpg")
- if not args:
- room.message("www.barrykun.com/pic/"+user.name+".jpg")
- else:
- room.message("You need to type =prof [username] or just -prof to get your own")
- #Grenade
- elif used_prefix and cmd=="boom" and self.getAccess(user) >=1:
- if args:
- room.message(random.choice(["Hands "+args.title()+" a grenade -waits 10 seconds- *BOOM* "+args.title()+" is KEELED xD", "Takes a shot at "+args.title()+" with a remmington 2200, you ded", "-Fires a RPG at "+args.title()+"- Kaboom! "+args.title()+" is dead [WASTED]"]))
- else:
- room.message("You didn't throw it! [WASTED]")
- #Rabb.it
- elif used_prefix and cmd=="rabbit" and self.getAccess(user) >=1:
- if args:
- room.message("Come hang out in www.rabb.it/"+args)
- else:
- room.message("You need to type -rabbit [rabb.it username]")
- #Cookie
- elif used_prefix and cmd=="cookie" and self.getAccess(user) >=1:
- if not args:
- room.message(random.choice(["yesh" , "sure ^^" , "no ty =/" , "O_O gimme" , "cookie...YESH" , "^.^" , "COOKIE" , "-noms cookie- arigatou"]))
- else:
- room.message("This command does not require arguments.")
- #Kawaii on the streets Senpai in the sheets
- elif used_prefix and cmd=="senpai" and self.getAccess(user) >=4:
- if not args:
- room.message("https://cdn.shopify.com/s/files/1/0215/5308/products/kawaii_on_streets_1024x1024.jpg?v=1417209482")
- else:
- room.message("This command does not require arguments.")
- #evaluation
- elif used_prefix and cmd == "eval" and self.getAccess(user) >=5:
- if args:
- try:
- ret = eval(args)
- room.message(str(repr(ret)))
- except:
- room.message("Error >_>" + str(sys.exc_info()))
- else:
- room.message("This command requires arguments.")
- #Coin Flip
- elif used_prefix and cmd=="coin" and self.getAccess(user) >=1:
- if not args:
- room.message(random.choice(["%s flips a coin and gets heads" % user.name.title(), "%s flips a coin and gets tails" % user.name.title(), "%s flips a coin and it falls off the table o.O" % user.name.title()]))
- else:
- room.message("This command does not require arguments.")
- ###########################################################
- ##Console
- ## talk = input("Message: ")
- ##
- ## ##Console Chat Function
- ## if talk:
- ## room.message(talk)
- ###########################################################
- ##Room Leaving/Joining
- ##Join Room
- elif used_prefix and cmd=="join" and self.getAccess(user)>=3:
- if len(args)>0:
- room.message("Joining Room: "+args.title())
- rooms.append(args.lower())
- self.joinRoom(args.lower())
- f = open("rooms.txt", "w")
- f.write("\n".join(rooms))
- f.close()
- ##Leave Room
- elif used_prefix and cmd=="leave" and self.getAccess(user)>=3:
- if len(args)>0:
- self.leaveRoom(args.lower())
- room.message("Leaving Room: "+args.title())
- rooms.remove(args.lower())
- f = open("rooms.txt", "w")
- f.write("\n".join(rooms))
- f.close()
- else:
- room.message("Leaving Room: "+room.name.title())
- self.setTimeout(1, self.leaveRoom, room.name)
- rooms.remove(room.name.lower())
- f = open("rooms.txt", "w")
- f.write("\n".join(rooms))
- f.close()
- ###########################################################
- ##Rank Commands
- #Whitelist
- elif used_prefix and cmd == "wl":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 2 or user.name in blacklist:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 1:
- if name in members:
- room.message("%s is already whitelisted. ^.^" % name.title(), True)
- else:
- members.append(name)
- room.message("%s is now Whitelisted(Level 1) now fuck off." % name.title(), True)
- print("[INFO] Saving Members......")
- f = open("members.txt", "w")
- f.write("\n".join(members))
- f.close()
- else:
- room.message("I couldn't whitelist that person, k bye")
- elif do == "remove":
- if self.getAccess(user) <= 1:
- room.message("no. :|")
- return
- if name not in members: room.message("%s is not whitelisted =/" % name.title(), True)
- else:
- members.remove(name)
- room.message("It has been done.", True)
- print("[INFO] Saving Members......")
- f = open("members.txt", "w")
- f.write("\n".join(members))
- f.close()
- else:
- room.message("what? >.>", True)
- else:
- if len(members) == 0: room.message("I have no whitelisted members.", True)
- elif len(members) == 1: room.message("I have 1 whitelisted member.", True)
- else: room.message("I have %s whitelisted members." % len(members), True)
- #Moderator
- elif used_prefix and cmd == "mod":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 3 or user.name in blacklist:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 3:
- if name in moderators:
- room.message("%s is already modded" % name.title(), True)
- else:
- moderators.append(name)
- room.message("%s is now a Moderator (Level 2) now fuck off." % name.title(), True)
- print("[INFO] Saving Moderators......")
- f = open("moderators.txt", "w")
- f.write("\n".join(moderators))
- f.close()
- else:
- room.message("I couldn't mod that person, k bye")
- elif do == "remove":
- if self.getAccess(user) < 3:
- room.message("no. :|")
- return
- if name not in moderators: room.message("%s is not modded." % name.title(), True)
- else:
- moderators.remove(name)
- room.message("It has been done. =/", True)
- print("[INFO] Saving Moderators......")
- f = open("moderators.txt", "w")
- f.write("\n".join(moderators))
- f.close()
- else:
- room.message("what? >.>", True)
- #Admin
- elif used_prefix and cmd == "admin":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 4 or user.name in blacklist:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 4:
- if name in admins:
- room.message("%s is already Admin." % name.title(), True)
- else:
- admins.append(name)
- room.message("%s is now an Admin (Level 3) now fuck off." % name.title(), True)
- print("[INFO] Saving Admins......")
- f = open("admins.txt", "w")
- f.write("\n".join(admins))
- f.close()
- else:
- room.message("I couldn't admin that person, k bye")
- elif do == "remove":
- if self.getAccess(user) < 4:
- room.message("You don't have access to that.")
- return
- if name not in admins: room.message("%s is not admin." % name.title(), True)
- else:
- admins.remove(name)
- room.message("It has been done. =/", True)
- print("[INFO] Saving Admins......")
- f = open("admins.txt", "w")
- f.write("\n".join(admins))
- f.close()
- else:
- room.message("what? >.>", True)
- #God
- elif used_prefix and cmd == "god":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 4 or user.name in blacklist:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 4:
- if name in gods:
- room.message("%s is already a God. ^~^" % name.title(), True)
- else:
- gods.append(name)
- room.message("%s is now a God (Level 4) now fuck off" % name.title(), True)
- print("[INFO] Saving Gods......")
- f = open("gods.txt", "w")
- f.write("\n".join(gods))
- f.close()
- else:
- room.message("You could not be ascended into the heavens, gomenasai senpai v~v")
- elif do == "remove":
- if self.getAccess(user) < 4:
- room.message("You don't have access to that.")
- return
- if name not in gods: room.message("%s is not a god." % name.title(), True)
- else:
- gods.remove(name)
- room.message("It has been done. =/", True)
- print("[INFO] Saving Gods......")
- f = open("gods.txt", "w")
- f.write("\n".join(gods))
- f.close()
- else:
- room.message("what? >.>", True)
- #Master
- elif used_prefix and cmd == "master":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 5 or user.name in blacklist:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 5:
- if name in masters:
- room.message("%s is already my Master." % name.title(), True)
- else:
- masters.append(name)
- room.message("%s is now my Master (Level 4) now fuck off" % name.title(), True)
- print("[INFO] Saving Masters......")
- f = open("masters.txt", "w")
- f.write("\n".join(masters))
- f.close()
- else:
- room.message("You could not be ascended into the heavens, k bye")
- elif do == "remove":
- if self.getAccess(user) < 4:
- room.message("You don't have access to that.")
- return
- if name not in masters: room.message("%s is not my Master." % name.title(), True)
- else:
- masters.remove(name)
- room.message("It has been done. =/", True)
- print("[INFO] Saving Masters......")
- f = open("masters.txt", "w")
- f.write("\n".join(masters))
- f.close()
- else:
- room.message("what? >.>", True)
- #Blacklist
- elif used_prefix and cmd == "bl":
- if len(args) >= 3:
- do, name = args.lower().split(" ", 1)
- if self.getAccess(user) < 4:
- room.message("no. :|")
- return
- if do == "add":
- if self.getAccess(user) >= 4:
- if name in blacklist:
- room.message("%s is already blacklisted" % name.title(), True)
- else:
- blacklist.append(name)
- room.message("It has been done. %s is now blacklisted (Level -1)" % name.title(), True)
- print("[INFO] Saving Blacklist......")
- f = open("blacklist.txt", "w")
- f.write("\n".join(blacklist))
- f.close()
- members.remove(name)
- moderators.remove(name)
- admins.remove(name)
- gods.remove(name)
- f = open("members.txt","w")
- f.write("\n".join(members))
- f.close()
- f = open("moderators.txt","w")
- f.write("\n".join(moderators))
- f.close()
- f = open("admins.txt","w")
- f.write("\n".join(admins))
- f.close()
- f = open("gods.txt","w")
- f.write("\n".join(gods))
- f.close()
- else:
- room.message("You could not blacklist that person.")
- elif do == "remove":
- if self.getAccess(user) < 4:
- room.message("You don't have access to that.")
- return
- if name not in blacklist: room.message("%s is not blacklisted." % name.title(), True)
- else:
- blacklist.remove(name)
- room.message("%s is now free to use commands" % name.title(), True)
- print("[INFO] Saving Blacklist......")
- f = open("blacklist.txt", "w")
- f.write("\n".join(blacklist))
- f.close()
- else:
- room.message("what? >.>", True)
- #Level
- elif used_prefix and cmd == "lvl":
- if args and args in blacklist:
- room.message(args.title()+" is blacklisted (Level -1)")
- if args and args in members:
- room.message(args.title()+" is a Member (Level 1)")
- if args and args in moderators:
- room.message(args.title()+" is a Moderator (Level 2)")
- if args and args in admins:
- room.message(args.title()+" is an Admin (Level 3)")
- if args and args in gods:
- room.message(args.title()+" is a God (Level 4)")
- if args and args in masters:
- room.message(args.title()+" is my Master (Level 5)")
- if args and args not in blacklist and args not in members and args not in moderators and args not in admins and args not in gods and args not in masters:
- room.message("Unlisted (Level 0)")
- if not args and user.name in blacklist:
- room.message(user.name.title()+" is blacklisted (Level -1)")
- if not args and user.name in members:
- room.message(user.name.title()+" is a Member (Level 1)")
- if not args and user.name in moderators:
- room.message(user.name.title()+" is a Moderator (Level 2)")
- if not args and user.name in admins:
- room.message(user.name.title()+" is an Admin (Level 3)")
- if not args and user.name in gods:
- room.message(user.name.title()+" is a God (Level 4)")
- if not args and user.name in masters:
- room.message(user.name.title()+" is my Master (Level 5)")
- if not args and user.name not in blacklist and user.name not in members and user.name not in moderators and user.name not in admins and user.name not in gods and user.name not in masters:
- room.message(user.name.title()+(" is Unlisted (Level 0)"))
- ###########################################################
- ##Persona
- #Persona Enable
- elif used_prefix and cmd=="p" and self.getAccess(user) >=3:
- if args and args=="enable":
- print("[INFO] Enabling Persona")
- room.message("Persona Enabled")
- f = open("persona.txt","w")
- f.write(args)
- f.close()
- elif args and args=="disable":
- print("[INFO] Disabling Persona")
- room.message("Persona Disabled")
- f = open("persona.txt","w")
- f.write(args)
- f.close()
- ## if cmd=="hi" and self.getAccess(user) >=1:
- ## room.message("Hiya "+str.capitalize(sntonick(user.name))+"-senpai *h*")
- ## if cmd=="brb":
- ## room.message("Tyt, don't worry about comin back "+str.capitalize(sntonick(user.name))+"! *h*")
- ## if cmd=="back":
- ## room.message("So you came back after all? "+str.capitalize(sntonick(user.name))+"-senpai! *h*")
- ## if cmd=="bbl":
- ## room.message("K bye "+str.capitalize(sntonick(user.name))+"-senpai.. *h*")
- ## if cmd=="smd":
- ## room.message("How much you paying? "+str.capitalize(sntonick(user.name))+", you pindick")
- ## if cmd=="kys":
- ## room.message("You first")
- ## if cmd=="kms":
- ## room.message("Go for it, let me watch!")
- elif len(cmd) ==3 and not args and cmd=="Ateluix" or cmd=="ateluix" or cmd=="atel"or cmd=="Atel":
- if user.name in blacklist:
- return
- else:
- room.message("What the fuck you want?")
- ###########################################################
- ##Saving
- #Save
- if used_prefix and cmd=="save" and self.getAccess(user) >=3:
- room.message("Saving stuffs my dood :P")
- print("[INFO] Saving Nicknames......")
- f = open("nicks.txt","w")
- for user in nicks:
- nick = json.loads(nicks[user])
- f.write(json.dumps([user,nick])+"\n")
- f.close()
- time.sleep(1)
- print("[INFO] Saving Defintions......")
- f = open("definitions.txt")
- for word in dictionary:
- definition, name = json.loads(dictionary[word])
- f.write(json.dumps([word, definition, name])+"\n")
- f.close()
- ###########################################################
- ##Room Connection
- if __name__ == "__main__":
- bot.easy_start(rooms, username, password)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement