Пример #1
0
 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.`")
Пример #2
0
 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()
Пример #4
0
    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)
Пример #6
0
    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.`"
                )
Пример #7
0
 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!`")
Пример #8
0
 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`"
             )
Пример #9
0
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.`")
Пример #15
0
 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.`")
Пример #16
0
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)
Пример #17
0
    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)
Пример #18
0
    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)