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()
Exemplo n.º 2
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 inforeports(self, ctx, *,code:str = None):
        '''report infos'''
        try:
            if code == None:
                await ctx.send("`Error: Missing ID!`")
                return
            url_rep = "https://api.myjson.com/bins/l5b09"
            data = myjson.get(url_rep)
            data = json.loads(data)
            report = data[f"{code}"]["report"]
            author = data[f"{code}"]["by"]
            author_id = data[f"{code}"]["auth_id"]
            em = discord.Embed()
            em.set_author(name = "Reports:", icon_url = "https://loading.io/spinners/recycle/lg.recycle-spinner.gif")
            em.add_field(name = "By:", value = author,inline = False)
            em.add_field(name = "Report Code:", value = code,inline = False)
            em.add_field(name = "Author ID:", value = author_id,inline = False)
            em.add_field(name = "Report:", value = report,inline = False)
            em.set_thumbnail(url = "https://i.pinimg.com/736x/0c/79/0a/0c790a5a37da132923a79f853602a36a.jpg")
            em.set_footer(text = "|Winter-Song| Report Tracker.", icon_url = self.bot.user.avatar_url)
            em.color=discord.Colour.blue()
            await ctx.send(embed = em)

        except Exception as e:
            print(e)
            await ctx.send("`Error: No such report exist!`")
    async def on_message(self, message):
        '''Raven channel and bot usage limiter'''

        if message.channel.id == 356157029074862082 and message.guild.id == 356157029074862081:  #General chat & Night watch channel
            msg = message.content.lower()
            if msg.startswith("w!") or msg.startswith("!") or msg.startswith(
                    "t!") or msg.startswith("winter") or msg.startswith(
                        "-") or msg.startswith("n!") or msg.startswith(
                            '$') or msg.startswith("'"):
                await asyncio.sleep(2.5)
                await message.channel.purge(
                    limit=15, check=lambda m: m.author.bot == True)
                await message.channel.send(
                    f"{message.author.mention}, please refrain using the bot commands here, goto <#357605857862746115> or the Bots Section. Sorry, 😅",
                    delete_after=7)
                await asyncio.sleep(2)
                await message.delete()

        if message.channel.id == 445328817264001035 and message.guild.id == 356157029074862081:  #GOLD RAVEN's outfit channel & Nightwatch server
            url = "{}".format(os.environ.get("gold_raven_channel"))
            data = myjson.get(url)
            data = json.loads(data)
            if message.author.id == self.bot.user.id:
                return
            if not message.attachments and data["switch"] == "on":
                if message.author.guild_permissions.administrator != True and message.author.bot != True:
                    await message.channel.send(
                        f"{message.author.mention}, please refrain from texting here, just send the screenshot(When announced to) :3",
                        delete_after=5.2)
                    await asyncio.sleep(5)
                    await message.delete()
Exemplo n.º 5
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.`")
Exemplo n.º 6
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.`")
Exemplo n.º 7
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`"
             )
Exemplo n.º 8
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!`")
    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)
Exemplo n.º 10
0
def do_admin_login():
    url = "{}".format(os.environ.get("link_to_me"))
    data = myjson.get(url)
    data = json.loads(data)
    print(data["name"])
    if request.form['password'] == data["password"] and request.form['username'] == data["name"]:
        session['logged_in'] = True
    else:
        flash('wrong password!')
    return flogin()
Exemplo n.º 11
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 filtercheck(self, ctx):
     '''check words'''
     if ctx.author.guild_permissions.administrator == True:
         url = "{}".format(os.environ.get("cuss_filter"))
         data = myjson.get(url)
         data = json.loads(data)
         if not data:
             await ctx.send("`Filter base is empty.`")
         else:
             await ctx.send("```" + str(data) + "```")
