async def toggleleave(self, ctx, *, args: str = None): '''Toggle leave or not''' url = self.toggle_url2() data = myjson.get(url) data = json.loads(data) accepted = ["on", "of"] if args == None: if "{}".format(ctx.guild.id) not in data: data["{}".format(ctx.guild.id)] = {} data["{}".format(ctx.guild.id)]["set_leave"] = "on" url = myjson.store(json.dumps(data), update=url) await ctx.send("`Leave Message Enabled For The Server`") else: current = data["{}".format(ctx.guild.id)]["set_leave"] await ctx.send("`Leave messages: {}`".format(current)) else: args = args.lower() if args in accepted: data["{}".format(ctx.guild.id)] = {} data["{}".format( ctx.guild.id)]["set_leave"] = "{}".format(args) url = myjson.store(json.dumps(data), update=url) await ctx.send("`Leave message set to: {}`".format(args)) else: await ctx.send("`Error: Invalid Parameter, define on or off.`")
async def settype(self, ctx, *, args: str = None): '''Toggle pic or text welcome''' url = self.msg_type() data = myjson.get(url) data = json.loads(data) accepted = ["pic", "text"] if args == None: if "{}".format(ctx.guild.id) not in data: data["{}".format(ctx.guild.id)] = {} data["{}".format(ctx.guild.id)]["msg_type"] = "text" url = myjson.store(json.dumps(data), update=url) await ctx.send("`Welcome Type: TEXT`") else: current = data["{}".format(ctx.guild.id)]["msg_type"] await ctx.send("`Current welcome Type: {}`".format(current)) else: args = args.lower() if args in accepted: data["{}".format(ctx.guild.id)] = {} data["{}".format(ctx.guild.id)]["msg_type"] = "{}".format(args) url = myjson.store(json.dumps(data), update=url) await ctx.send("`Welcome type set to: {}`".format(args)) else: await ctx.send( "`Error: Invalid Parameter, accepted: pic or text.`")
async def on_message(self, message): '''cuss filter''' url = "{}".format(os.environ.get("cuss_filter")) texts = myjson.get(url) texts = json.loads(texts) url2 = "{}".format(os.environ.get("warn_count")) warn = myjson.get(url2) warn = json.loads(warn) msgs = message.content.lower() if message.author.id == self.bot.user.id: return if any(word in msgs for word in texts ) and message.author.guild_permissions.administrator != True: #me = message.guild.get_member(user_id = 280271578850263040) if "{}".format(message.author.id) not in warn: warn[f"{message.author.id}"] = {} warn[f"{message.author.id}"]["count"] = 1 url2 = myjson.store(json.dumps(warn), update=url2) else: warn[f"{message.author.id}"]["count"] += 1 url2 = myjson.store(json.dumps(warn), update=url2) await message.author.send( "Hello!\nYou are not allowed to use words that you used in your last message: `{0}`\n**it is against the community rules.**You m.\n`Doesn't matter how you used it.`\n\nWarning Count: {1}" .format(message.content, warn[f"{message.author.id}"]["count"])) #await me.send("{0} wrote `{1}`\nCounter: {2}".format(message.author.name, message.content, warn[f"{message.author.id}"]["count"])) await asyncio.sleep(3) await message.delete()
async def leavemsg(self, ctx, args: str = None, args1: str = None): '''set the leave msg Syntax w!leavemsg msg channelid''' server = ctx.guild url = self.load_url2() url1 = self.toggle_url2() if args == None: msg = "Bye, you will be missed :frowning:" else: msg = args if args1 == None: channel_id = ctx.channel.id else: channel_id = args1 data = myjson.get(url) data = json.loads(data) data1 = myjson.get(url1) data1 = json.loads(data1) if "{}".format(server.id) not in data: data["{}".format(server.id)] = {} data["{}".format(server.id)]["msg"] = "{}".format(msg) data["{}".format( server.id)]["channel_id"] = "{}".format(channel_id) data1["{}".format(server.id)] = {} data1["{}".format(server.id)]["set_leave"] = "off" url = myjson.store(json.dumps(data), update=url) url1 = myjson.store(json.dumps(data1), update=url1) em = discord.Embed(description="Leave message has been set") em.colour = discord.Colour.green() await ctx.send(embed=em) else: em = discord.Embed( description= "There is a leave msg (already set), do you want to change it? Reply yes or no" ) em.colour = discord.Colour.green() await ctx.send(embed=em) def check(ctx): return (ctx.content == 'yes' or ctx.content == 'no' or ctx.content == 'Yes' or ctx.content == 'No') msge = await self.bot.wait_for('message', check=check) msge.content = msge.content.lower() if msge.content == "yes": data["{}".format(server.id)] = {} data["{}".format(server.id)]["msg"] = "{}".format(msg) data["{}".format( server.id)]["channel_id"] = "{}".format(channel_id) data1["{}".format(server.id)] = {} data1["{}".format(server.id)]["set_leave"] = "on" url = myjson.store(json.dumps(data), update=url) url1 = myjson.store(json.dumps(data1), update=url1) em = discord.Embed(description="Leave message has been set") em.colour = discord.Colour.green() await ctx.send(embed=em) else: em = discord.Embed(description="Edit command Terminated :D") em.colour = discord.Colour.red() await ctx.send(embed=em)
async def on_message(self, message): if message.author.id == self.bot.user.id: return url = "{}".format(os.environ.get("storee")) store = myjson.get(url) store = json.loads(store) file2 = open("data/levels.json", 'r+') file2 = file2.read() levels = json.loads(file2) if f"{message.guild.id}" not in store: store[f"{message.guild.id}"] = {} if f"{message.author.id}" not in store[f"{message.guild.id}"]: store[f"{message.guild.id}"][f"{message.author.id}"] = {} store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] = 0 store[f"{message.guild.id}"][f"{message.author.id}"][ "level"] = 0 url = myjson.store(json.dumps(store), update=url) else: point = store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] point += 2 store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] = point if f"{point}" in levels: level = levels[f"{point}"] store[f"{message.guild.id}"][f"{message.author.id}"][ "level"] = level await message.channel.send( f"Congrats! {message.author.name} you just reached level **{level}!**" ) url = myjson.store(json.dumps(store), update=url) else: if f"{message.author.id}" not in store[f"{message.guild.id}"]: store[f"{message.guild.id}"][f"{message.author.id}"] = {} store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] = 0 store[f"{message.guild.id}"][f"{message.author.id}"][ "level"] = 0 url = myjson.store(json.dumps(store), update=url) else: point = store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] point += 2 store[f"{message.guild.id}"][f"{message.author.id}"][ "points"] = point if f"{point}" in levels: level = levels[f"{point}"] store[f"{message.guild.id}"][f"{message.author.id}"][ "level"] = level await message.channel.send( f"Congrats! {message.author.name} you just reached level **{level}!**" ) url = myjson.store(json.dumps(store), update=url)
async def warn(self, ctx, member: discord.Member = None, *, reason: str = None): '''warn system''' if ctx.author.guild_permissions.administrator == True or ctx.author.guild_permissions.manage_roles == True or ctx.author.guild_permissions.ban_members == True or ctx.author.guild_permissions.kick_members == True: try: if reason == None: await ctx.send("**Please Provide a reason!**") return user = member url2 = "{}".format(os.environ.get("warn_logs")) warn = myjson.get(url2) warn = json.loads(warn) if "{}".format(user.id) not in warn: warn[f"{user.id}"] = {} warn[f"{user.id}"]["count"] = 1 warn[f"{user.id}"]["name"] = "{}".format(str(user)) warn[f"{user.id}"]["reason"] = str(reason) url2 = myjson.store(json.dumps(warn), update=url2) else: warn[f"{user.id}"]["count"] += 1 warn[f"{user.id}"]["name"] = "{}".format(str(user)) warn[f"{user.id}"]["reason"] = str(reason) url2 = myjson.store(json.dumps(warn), update=url2) em = discord.Embed(color=0xffd500) notify = ctx.guild.get_member(user_id=int(user.id)) em.set_author( name="Member Warned!", icon_url="https://image.ibb.co/jmajRT/Federation.png") em.add_field(name="**Member:** ", value="**" + str(user) + "**" + f"\n**ID: {user.id}**", inline=False) em.add_field(name="**Warned By:**", value=f"**{ctx.author}**", inline=False) em.add_field(name="**Reason:**", value="```" + reason + "```", inline=False) em.add_field(name="**Count:**", value="{}".format(warn[f"{user.id}"]["count"]), inline=False) channel_id = 449617657910525953 channel = self.bot.get_channel(channel_id) await channel.send(embed=em) await ctx.send( "`Sent warning to {}, and count recorded.`".format(user)) except Exception as e: print(e) await ctx.send( "`Either can't send warn message to member, or member provided isnt in the server.`" )
async def autorole(self, ctx, rolename: str = None, args: str = None): '''set the auto role''' try: if rolename == None or args == None: await ctx.send("`Error: role name not provided or Toggle?`") return role = discord.utils.find( lambda m: rolename.lower() in m.name.lower(), ctx.message.guild.roles) if not role: return await ctx.send('That role does not exist.') else: url_role = self.auto_roler() data_role = myjson.get(url_role) data_role = json.loads(data_role) args = args.lower() data_role["{}".format(ctx.guild.id)] = {} data_role["{}".format( ctx.guild.id)]["default_role"] = "{}".format(role) data_role["{}".format( ctx.guild.id)]["switch"] = "{}".format(args) url_role = myjson.store(json.dumps(data_role), update=url_role) await ctx.send("Default role set to: {}".format(role)) except Exception as e: print(e) await ctx.send("`Error: Wrong Format!`")
async def setbg(self, ctx, *, args: str = None): '''background for welcome''' url = self.set_bg() data = myjson.get(url) data = json.loads(data) if args == None: await ctx.send( "`Error: Nothing provided Note: must be a link not an attachment`" ) else: try: response = requests.head(args) resp_code = response.headers.get('content-type') if "image" in resp_code: link = args data["{}".format(ctx.guild.id)] = {} data["{}".format(ctx.guild.id)]["link"] = "{}".format(args) url = myjson.store(json.dumps(data), update=url) await ctx.send( "`Background Image added/changed, might not show up in some cases`" ) else: await ctx.send("`Error: Not a valid image`") except Exception as e: print(e) await ctx.send( "`Error: Invalid Link, also the image format must be png or jpg`" )
async def on_message(message): channel = message.channel if message.content.startswith("noble!set"): if message.author.id == client.user.id: url ="https://api.myjson.com/bins/r0tyv" status = myjson.get(url) status = json.loads(status) stats = message.content[len("noble!set"):].strip() stats = stats.lower() if stats == "online" or stats == "offline": status["status"]= "{}".format(stats) url = myjson.store(json.dumps(status),update= url) await client.send_message(channel, "`SET!`") else: await client.send_message(channel,"`Error!`") if message.content.startswith("<@264348648542961664>") or message.content.startswith("<@"+client.user.id+">") or "<@264348648542961664>" in message.content: url ="https://api.myjson.com/bins/r0tyv" status = myjson.get(url) status = json.loads(status) if status["status"] == "offline": url1 ="https://api.myjson.com/bins/932a7" response = myjson.get(url1) response = json.loads(response) em = discord.Embed() em.set_thumbnail(url = "https://cdn.dribbble.com/users/4874/screenshots/2031709/messageincoming.gif") em.set_author(name = "Message(on_absence)", icon_url = "https://cdn.dribbble.com/users/320087/screenshots/1391703/024_cloud.gif", url = "https://api.myjson.com/bins/932a7") em.add_field(name = "Content:", value = "```{}```".format(message.content),inline = False) em.add_field(name = "Message_ID:", value = "```{}```".format(message.id),inline = False) response["author"]= "{}".format(message.author.name) response["authorid"]= "{}".format(message.author.id) response["messageserver"]= "{}".format(message.server) response["messagechannel"]= "{}".format(message.channel) response["messagecontent"]= "{}".format(message.content) url1 = myjson.store(json.dumps(response),update= url1) await client.send_message(message.author, content = "**__Feature-on-test__:** "+"**This is an automated Message**: "+"`Out atm, will get back to you asap :D`", embed = em) elif message.content.startswith('noble!status'): if message.author.id == client.user.id: url ="https://api.myjson.com/bins/r0tyv" status = myjson.get(url) status = json.loads(status) await client.send_message(channel, "`Currently: {}` Link: https://api.myjson.com/bins/r0tyv".format(status["status"]))
async def report(self,ctx, *,rep:str = None): if rep == None: await ctx.send("`Nothing provided!`") return else: url_rep = "https://api.myjson.com/bins/l5b09" url_list = "https://api.myjson.com/bins/lqqm1" name = myjson.get(url_list) name = json.loads(name) data = myjson.get(url_rep) data = json.loads(data) UnId = str(uuid.uuid4())[:8] data[f"{UnId}"] = {} data[f"{UnId}"]["report"] = rep data[f"{UnId}"]["by"] = "{}".format(ctx.author) data[f"{UnId}"]["auth_id"] = "{}".format(ctx.author.id) nameandid = "ID: "+UnId+" "+"by "+"{}".format(ctx.author.name) name.append(nameandid) url_rep = myjson.store(json.dumps(data),update=url_rep) url_list = myjson.store(json.dumps(name),update=url_list) await ctx.send("Thank you very much for the report/suggestion! :smile:")
async def switch(self, ctx, *, switch): if ctx.author.id == 280271578850263040: if switch == None: await ctx.send("`None provided on/off`") return switch = switch.lower() url = "{}".format(os.environ.get("gold_raven_channel")) data = myjson.get(url) data = json.loads(data) data["switch"] = switch url = myjson.store(json.dumps(data), update=url) await ctx.send( "`Switch set to on: People cant text, off: people can text.`")
async def resetcounter(self, ctx, *, uids: str = None): if ctx.author.guild_permissions.administrator == True: url2 = "{}".format(os.environ.get("warn_count")) warn = myjson.get(url2) warn = json.loads(warn) if uids == None: await ctx.send("`No member provided`") return if "{}".format(uids) in warn: warn[f"{uids}"]["count"] = 0 url2 = myjson.store(json.dumps(warn), update=url2) await ctx.send("`Warnings reset.`") else: await ctx.send("`No such id in database`")
async def delword(self, ctx, *, args: str = None): if ctx.author.guild_permissions.administrator == True: url = "{}".format(os.environ.get("cuss_filter")) data = myjson.get(url) data = json.loads(data) if args == None: await ctx.send("`no word given.`") return word = args for word in data: if word in data: data.remove(word) url = myjson.store(json.dumps(data), update=url) await ctx.send("`The word was removed.`")
async def addword(self, ctx, *, args: str = None): '''add word to filter''' if ctx.author.guild_permissions.administrator == True: url = "{}".format(os.environ.get("cuss_filter")) if args == None: await ctx.send("`Word not specified!`") return else: data = myjson.get(url) data = json.loads(data) args = args.lower() if "{}".format(args) not in data: data.append(args) url = myjson.store(json.dumps(data), update=url) await ctx.send("`Filter database updated.`") else: await ctx.send("`Already added by an admin.`")
async def resetcounter(self, ctx, *,uids:str = None): if ctx.author.guild_permissions.administrator == True or ctx.author.guild_permissions.manage_roles == True or ctx.author.guild_permissions.ban_members == True or ctx.author.guild_permissions.kick_members == True: try: url2 = "https://api.myjson.com/bins/12c3vi" warn = myjson.get(url2) warn = json.loads(warn) if uids == None: await ctx.send("`No member provided`") return if "{}".format(uids) in warn: warn[f"{uids}"]["count"] = 0 warn[f"{uids}"]["reason"] = "None" url2 = myjson.store(json.dumps(warn),update=url2) await ctx.send("`Warnings reset for {}`".format(warn[f"{uids}"]["name"])) else: await ctx.send("`No such id in database`") except Exception as e: print(e) await ctx.send("`Couldn't connect to database atm, try again later.`")
def uploadJson(): dict = {} listOfFiles = os.listdir( "C:\\Users\\araka\PycharmProjects\mireAppParser\Test\_json") print(listOfFiles) jsonTmp = "C:\\Users\\araka\PycharmProjects\mireAppParser\Test\_json\\" coef = 100 / len(listOfFiles) summ = 0 for file in listOfFiles: summ += coef print(file + ' ' + str(summ) + '%') with open(jsonTmp + file, "r") as rf: js = json.load(rf) url = myjson.store(json.dumps(js)) dict[file[:10]] = url with open( "C:\\Users\\araka\PycharmProjects\mireAppParser\Test\_json\JSONDICT.json", "w") as jD: json.dump(dict, jD, ensure_ascii=False)
async def welcomemsg(self, ctx, args: str = None, args1: str = None): '''set the welcome msg Syntax w!welcomemsg msg channelid''' server = ctx.guild url = self.load_url() url1 = self.toggle_url() url3 = self.msg_type() url4 = self.set_bg() if args == None: msg = "Welcome! Have fun here <3" else: msg = args if args1 == None: channel_id = ctx.channel.id else: channel_id = args1 data = myjson.get(url) data = json.loads(data) data1 = myjson.get(url1) data1 = json.loads(data1) data3 = myjson.get(url3) data3 = json.loads(data3) data4 = myjson.get(url4) data4 = json.loads(data4) if "{}".format(server.id) not in data: data["{}".format(server.id)] = {} data["{}".format(server.id)]["msg"] = "{}".format(msg) data["{}".format( server.id)]["channel_id"] = "{}".format(channel_id) data1["{}".format(server.id)] = {} data1["{}".format(server.id)]["set_welcome"] = "off" data3["{}".format(server.id)] = {} data3["{}".format(server.id)]["msg_type"] = "text" data4["{}".format(server.id)] = {} data4["{}".format( server.id )]["link"] = "https://cdn.discordapp.com/attachments/384512083552894979/395207826684772374/bg.jpg" url = myjson.store(json.dumps(data), update=url) url1 = myjson.store(json.dumps(data1), update=url1) url3 = myjson.store(json.dumps(data3), update=url3) url4 = myjson.store(json.dumps(data4), update=url4) em = discord.Embed( description= "Welcome message has been set and type is text(default)") em.colour = discord.Colour.green() await ctx.send(embed=em) else: em = discord.Embed( description= "There is a welcome msg (already set), do you want to change it? Reply yes or no" ) em.colour = discord.Colour.green() await ctx.send(embed=em) def check(ctx): return (ctx.content == 'yes' or ctx.content == 'no' or ctx.content == 'Yes' or ctx.content == 'No') msge = await self.bot.wait_for('message', check=check) msge.content = msge.content.lower() if msge.content == "yes": data["{}".format(server.id)] = {} data["{}".format(server.id)]["msg"] = "{}".format(msg) data["{}".format( server.id)]["channel_id"] = "{}".format(channel_id) data1["{}".format(server.id)] = {} data1["{}".format(server.id)]["set_welcome"] = "on" data3["{}".format(server.id)] = {} data3["{}".format(server.id)]["msg_type"] = "text" data4["{}".format(server.id)] = {} data4["{}".format( server.id )]["link"] = "https://cdn.discordapp.com/attachments/384512083552894979/395207826684772374/bg.jpg" url = myjson.store(json.dumps(data), update=url) url1 = myjson.store(json.dumps(data1), update=url1) url3 = myjson.store(json.dumps(data3), update=url3) url4 = myjson.store(json.dumps(data4), update=url4) em = discord.Embed( description= "Welcome message has been set and type is text(default)") em.colour = discord.Colour.green() await ctx.send(embed=em) else: em = discord.Embed(description="Edit command Terminated :D") em.colour = discord.Colour.red() await ctx.send(embed=em)
currentTime = strftime("%a, %d %b, %Y %X +0000", localtime())[:-6] ip = getIP() ################################## ## UPDATE INFO JSON WITH SENSORY ## DATA ################################## steveInfoJSON['ip'] = ip steveInfoJSON['lastConnected'] = currentTime steveInfoJSON['sound'] = 1 steveInfoJSON['temp'] = 1 steveInfoJSON['lights'] = 1 steveInfoJSON['status'] = 1 steveInfoJSON['motion'] = 1 try: ################################### ## SUBMIT INFO JSON ################################### jason = json.loads(myjson.get(steveCommandsURL)) print jason myjson.store(json.dumps({"command": ""}), update=steveCommandsURL, id_only=True) myjson.store(json.dumps(steveInfoJSON), update=steveInfoURL, id_only=True) except: print "NO CONNECTION" time.sleep(4)