async def playertime(self, ctx, ip: str, *, name: str):
     conn = mysql.connector.connect(host=HOST,
                                    user=USER,
                                    passwd=PASSWD,
                                    database=DATABASE)
     c = conn.cursor()
     c.execute(
         f"SELECT ip FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{ip}'"
     )
     mgeli = c.fetchone()
     c.execute(
         f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'"
     )
     lang = c.fetchone()
     conn.commit()
     if mgeli is not None:
         core = scraper.GTcore(mgeli[0])
         graph_player_time = core.player_time(name)
         embed = hikari.Embed(title=name, color=COLOR)
         embed.set_image(f"https:{graph_player_time}")
         await ctx.respond(embed=embed)
     else:
         core = scraper.GTcore(ip)
         if core.checkip() == False:
             await ctx.respond(
                 get_lang("en", "player_response_error") if lang is None
                 else get_lang(lang[0], "player_response_error"))
         else:
             graph_player_time = core.player_time(name)
             embed = hikari.Embed(title=name, color=COLOR)
             embed.set_image(f"https:{graph_player_time}")
             await ctx.respond(embed=embed)
    async def on_serverplayers_error(self, event):
        conn = mysql.connector.connect(host=HOST,
                                       user=USER,
                                       passwd=PASSWD,
                                       database=DATABASE)
        c = conn.cursor()

        c.execute(
            f"SELECT lan FROM language WHERE guild_id = '{event.message.guild_id}'"
        )
        result = c.fetchone()
        if isinstance(event.exception, lightbulb.errors.NotEnoughArguments):
            if result is None:
                embed = hikari.Embed(
                    title="❌ **Error**",
                    description="You need to write ip or ipname",
                    color=COLOR)
                message = await event.message.respond(embed=embed)
                return message
            else:
                embed = hikari.Embed(title=get_lang(result[0], "error"),
                                     description=get_lang(
                                         result[0], "setname_error"),
                                     color=COLOR)
                message = await event.message.respond(embed=embed)
                return message
    async def top10(self, ctx, *, ip: str):
        conn = mysql.connector.connect(host=HOST,
                                       user=USER,
                                       passwd=PASSWD,
                                       database=DATABASE)
        c = conn.cursor()

        c.execute(
            f"SELECT ip FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{ip}'"
        )
        result = c.fetchone()
        c.execute(
            f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'"
        )
        lang = c.fetchone()
        conn.commit()

        if result is not None:
            core = scraper.GTcore(result[0])
            top = core.top10(result[0])
            await ctx.respond(f"```{top}```")
        else:
            core = scraper.GTcore(ip)
            if core.checkip() == False:
                await ctx.respond(
                    get_lang("en", "ip_error") if lang is None else get_lang(
                        lang[0], "ip_error"))
            else:
                top = core.top10(ip)
                await ctx.respond(f"```{top}```")
    async def currentmap(self, ctx, *, ip: str):
        conn = mysql.connector.connect(host=HOST,
                                       user=USER,
                                       passwd=PASSWD,
                                       database=DATABASE)
        c = conn.cursor()

        c.execute(
            f"SELECT ip FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{ip}'"
        )
        result = c.fetchone()
        c.execute(
            f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'"
        )
        lang = c.fetchone()
        conn.commit()
        if result is not None:
            core = scraper.GTcore(result[0])
            title = core.name()
            map = core.map()
            map_image = core.mapimage()
            scanned = core.scan()

            embed = hikari.Embed(title=title,
                                 description=f"`{map}`",
                                 color=COLOR)
            embed.set_image("https:" + map_image)
            embed.set_footer(text=scanned)
            message = await ctx.respond(embed=embed)
        else:
            core = scraper.GTcore(ip)
            if core.checkip() == False:
                await ctx.respond(
                    get_lang("en", "ip_error") if lang is None else get_lang(
                        lang[0], "ip_error"))
            else:
                title = core.name()
                map = core.map()
                map_image = core.mapimage()
                scanned = core.scan()

                embed = hikari.Embed(title=title,
                                     description=f"`{map}`",
                                     color=COLOR)
                embed.set_image("https:" + map_image)
                embed.set_footer(text=scanned)
                await ctx.respond(embed=embed)
    async def info(self, ctx, *, ip: str):
        conn = mysql.connector.connect(host=HOST,
                                       user=USER,
                                       passwd=PASSWD,
                                       database=DATABASE)
        c = conn.cursor()

        c.execute(
            f"SELECT ip FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{ip}'"
        )
        result = c.fetchone()
        c.execute(
            f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'"
        )
        lang = c.fetchone()
        conn.commit()
        if result is not None:
            core = scraper.GTcore(result[0])
            title = core.name()
            banner = core.banner()
            scanned = core.scan()
            servermanager = core.servermanager()

            embed = hikari.Embed(title=title, color=COLOR)
            embed.add_field(name="Server Manager:", value=servermanager)
            embed.set_image("https:" + banner)
            embed.set_footer(text=scanned)
            await ctx.respond(embed=embed)
        else:
            core = scraper.GTcore(ip)
            if core.checkip() == False:
                await ctx.respond(
                    get_lang("en", "ip_error") if lang is None else get_lang(
                        lang[0], "ip_error"))
            else:
                title = core.name()
                banner = core.banner()
                scanned = core.scan()
                servermanager = core.servermanager()

                embed = hikari.Embed(title=title, color=COLOR)
                embed.add_field(name="Server Manager:", value=servermanager)
                embed.set_image("https:" + banner)
                embed.set_footer(text=scanned)
                await ctx.respond(embed=embed)