Exemplo n.º 13
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.`"
                )
 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 datawelcome(self,ctx):
     '''welcome datas'''
     url = "{}".format(os.environ.get("sw_link"))
     data = myjson.get(url)
     data = json.loads(data)
     data = json.dumps(data)
     try:
         out = await ctx.send("```js\n"+data+"```")
     except:
         paginated_text = ctx.paginate(data)
         for page in paginated_text:
             if page == paginated_text[-1]:
                 out = await ctx.send(f'```js\n{page}\n```')
                 break
             await ctx.send(f'```js\n{page}\n```')
Exemplo n.º 19
0
 async def on_member_remove(self, member):
     '''Leave!'''
     try:
         server = member.guild
         user = member
         is_bot = user.bot
         url_toggle = self.toggle_url2()
         url_message = self.load_url2()
         data_toggle = myjson.get(url_toggle)
         data_toggle = json.loads(data_toggle)
         data_message = myjson.get(url_message)
         data_message = json.loads(data_message)
         channel_id = data_message["{}".format(server.id)]["channel_id"]
         msg = data_message["{}".format(server.id)]["msg"]
         channel = self.bot.get_channel(int(channel_id))
         #member_number = sorted(server.members, key=lambda m: m.joined_at).index(user) + 1
         if data_toggle["{}".format(server.id)]["set_leave"] == "on":
             await channel.send("{}".format(msg) +
                                "\n\n**Member:** {}".format(member.name) +
                                "\n**Server:** **{}**".format(server.name) +
                                "\n**Bot:** {}".format(is_bot) + "\n:wave:")
     except Exception as e:
         #print(e)
         pass
 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.`")
Exemplo n.º 21
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.`")
 async def allreports(self, ctx):
     '''loads all reports'''
     try:
         url_list = "https://api.myjson.com/bins/lqqm1"
         name = myjson.get(url_list)
         items = json.loads(name)
         added_items = '\n'.join(items)
         try:
             out = await ctx.send("**Reports:**\n"+"```{}```".format(added_items))
         except:
             paginated_text = ctx.paginate(added_items)
             for page in paginated_text:
                 if page == paginated_text[-1]:
                     out = await ctx.send(f'```\n{page}\n```')
                     break
                 await ctx.send(f'```\n{page}\n```')
     except Exception as e:
         print("`Error: {}`".format(e))
         await ctx.send("`Error: List Not Found!`")
 async def points(self, ctx, *, member: discord.Member = None):
     server = ctx.guild
     user = member or ctx.message.author
     url = "{}".format(os.environ.get("storee"))
     store = myjson.get(url)
     store = json.loads(store)
     if f"{user.id}" not in store[f"{server.id}"]:
         if user.id == ctx.author.id:
             await ctx.send("**You haven't started chatting yet!**")
             return
         else:
             await ctx.send(f"**{user.name} have no points yet!**")
     points = store[f"{ctx.guild.id}"][f"{user.id}"]["points"]
     level = store[f"{ctx.guild.id}"][f"{user.id}"]["level"]
     if user.id == ctx.author.id:
         em = discord.Embed(title=f"{user.name}",
                            url="https://placeholder.com/")
         em.colour = discord.Colour.blue()
         em.set_thumbnail(url=f"{user.avatar_url}")
         em.set_footer(text="|Level-Test|",
                       icon_url=self.bot.user.avatar_url)
         em.add_field(name="Level:", value=f"{level}/50", inline=False)
         em.add_field(name="Rank:", value="Not Done.", inline=False)
         em.add_field(name="Points:",
                      value=f"{points}/99998(Total)",
                      inline=False)
         await ctx.send(embed=em)
     else:
         em = discord.Embed(title=f"{user.name}",
                            url="https://placeholder.com/")
         em.colour = discord.Colour.blue()
         em.set_thumbnail(url=f"{user.avatar_url}")
         em.set_footer(text="|Level-Test|",
                       icon_url=self.bot.user.avatar_url)
         em.add_field(name="Level:", value=f"{level}/50", inline=False)
         em.add_field(name="Rank:", value="Not Done.", inline=False)
         em.add_field(name="Points:",
                      value=f"{points}/99998(Total)",
                      inline=False)
         await ctx.send(embed=em)
Exemplo n.º 24
0
    async def warnlist(self,ctx):
        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)
                warnlist = []
                for x in warn:

                    warnlist.append("Count: {}       {}".format(warn[x]["count"],warn[x]["name"]))
                warnstr = '\n'.join(warnlist)
                try:
                    await ctx.send(f"```{warnstr}```")
                except:
                    paginated_text = ctx.paginate(warnstr)
                    for page in paginated_text:
                        if page == paginated_text[-1]:
                            out = await ctx.send(f'```\n{page}\n```')
                            break
                        await ctx.send(f'```\n{page}\n```')

            except Exception as e:
                print(e)
Exemplo n.º 25
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)
Exemplo n.º 26
0
 async def on_member_join(self, member):
     '''welcome!'''
     try:
         server = member.guild
         user = member
         is_bot = user.bot
         url_toggle = self.toggle_url()
         url_message = self.load_url()
         url_type = self.msg_type()
         url_bg = self.set_bg()
         url_role = self.auto_roler()
         data_role = myjson.get(url_role)
         data_role = json.loads(data_role)
         data_bg = myjson.get(url_bg)
         data_bg = json.loads(data_bg)
         data_type = myjson.get(url_type)
         data_type = json.loads(data_type)
         data_toggle = myjson.get(url_toggle)
         data_toggle = json.loads(data_toggle)
         data_message = myjson.get(url_message)
         data_message = json.loads(data_message)
         member_number = sorted(server.members,
                                key=lambda m: m.joined_at).index(user) + 1
         if "{}".format(
                 server.id) in data_message and data_toggle["{}".format(
                     server.id)]["set_welcome"] == "on" and data_type[
                         "{}".format(server.id)]["msg_type"] == "pic":
             #await channel.send("{}".format(msg)+"\n\n**Member:** {0.mention}".format(member)+"\n**Server:** **{}**".format(server.name)+"\n**Member No:** {}".format(member_number)+"\n**Bot:** {}".format(is_bot))
             channel_id = data_message["{}".format(server.id)]["channel_id"]
             msg = data_message["{}".format(server.id)]["msg"]
             channel = self.bot.get_channel(int(channel_id))
             url = '{}'.format(member.avatar_url)
             #    print(url)
             response = requests.get(url, stream=True)
             with open('img.png', 'wb') as out_file:
                 shutil.copyfileobj(response.raw, out_file)
             del response
             #url_ser = '{}'.format(server.icon_url_as(format = 'png'))
             #print(url_ser)
             try:
                 url_ser = "{}".format(data_bg["{}".format(
                     server.id)]["link"])
                 respon = requests.get(url_ser, stream=True)
                 with open('ser.png', 'wb') as ou_file:
                     shutil.copyfileobj(respon.raw, ou_file)
                 del respon
             except Exception as e:
                 print(e)
                 url_ser = "https://cdn.discordapp.com/attachments/384512083552894979/395207826684772374/bg.jpg"
                 respon = requests.get(url_ser, stream=True)
                 with open('ser.png', 'wb') as ou_file:
                     shutil.copyfileobj(respon.raw, ou_file)
                 del respon
             img = Image.open("img.png")
             new_im = Image.new("RGBA", (600, 200))
             bg_w, bg_h = new_im.size
             other = Image.open("ser.png")
             other = other.resize((600, 200), PIL.Image.ANTIALIAS)
             other.save('resized_bg.jpg')
             others = Image.open("resized_bg.jpg")
             brightness = 0.5
             enhancer = ImageEnhance.Brightness(others)
             others = enhancer.enhance(brightness)
             new_im.paste(others, (0, 0))
             img.thumbnail((75, 75))
             new_im.paste(img, (42, 65))
             font1 = ImageFont.truetype('arialbd.ttf', 25)
             font2 = ImageFont.truetype('Homer_Simpson_Revised.ttf', 24)
             font3 = ImageFont.truetype('Tabitha.ttf', 22)
             xoff, yoff = (10, 5)
             d = ImageDraw.Draw(new_im)
             d.text((149, 31), "Welcome!", fill="white", font=font1)
             t = ImageDraw.Draw(new_im)
             t.text((137, 63),
                    "{}".format(member),
                    fill="white",
                    font=font3)
             m = ImageDraw.Draw(new_im)
             print(len(msg))
             if len(msg) > 50:
                 msg = "Have Fun and Enjoy your time in here!"
             else:
                 msg = data_message["{}".format(server.id)]["msg"]
             m.text((136, 86), "{}".format(msg), fill="white", font=font2)
             kk = ImageDraw.Draw(new_im)
             kk.text((137, 109),
                     "Member Number: {}".format(member_number),
                     fill="white",
                     font=font2)
             if is_bot == True:
                 is_bot = "Yes"
             else:
                 is_bot = "No"
             bb = ImageDraw.Draw(new_im)
             bb.text((136, 134),
                     "Bot: {}".format(is_bot),
                     fill="white",
                     font=font2)
             new_im.save("welcome_test.png")
             await channel.send(content="{0.mention}".format(member),
                                file=discord.File('welcome_test.png'))
             try:
                 if "{}".format(
                         server.id) in data_role and data_role["{}".format(
                             server.id
                         )]["default_role"] is not None and data_role[
                             "{}".format(server.id)]["switch"] == "on":
                     rolename = data_role["{}".format(
                         server.id)]["default_role"]
                     role = discord.utils.find(
                         lambda m: rolename.lower() in m.name.lower(),
                         server.roles)
                     await member.add_roles(role)
             except Exception as e:
                 pass
         elif "{}".format(
                 server.id) in data_message and data_toggle["{}".format(
                     server.id)]["set_welcome"] == "on" and data_type[
                         "{}".format(server.id)]["msg_type"] == "text":
             channel_id = data_message["{}".format(server.id)]["channel_id"]
             msg = data_message["{}".format(server.id)]["msg"]
             channel = self.bot.get_channel(int(channel_id))
             await channel.send(
                 "{}".format(msg) +
                 "\n\n**Member:** {0.mention}".format(member) +
                 "\n**Server:** **{}**".format(server.name) +
                 "\n**Member No:** {}".format(member_number) +
                 "\n**Bot:** {}".format(is_bot))
             try:
                 if "{}".format(
                         server.id) in data_role and data_role["{}".format(
                             server.id
                         )]["default_role"] is not None and data_role[
                             "{}".format(server.id)]["switch"] == "on":
                     rolename = data_role["{}".format(
                         server.id)]["default_role"]
                     role = discord.utils.find(
                         lambda m: rolename.lower() in m.name.lower(),
                         server.roles)
                     await member.add_roles(role)
             except Exception as e:
                 pass
     except Exception as e:
         print(e)
         try:
             if "{}".format(
                     server.id) in data_message and data_toggle["{}".format(
                         server.id)]["set_welcome"] == "on" and data_type[
                             "{}".format(server.id)]["msg_type"] == "pic":
                 channel_id = data_message["{}".format(
                     server.id)]["channel_id"]
                 channel = self.bot.get_channel(int(channel_id))
                 await channel.send(
                     "`Error encountered while creating image, please check the format of the bg provided(png, jpg).`\n**Welcome!**{0.mention}"
                     .format(member))
         except Exception as erre:
             print(erre)
Exemplo n.º 27
0
    async def preview(self, ctx, *, server: str = None):
        '''to preview welcome on any server'''
        if ctx.author.id == 280271578850263040:
            if server == None:
                await ctx.send("You missed to give an id!")
                return
            try:
                url_toggle = self.toggle_url()
                url_message = self.load_url()
                url_type = self.msg_type()
                is_bot = False
                url_bg = self.set_bg()
                serrv = self.bot.get_guild(int(server))
                server = server
                data_type = myjson.get(url_type)
                data_type = json.loads(data_type)
                data_message = myjson.get(url_message)
                data_message = json.loads(data_message)
                data_bg = myjson.get(url_bg)
                data_bg = json.loads(data_bg)
                msg = data_message["{}".format(server)]["msg"]
                if "{}".format(server) in data_message:

                    if data_type["{}".format(server)]["msg_type"] == "pic":

                        try:
                            try:
                                url_ser = "{}".format(data_bg["{}".format(
                                    server.id)]["link"])
                                respon = requests.get(url_ser, stream=True)
                                with open('ser.png', 'wb') as ou_file:
                                    shutil.copyfileobj(respon.raw, ou_file)
                                del respon
                            except Exception as e:
                                print(e)
                                url_ser = "https://cdn.discordapp.com/attachments/384512083552894979/395207826684772374/bg.jpg"
                                respon = requests.get(url_ser, stream=True)
                                with open('ser.png', 'wb') as ou_file:
                                    shutil.copyfileobj(respon.raw, ou_file)
                                del respon
                            img = Image.open("profile.png")
                            new_im = Image.new("RGBA", (600, 200))
                            bg_w, bg_h = new_im.size
                            other = Image.open("ser.png")
                            other = other.resize((600, 200),
                                                 PIL.Image.ANTIALIAS)
                            other.save('resized_bg.jpg')
                            others = Image.open("resized_bg.jpg")
                            brightness = 0.5
                            enhancer = ImageEnhance.Brightness(others)
                            others = enhancer.enhance(brightness)
                            new_im.paste(others, (0, 0))
                            img.thumbnail((75, 75))
                            new_im.paste(img, (42, 65))
                            font1 = ImageFont.truetype('arialbd.ttf', 25)
                            font2 = ImageFont.truetype(
                                'Homer_Simpson_Revised.ttf', 24)
                            font3 = ImageFont.truetype('Tabitha.ttf', 22)
                            xoff, yoff = (10, 5)
                            d = ImageDraw.Draw(new_im)
                            d.text((149, 31),
                                   "Welcome!",
                                   fill="white",
                                   font=font1)
                            t = ImageDraw.Draw(new_im)
                            t.text((137, 63),
                                   "Noble#5556",
                                   fill="white",
                                   font=font3)
                            m = ImageDraw.Draw(new_im)
                            print(len(msg))
                            if len(msg) > 50:
                                msg = "Have Fun and Enjoy your time in here!"
                            else:
                                msg = data_message["{}".format(server)]["msg"]
                            m.text((136, 86),
                                   "{}".format(msg),
                                   fill="white",
                                   font=font2)
                            kk = ImageDraw.Draw(new_im)
                            kk.text((137, 109),
                                    "Member Number: 1",
                                    fill="white",
                                    font=font2)
                            if is_bot == True:
                                is_bot = "Yes"
                            else:
                                is_bot = "No"
                            bb = ImageDraw.Draw(new_im)
                            bb.text((136, 134),
                                    "Bot: {}".format(is_bot),
                                    fill="white",
                                    font=font2)
                            new_im.save("welcome_test.png")
                            await ctx.send(
                                content=f"**The Server is {serrv.name}**",
                                file=discord.File('welcome_test.png'))
                        except Exception as e:
                            print(e)
                            await ctx.send(
                                "The image link might be invalid (not a valid .png/.jpg link) :sweat_smile:"
                            )

                    if data_type["{}".format(server)]["msg_type"] == "text":

                        await ctx.send(
                            "`This is a preview of the welcome they set.`\n\n{}"
                            .format(msg) +
                            "\n\n**Member:** <@385681784614027265>" +
                            "\n**Server:** **{}**".format(serrv.name) +
                            "\n**Member No:** 1" +
                            "\n**Bot:** {}".format(is_bot))
                else:
                    await ctx.send(
                        "They haven't set a welcome message using me yet :smile:"
                    )
            except Exception as e:
                print(e)
Exemplo n.º 28
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)