Example #6
0
    async def setname(self, ctx, ip : str, *, ipname : str):

        conn = mysql.connector.connect(
            host = HOST, 
            user = USER, 
            passwd = PASSWD,
            database = DATABASE
        )
        c = conn.cursor()

        core = scraper.GTcore(ip)
        c.execute(f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'")
        lans = c.fetchone()  

        if lans is not None:
            lan = lans[0]
        else:
            lan = "en"
        
        if core.checkip() == True and checkdata(ctx.get_guild().id):
            setn = list()
            count = 0

            c.execute(f"SELECT ipname FROM costumers WHERE guild_id = '{ctx.get_guild().id}'")
            results = c.fetchall()


            for result in results:
                setn.append(result[0])

            for i in range(len(setn)):
                if ipname == setn[i]:
                    count += 1

            if count == 1:
                await ctx.respond(get_lang(lan, "setname_set"))
            else:
                await ctx.respond(f"```ip: {ip}\nipname: {ipname}```")
                insert = (f"INSERT INTO costumers VALUES('{ip}', '{ipname}', '{ctx.get_guild().id}')")
                c.execute(insert)
                conn.commit()
        elif core.checkip() == False:
            await ctx.respond(get_lang(lan, "ip_error"))
        elif checkdata(ctx.get_guild().id) == False:
            await ctx.respond(get_lang(lan, "server_limit"))
Example #7
0
    async def delete(self, ctx, *, name : str):
        conn = mysql.connector.connect(
            host = HOST, 
            user = USER, 
            passwd = PASSWD,
            database = DATABASE
        )
        c = conn.cursor()

        c.execute(f"SELECT ip FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{name}'")
        result = c.fetchone()
        c.execute(f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'")
        lang = c.fetchone()

        if result is not None:
            c.execute(f"DELETE FROM costumers WHERE guild_id = '{ctx.get_guild().id}' AND ipname = '{name}'")
            conn.commit()
            await ctx.respond(get_lang("en", "delete_response_success").format("``" + name + "``") if lang is None else get_lang(lang[0], "delete_response_success").format("``" + name + "``"))
            
        else:
            await ctx.respond(get_lang("en", "delete_response_error").format("``" + name + "``") if lang is None else get_lang(lang[0], "delete_response_error").format("``" + name + "``"))
Example #8
0
    async def clear(self, ctx):
        conn = mysql.connector.connect(
            host = HOST, 
            user = USER, 
            passwd = PASSWD,
            database = DATABASE
        )
        c = conn.cursor()
        

        c.execute(f"SELECT * FROM costumers WHERE guild_id = '{ctx.get_guild().id}'")
        c.execute("DELETE FROM costumers")
        c.execute(f"SELECT lan FROM language WHERE guild_id = '{ctx.get_guild().id}'")
        result = c.fetchone()
        conn.commit()
        if result is None: await ctx.respond("```Queue is cleared.```")  
        else: 
            await ctx.respond(get_lang(result[0], "clear_response"))