Example #1
0
    async def forge(self, ctx, item=None, nb=1):
        """**{item} {number}** | Allows you to design specific items"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        # param["IDGuild"] = ctx.guild.id
        param["item"] = item
        param["nb"] = nb

        ge.socket.send_string(
            gg.std_send_command("forge", ID, ge.name_pl, param))
        desc = GF.msg_recv()
        lang = desc[1]
        if desc[0] == "OK":
            if item == None:
                msg = discord.Embed(title=lang_P.forge_msg(lang, "recette"),
                                    color=15778560,
                                    description=desc[2])
                await ctx.channel.send(embed=msg)
            else:
                msg = discord.Embed(title=lang_P.forge_msg(
                    lang, "stats", None, False, 4),
                                    color=13752280,
                                    description=desc[2])
                msg.set_author(name=ctx.author.name,
                               icon_url=ctx.author.avatar_url)
                await ctx.channel.send(embed=msg)
        else:
            await ctx.channel.send(desc[2])
    async def success(self, ctx):
        """View your success list"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID

        ge.socket.send_string(gg.std_send_command("success", ID, ge.name_pl, param))
        desc = GF.msg_recv()
        if desc[0] == "OK":
            lang = desc[1]
            msg = discord.Embed(title = lang_P.forge_msg(lang, "success", None, False, 0), color= 6824352, description = "", timestamp=dt.datetime.now())
            descS = desc[2]
            i = 0
            while i < len(descS):
                # print("Success >> {0} a obtenu le succes {1}".format(ctx.author.name, descS[i]))
                titre = descS[i]
                desc = descS[i+1]
                if i % 40 == 0 and i != 0:
                    msg.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
                    await ctx.channel.send(embed = msg)
                    msg = discord.Embed(title = lang_P.forge_msg(lang, "success", None, False, 0), color= 6824352, description = "", timestamp=dt.datetime.now())
                msg.add_field(name=titre, value=desc, inline=False)
                i += 2
            # msg.set_thumbnail(url=ctx.author.avatar_url)
            msg.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed = msg)
        elif desc[0] == "Error":
            await ctx.channel.send(desc[2])
        else:
            await ctx.channel.send(desc[1])
Example #3
0
def gift(PlayerID, lang, param=False):
    desc = ""
    jour = dt.date.today()
    nbgift = r.randint(-3, 3)

    if param:
        nbgift = r.randint(0, 2)
        if nbgift > 0:
            sql.add(PlayerID, "lootbox_gift", nbgift, "inventory")
            sql.add(PlayerID, ["boxes", "lootbox | gift | gain"], nbgift,
                    "statgems")
            desc = lang_P.forge_msg(lang, "lootbox", [nbgift], False, 6)

    elif (jour.month == 12 and jour.day >= 22) and (jour.month == 12
                                                    and jour.day <= 25):
        if nbgift > 0:
            sql.add(PlayerID, "lootbox_gift", nbgift, "inventory")
            sql.add(PlayerID, ["boxes", "lootbox | gift | gain"], nbgift,
                    "statgems")
            desc = lang_P.forge_msg(lang, "lootbox", [nbgift], False, 3)

    elif (jour.month == 12 and jour.day >= 30) or (jour.month == 1
                                                   and jour.day <= 2):
        if nbgift > 0:
            sql.add(PlayerID, "lootbox_gift", nbgift, "inventory")
            sql.add(PlayerID, ["boxes", "lootbox | gift | gain"], nbgift,
                    "statgems")
            desc = lang_P.forge_msg(lang, "lootbox", [nbgift], False, 4)

    return desc
Example #4
0
def lootbox(PlayerID, lang, param=False):
    desc = ""

    D = r.randint(-40, 40)
    if D == 0:
        sql.add(PlayerID, "lootbox_legendarygems", 1, "inventory")
        sql.add(PlayerID, ["boxes", "lootbox | legendary gems | gain"], 1,
                "statgems")
        desc = lang_P.forge_msg(lang, "lootbox", ["{idmoji[gem_lootbox]}"],
                                False, 2)
    elif (D == 10) or (D == -10):
        sql.add(PlayerID, "lootbox_raregems", 1, "inventory")
        sql.add(PlayerID, ["boxes", "lootbox |  rare gems | gain"], 1,
                "statgems")
        desc = lang_P.forge_msg(lang, "lootbox", ["{idmoji[gem_lootbox]}"],
                                False, 1)
    elif (D >= 29 and D <= 31) or (D >= -31 and D <= -29):
        sql.add(PlayerID, "lootbox_commongems", 1, "inventory")
        sql.add(PlayerID, ["boxes", "lootbox | common gems | gain"], 1,
                "statgems")
        desc = lang_P.forge_msg(lang, "lootbox", ["{idmoji[gem_lootbox]}"],
                                False, 0)
    elif param:
        desc = gift(PlayerID, lang, True)

    return desc
Example #5
0
    async def baltop(self, ctx, n=None, m=None):
        """**{filter} {number}** | Player rankings"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        try:
            if n == None:
                n = 10
            else:
                n = int(n)
            filtre = "gems"
        except:
            if m == None:
                filtre = n
                n = 10
            else:
                filtre = n
                n = int(m)
        filtre = filtre.lower()
        param["nb"] = n
        param["filtre"] = filtre
        ge.socket.send_string(
            gg.std_send_command("baltop", ID, ge.name_pl, param))
        desc = GF.msg_recv()

        if desc[0] == "OK":
            lang = desc[1]
            if filtre == "gems" or filtre == "gem" or filtre == "spinelles" or filtre == "spinelle":
                Titre = lang_P.forge_msg(lang, "baltop", None, False, 0)
                if filtre == "spinelles" or filtre == "spinelle":
                    Titre = lang_P.forge_msg(lang, "baltop",
                                             [GF.get_idmoji("spinelle")],
                                             False, 1)

                msg = discord.Embed(title=Titre,
                                    color=13752280,
                                    description=desc[2])
                # Message de réussite dans la console
                print(
                    "Gems >> {} a afficher le classement des {} premiers joueurs | Filtre: {}"
                    .format(ctx.author.name, n, filtre))

            elif filtre == "guild" or filtre == "guilde":
                Titre = lang_P.forge_msg(lang, "baltop", None, False, 2)
                msg = discord.Embed(title=Titre,
                                    color=13752280,
                                    description=desc[2])
                # Message de réussite dans la console
                print(
                    "Gems >> {} a afficher le classement des {} premières guildes"
                    .format(ctx.author.name, n))

            else:
                msg = discord.Embed(title="Classement",
                                    color=13752280,
                                    description="Erreur! Commande incorrect")
            await ctx.channel.send(embed=msg)
        else:
            await ctx.channel.send(desc[2])
Example #6
0
 async def tutorial(self, ctx, lang="EN"):
     """Displays the tutorial !"""
     lang = lang.upper()
     langlist = ["EN", "FR"]
     if lang not in langlist:
         lang = "EN"
     desc = lang_P.forge_msg(lang, "tuto", None, False, 1)
     msg = discord.Embed(title=lang_P.forge_msg(lang, "tuto", None, False,
                                                0),
                         color=13752280,
                         description=desc)
     msg.add_field(name=lang_P.forge_msg(lang, "tuto", None, False, 2),
                   value="https://get-gems.bastion-gaming.fr/tutorial",
                   inline=False)
     await ctx.channel.send(embed=msg)
Example #7
0
    async def bal(self, ctx, nom=None):
        """**{name}** | Are you rich or poor?"""
        ID = ctx.author.id
        param = dict()
        if nom is None:
            nom = ctx.author.name
            param["ID"] = ID
        else:
            IDname = ge.nom_ID(nom)
            param["ID"] = IDname
            nom = ctx.guild.get_member(IDname)
            nom = nom.name
        ge.socket.send_string(gg.std_send_command("bal", ID, ge.name_pl,
                                                  param))
        desc = GF.msg_recv()
        if desc[0] == "OK":
            lang = desc[1]
            title = lang_P.forge_msg(lang, "bal", [nom], False)
            msg = discord.Embed(title=title,
                                color=13752280,
                                description="",
                                timestamp=dt.datetime.now())
            msg.add_field(name="**_Balance_**", value=desc[2], inline=False)

            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)
            # Message de réussite dans la console
            print("Gems >> Balance de {} affichée".format(nom))
            return
        else:
            await ctx.channel.send(desc[2])
Example #8
0
def stats(param):
    nom = param["nom"]
    if nom != "None":
        nom = sql.nom_ID(nom)
        ID = sql.get_SuperID(nom, param["name_pl"])
    else:
        ID = sql.get_SuperID(param["ID"], param["name_pl"])
    lang = param["lang"]
    if ID == "Error 404":
        msg = [
            "WarningMsg",
            lang_P.forge_msg(lang, "WarningMsg", None, False, 0)
        ]
        return msg
    PlayerID = sql.get_PlayerID(ID, "gems")
    msg = []
    desc = sql.valueAt(PlayerID, "all", "statgems")
    if desc != 0:
        msg.append("OK")
        msg.append(lang)
        for x in desc:
            msg.append(str(x))
    else:
        msg.append("NOK")
        msg.append(lang)
    return msg
Example #9
0
def listobjet(param):
    type = param["type"]
    lang = param["lang"]
    msg = []
    list = []
    if type == "item" or type == "items":
        for c in GF.objetItem:
            check = False
            for x in GI.exception:
                if x == c.nom:
                    check = True
            for x in GF.ObjetEventEnd:
                if x == c.nom:
                    check = True
            if not check:
                list.append(c.nom)
    elif type == "outil" or type == "outils":
        for c in GF.objetOutil:
            check = False
            for x in GI.exception:
                if x == c.nom:
                    check = True
            if c.type != "bank" and not check:
                list.append(c.nom)
    else:
        msg.append("NOK")
        msg.append(lang_P.forge_msg(lang, "WarningMsg", None, False, 1))
        return msg
    msg.append("OK")
    msg.append(list)
    return msg
Example #10
0
    async def give(self, ctx, nom, item, nb=None):
        """**[name] [item] [number]** | Give items to your friends!"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        # param["IDGuild"] = ctx.guild.id
        param["nom"] = ctx.author.name
        param["ID_recu"] = ge.nom_ID(nom)
        param["Nom_recu"] = ctx.guild.get_member(param["ID_recu"]).name
        param["item"] = item
        param["nb"] = nb

        ge.socket.send_string(
            gg.std_send_command("give", ID, ge.name_pl, param))
        desc = GF.msg_recv()
        lang = desc[1]
        if desc[0] == "OK":
            msg = discord.Embed(title=lang_P.forge_msg(lang, "stats", None,
                                                       False, 3),
                                color=13752280,
                                description=desc[2])
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)
        else:
            await ctx.channel.send(desc[2])
Example #11
0
def recette(lang):
    """Liste de toutes les recettes disponibles !"""
    d_recette = lang_P.forge_msg(lang, "recette")
    d_recette += "▬▬▬▬▬▬▬▬▬▬▬▬▬\n**Forge**\n"
    for c in objetOutil:
        for R in objetRecette:
            if c.type == "forge":
                if c.nom == R.nom:
                    d_recette += "<:gem_{0}:{1}>`{0}`: ".format(
                        c.nom, "{idmoji[gem_" + c.nom + "]}")
                    if R.nb1 > 0:
                        d_recette += "{0} <:gem_{1}:{2}>`{1}` ".format(
                            R.nb1, R.item1, "{idmoji[gem_" + R.item1 + "]}")
                    if R.nb2 > 0:
                        d_recette += "et {0} <:gem_{1}:{2}>`{1}` ".format(
                            R.nb2, R.item2, "{idmoji[gem_" + R.item2 + "]}")
                    if R.nb3 > 0:
                        d_recette += "et {0} <:gem_{1}:{2}>`{1}` ".format(
                            R.nb3, R.item3, "{idmoji[gem_" + R.item3 + "]}")
                    if R.nb4 > 0:
                        d_recette += "et {0} <:gem_{1}:{2}>`{1}` ".format(
                            R.nb4, R.item4, "{idmoji[gem_" + R.item4 + "]}")
                    d_recette += "\n"

    return d_recette
Example #12
0
def admin(param):
    fct = param["fct"]
    arg2 = param["arg2"]
    arg3 = param["arg3"]
    arg4 = param["arg4"]
    msg = []
    if fct == "playerid":
        if arg2 == "None":
            platform = param["name_pl"]
        else:
            platform = arg2
    else:
        platform = param["name_pl"]
    if param["name_pl"] == "Admin" and fct != "playerid":
        PlayerID = int(param["ID"])
        lang = "EN"
    else:
        ID = sql.get_SuperID(int(param["ID"]), platform)
        lang = param["lang"]
        if ID == "Error 404":
            msg = [
                "WarningMsg",
                lang_P.forge_msg(lang, "WarningMsg", None, False, 0)
            ]
            return msg
        PlayerID = sql.get_PlayerID(ID, "gems")

    if fct == "init":
        sql.init()
    elif fct == "update":
        # arg2 = nameDB | arg3 = fieldName | arg4 = fieldValue
        desc = sql.updateField(PlayerID, arg3, arg4, arg2)
    elif fct == "add":
        # arg2 = nameDB | arg3 = nameElem | arg4 = nbElem
        desc = sql.add(PlayerID, arg3, arg4, arg2)
    elif fct == "value":
        # arg2 = nameDB | arg3 = nameElem
        desc = sql.valueAt(PlayerID, arg3, arg2)
    elif fct == "gems":
        # arg2 = nb gems
        desc = sql.addGems(PlayerID, arg2)
    elif fct == "spinelles":
        # arg2 = nb spinelles
        desc = sql.addSpinelles(PlayerID, arg2)
    elif fct == "balance total" or fct == 'balancetotal':
        desc = "Balance total"
        desc += "\n{}:gem:".format(sql.countTotalGems())
        spinelleidmoji = "{idmoji[spinelle]}"
        desc += "\n{0}<:spinelle:{1}>".format(sql.countTotalSpinelles(),
                                              spinelleidmoji)
    elif fct == "playerid":
        desc = "PlayerID: {}".format(PlayerID)
    else:
        desc = ":regional_indicator_s::regional_indicator_q::regional_indicator_l:"

    msg.append("Admin {}".format(fct))
    msg.append(lang)
    msg.append(str(desc))
    return msg
    async def hothouse(self, ctx, item=None):
        """**{seed/pumpkin}** | Let's plant mates!"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        param["item"] = item
        ge.socket.send_string(
            gg.std_send_command("hothouse", ID, ge.name_pl, param))
        msg = GF.msg_recv()

        if msg[0] == "OK":
            lang = msg[1]
            nbplanting = msg[2]
            desc = lang_P.forge_msg(lang, "hothouse", [GF.get_idmoji("seed")],
                                    False, 0)
            titre = lang_P.forge_msg(lang, "hothouse", None, False, 1)
            MsgEmbed = discord.Embed(title=titre,
                                     color=6466585,
                                     description=desc)
            k = len(msg)
            i = 3
            while i < k:
                j = (i - 3) / 2
                if j % 10 == 0 and j != nbplanting and j != 0:
                    if j // 10 == 1:
                        await ctx.channel.send(embed=MsgEmbed)
                    else:
                        await ctx.channel.send(embed=MsgEmbed, delete_after=90)
                    MsgEmbed = discord.Embed(
                        title=lang_P.forge_msg(lang, "hothouse",
                                               [int((j // 10) + 1)], False, 2),
                        color=6466585,
                        description="Voici tes plantation.")
                    MsgEmbed.add_field(name=lang_P.forge_msg(
                        lang, "hothouse", [msg[i]], False, 3),
                                       value=msg[i + 1],
                                       inline=False)
                else:
                    MsgEmbed.add_field(name=lang_P.forge_msg(
                        lang, "hothouse", [msg[i]], False, 3),
                                       value=msg[i + 1],
                                       inline=False)
                i += 2
            await ctx.channel.send(embed=MsgEmbed)
        else:
            await ctx.channel.send(msg[1])
    async def ferment(self, ctx, item=None):
        """**{grapes/wheat}** | Fermentation winery. Unlimited alcohol!"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        param["item"] = item
        ge.socket.send_string(
            gg.std_send_command("ferment", ID, ge.name_pl, param))
        msg = GF.msg_recv()

        if msg[0] == "OK":
            lang = msg[1]
            nbplanting = msg[2]
            desc = lang_P.forge_msg(lang, "ferment", None, False, 0)
            titre = lang_P.forge_msg(lang, "ferment", None, False, 1)
            MsgEmbed = discord.Embed(title=titre,
                                     color=9633863,
                                     description=desc)
            k = len(msg)
            i = 3
            while i < k:
                j = (i - 3) / 2
                if j % 10 == 0 and j != nbplanting and j != 0:
                    if j // 10 == 1:
                        await ctx.channel.send(embed=MsgEmbed)
                    else:
                        await ctx.channel.send(embed=MsgEmbed, delete_after=90)
                    MsgEmbed = discord.Embed(title=lang_P.forge_msg(
                        lang, "ferment", [int((j // 10) + 1)], False, 2),
                                             color=9633863,
                                             description="Voici vos barrils.")
                    MsgEmbed.add_field(name=lang_P.forge_msg(
                        lang, "ferment", [msg[i]], False, 3),
                                       value=msg[i + 1],
                                       inline=False)
                else:
                    MsgEmbed.add_field(name=lang_P.forge_msg(
                        lang, "ferment", [msg[i]], False, 3),
                                       value=msg[i + 1],
                                       inline=False)
                i += 2
            await ctx.channel.send(embed=MsgEmbed)
        else:
            await ctx.channel.send(msg[1])
Example #15
0
 async def godparent(self, ctx, nom):
     """**[name]** | Allows you to add a player as a godparent."""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     param["GPID"] = ge.nom_ID(nom)
     ge.socket.send_string(
         gg.std_send_command("godparent", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if ID == ge.nom_ID(nom):
         await ctx.channel.send(lang_P.forge_msg(lang, "godparent"))
     else:
         await ctx.channel.send(desc[2])
Example #16
0
def checklevel(ID):
    lang = sql.valueAtNumber(ID, "LANG", "IDs")
    if lang == None:
        lang = "EN"
    if ID == "Error 404":
        msg = [
            "WarningMsg",
            lang_P.forge_msg(lang, "WarningMsg", None, False, 0)
        ]
        return msg
    PlayerID = sql.get_PlayerID(ID, "gems")
    # print(PlayerID)
    msg = []
    S = success.checkSuccess(PlayerID, lang)
    try:
        lvl = sql.valueAtNumber(PlayerID, "lvl", "gems")
        xp = sql.valueAtNumber(PlayerID, "xp", "gems")
        palier = lvlPalier(lvl)
        desc = ""
        if xp >= palier:
            lvl = lvl + 1
            sql.updateField(PlayerID, "lvl", lvl, "gems")
            desc = lang_P.forge_msg(lang, "level", [lvl], False, 0)
            nbG = 100 * lvl
            sql.addGems(PlayerID, nbG)
            desc += lang_P.forge_msg(lang, "level", [nbG], False, 1)
            msg.append("Level UP")
        else:
            msg.append("Level OK")
        msg.append(desc)
        if S != []:
            msg.append(S)
    except:
        print("Level >> Le joueur n'existe pas.")
        msg.append("Level NOK")
        msg.append("Le joueur n'existe pas")
    return msg
 async def fish(self, ctx):
     """Let us sin mates!"""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     ge.socket.send_string(
         gg.std_send_command("fish", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "stats", None,
                                                    False, 7),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
 async def crime(self, ctx):
     """Commit a crime and earn :gem:`gems` Beware of DiscordCop!"""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     ge.socket.send_string(
         gg.std_send_command("crime", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                    False, 2),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
 async def gamble(self, ctx, valeur):
     """**[bet]** | Are you a gambler's man?"""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     param["valeur"] = valeur
     ge.socket.send_string(
         gg.std_send_command("gamble", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                    False, 3),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
 async def stealing(self, ctx, name=None):
     """**{name}** | Steal :gem:`gems` from other players!"""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     param["name"] = name
     ge.socket.send_string(
         gg.std_send_command("stealing", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                    False, 1),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
 async def slots(self, ctx, imise=None):
     """**{bet}** | Slot machine, minimum bet is 10 :gem:`gems`"""
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     param["imise"] = imise
     ge.socket.send_string(
         gg.std_send_command("slots", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "stats", None,
                                                    False, 9),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
 async def daily(self, ctx):
     """Get your daily reward!"""
     # =======================================================================
     # Initialisation des variables générales de la fonction
     # =======================================================================
     ID = ctx.author.id
     param = dict()
     param["ID"] = ID
     ge.socket.send_string(
         gg.std_send_command("daily", ID, ge.name_pl, param))
     desc = GF.msg_recv()
     lang = desc[1]
     if desc[0] == "OK":
         msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                    False, 0),
                             color=13752280,
                             description=desc[2])
         msg.set_author(name=ctx.author.name,
                        icon_url=ctx.author.avatar_url)
         await ctx.channel.send(embed=msg)
     else:
         await ctx.channel.send(desc[2])
Example #23
0
    async def sell(self, ctx, item, nb=1):
        """**[item] {number}** | Allows you to sell your items!"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        # param["IDGuild"] = ctx.guild.id
        param["nb"] = nb
        param["item"] = item

        ge.socket.send_string(
            gg.std_send_command("sell", ID, ge.name_pl, param))
        desc = GF.msg_recv()
        lang = desc[1]
        if desc[0] == "OK":
            msg = discord.Embed(title=lang_P.forge_msg(lang, "stats", None,
                                                       False, 2),
                                color=13752280,
                                description=desc[2])
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)
        else:
            await ctx.channel.send(desc[2])
Example #24
0
    async def market(self, ctx, fct=None):
        """**{stand}** | Allows you to see all the items you can buy or sell!"""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        # param["IDGuild"] = ctx.guild.id
        if fct is not None:
            fct = fct.lower()
        param["fct"] = fct

        ge.socket.send_string(
            gg.std_send_command("market", ID, ge.name_pl, param))
        desc = GF.msg_recv()

        if desc[0] == "OK":
            lang = desc[1]
            if fct != None:
                msg = discord.Embed(title=lang_P.forge_msg(
                    lang, "market", [fct], False, 1),
                                    color=2461129,
                                    description=desc[2],
                                    timestamp=dt.datetime.now())
            else:
                msg = discord.Embed(title=lang_P.forge_msg(
                    lang, "market", None, False, 0),
                                    color=2461129,
                                    description=desc[2],
                                    timestamp=dt.datetime.now())
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            if fct == "mobile":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 0),
                              value=desc[3],
                              inline=False)
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 1),
                              value=desc[4],
                              inline=False)
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 3),
                              value=desc[5],
                              inline=False)
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 4),
                              value=desc[6],
                              inline=False)
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 5),
                              value=desc[7],
                              inline=False)
                if desc[7] != "None":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 2),
                                  value=desc[8],
                                  inline=False)
                if desc[8] != "None":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 6),
                                  value=desc[9],
                                  inline=False)
                if desc[9] != "None":
                    msg.add_field(name="Spinelles <:spinelle:{}>".format(
                        GF.get_idmoji("spinelle")),
                                  value=desc[10],
                                  inline=False)

                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 7),
                              value=desc[11],
                              inline=False)
                await ctx.channel.send(embed=msg)

            else:
                if fct == None or fct == "outil" or fct == "outils":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 0),
                                  value=desc[4],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[5],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[6],
                                  inline=True)

                if fct == None or fct == "outils" or fct == "outil" or fct == "item" or fct == "items" or fct == "minerai" or fct == "minerais" or fct == "poissons" or fct == "fish" or fct == "plantes" or fct == "plants" or fct == "event" or fct == "événements":
                    if desc[6] != "None":
                        msg.add_field(name=lang_P.forge_msg(
                            lang, "categorie", None, False, 1),
                                      value=desc[7],
                                      inline=True)
                        msg.add_field(name=lang_P.forge_msg(
                            lang, "market", None, False, 2),
                                      value=desc[8],
                                      inline=True)
                        msg.add_field(name=lang_P.forge_msg(
                            lang, "market", None, False, 4),
                                      value=desc[9],
                                      inline=True)

                if fct == None or fct == "minerai" or fct == "minerais":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 3),
                                  value=desc[10],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[11],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[12],
                                  inline=True)

                if fct == None or fct == "fish" or fct == "poissons":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 4),
                                  value=desc[13],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[14],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[15],
                                  inline=True)

                if fct == None or fct == "plants" or fct == "plantes":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 5),
                                  value=desc[16],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[17],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[18],
                                  inline=True)

                if fct == None or fct == "item" or fct == "items":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 2),
                                  value=desc[19],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[20],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[21],
                                  inline=True)

                if fct == None or fct == "event" or fct == "événements":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 6),
                                  value=desc[22],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 2),
                                  value=desc[23],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 4),
                                  value=desc[24],
                                  inline=True)

                if fct == None or fct == "lootbox":
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "categorie", None, False, 7),
                                  value=desc[25],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 3),
                                  value=desc[26],
                                  inline=True)
                    msg.add_field(name=lang_P.forge_msg(
                        lang, "market", None, False, 5),
                                  value=desc[27],
                                  inline=True)
                await ctx.channel.send(embed=msg)

        else:
            await ctx.channel.send(desc[2])
Example #25
0
def create_graphbourse(ctx, item, yearStart, monthStart, yearEnd, monthEnd):
    ID = ctx.author.id
    now = dt.datetime.now()
    param = dict()
    param["ID"] = ID
    param["item"] = item
    param["yearStart"] = yearStart
    param["monthStart"] = monthStart
    param["yearEnd"] = yearEnd
    param["monthEnd"] = monthEnd

    ge.socket.send_string(
        gg.std_send_command("csv_read", ID, ge.name_pl, param))
    msg = GF.msg_recv()

    if msg[0] == "NOK":
        return ["404", msg[2]]
    else:
        dataitem = msg[2]
        lang = msg[1]
    axeX = []
    axeY1 = []
    axeY2 = []
    for data in dataitem:
        date_time_obj = dt.datetime.strptime(data[0], '%Y-%m-%d %H:%M:%S.%f')
        axeX.append("{day}\n{h}:{m}".format(day=date_time_obj.day,
                                            h=date_time_obj.hour,
                                            m=date_time_obj.minute))
        axeY1.append(int(data[1]))
        axeY2.append(int(data[2]))
    namegraph = "bourse_{item} {year}-{month}-{day} {h}_{m}_{s}.png".format(
        item=item,
        year=now.year,
        month=now.month,
        day=now.day,
        h=now.hour,
        m=now.minute,
        s=now.second)
    plt.figure()
    plt.subplot(2, 1, 1)
    plt.plot(axeX,
             axeY2,
             color='tab:blue',
             label=lang_P.forge_msg(lang, "graphbourse", None, False, 0),
             marker='8')
    if int(monthStart) == int(monthEnd) and int(yearStart) == int(yearEnd):
        plt.title("{i}  ▌ {m} {y}".format(i=item,
                                          m=lang_P.forge_msg(
                                              lang, "month", None, False,
                                              int(monthStart) - 1),
                                          y=yearStart))
    else:
        plt.title("{i}  ▌ {m} {y} ▶ {nowM} {nowY}".format(
            i=item,
            m=lang_P.forge_msg(lang, "month", None, False,
                               int(monthStart) - 1),
            y=yearStart,
            nowM=lang_P.forge_msg(lang, "month", None, False,
                                  int(monthEnd) - 1),
            nowY=yearEnd))
    plt.margins(x=0.02, y=0.1)
    plt.legend()
    plt.subplot(2, 1, 2)
    plt.plot(axeX,
             axeY1,
             color='tab:red',
             label=lang_P.forge_msg(lang, "graphbourse", None, False, 1),
             marker='8')
    plt.margins(x=0.02, y=0.1)
    plt.legend()
    plt.savefig("cache/{}".format(namegraph))
    plt.clf()
    return [namegraph, lang]
Example #26
0
def newPlayer(ID, nameDB, platform, name=None):
    """
    Permet d'ajouter un nouveau joueur à la base de donnée en fonction de son ID.

    ID: int de l'ID du joueur
    """
    langue = "EN"
    with open("DB/Templates/{}Template.json".format(nameDB), "r") as f:
        t = json.load(f)
    if nameDB == "gems":
        with open("DB/Templates/dailyTemplate.json", "r") as f:
            t2 = json.load(f)
        with open("DB/Templates/bankTemplate.json", "r") as f:
            t3 = json.load(f)

    SuperID = get_SuperID(ID, platform)
    cursor = conn.cursor()
    if SuperID == "Error 404":
        # Init du joueur avec les champs de base
        script = "INSERT INTO IDs (ID_{1}, LANG, Pseudo) VALUES ({0}, 'EN', '{2}')".format(
            ID, platform, name)
        cursor.execute(script)
        conn.commit()
        SuperID = get_SuperID(ID, platform)
        data = "ID"
        values = SuperID
        for x in t:
            if x != "id{}".format(nameDB) and x != "ID":
                data += ", {}".format(x)
                if "INTEGER" in t[x]:
                    values += ", 0"
                else:
                    values += ", NULL"
        script = "INSERT INTO {0} ({1}) VALUES ({2})".format(
            nameDB, data, values)
        cursor.execute(script)
        conn.commit()
        if nameDB == "gems":
            # Init du joueur dans Get Gems avec les champs de base
            PlayerID = get_PlayerID(SuperID, "gems")
            data = "idgems"
            values = PlayerID
            for x in t2:
                if x != "id{}".format(nameDB) and x != "ID":
                    data += ", {}".format(x)
                    if "INTEGER" in t2[x]:
                        values += ", 0"
                    else:
                        values += ", NULL"
            script = "INSERT INTO daily ({0}) VALUES ({1})".format(
                data, values)
            # print(script)
            cursor.execute(script)
            conn.commit()

            data = "idgems"
            values = PlayerID
            for x in t3:
                if x != "id{}".format(nameDB) and x != "ID":
                    data += ", {}".format(x)
                    if "INTEGER" in t3[x]:
                        values += ", 0"
                    else:
                        values += ", NULL"
            script = "INSERT INTO bank ({0}) VALUES ({1})".format(data, values)
            # print(script)
            cursor.execute(script)
            conn.commit()
        return lang_P.forge_msg(langue, "newPlayer", None, False, 0)
    else:
        return lang_P.forge_msg(langue, "newPlayer", None, False, 1)
    async def stats(self, ctx, Nom = None):
        """Player stats display."""
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        if ge.permission(ctx, ge.Inquisiteur):
            param["nom"] = Nom
            if Nom == None:
                Nom = ctx.author.name
            else:
                Nom = ctx.guild.get_member(ge.nom_ID(Nom)).name
        else:
            param["nom"] = "None"
            Nom = ctx.author.name

        ge.socket.send_string(gg.std_send_command("stats", ID, ge.name_pl, param))
        tab = GF.msg_recv()
        lang = tab[1]
        if tab[0] == "NOK":
            await ctx.channel.send(lang_P.forge_msg(lang, "WarningMsg", None, False, 0))
            return False
        elif tab[0] == "WarningMsg":
            await ctx.channel.send(tab[1])
            return False
        ltab = len(tab)
        StatList = []
        for i in range(2, ltab):
            tab[i] = tab[i].replace("(", "")
            tab[i] = tab[i].replace(")", "")
            tab[i] = tab[i].replace("'", "")
            tab[i] = tab[i].split(", ")
            StatList.append((tab[i][0], tab[i][1], tab[i][2]))
        StatList = sorted(StatList, key=itemgetter(2))
        StatList = sorted(StatList, key=itemgetter(1))
        desc = ""           # Statistique non pris en charge
        descGeneral = ""     # bal, baltop, inv, market, divers
        descBuy = ""        # buy
        descSell = ""       # sell
        descDon = ""        # pay, give
        descForge = ""      # forge
        descBank = ""       # bank, stealing, crime, gamble
        descMine = ""       # mine
        descDig = ""        # dig
        descFish = ""       # fish
        descSlots = ""      # slots
        descBoxes = ""      # boxes
        descHothouse = ""   # hothouse
        descCooking = ""    # cooking
        descFerment = ""    # ferment
        for x in StatList:
            y = x[2].split(" | ")
            if x[1] == "bal" or x[1] == "inv" or x[1] == "market" or x[1] == "baltop":
                if x[2] == x[1]:
                    descGeneral += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))

            elif x[1] == "buy":
                if x[2] == x[1]:
                    descBuy += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descBuy += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 1))
                        elif y[i] == "dépense":
                            descBuy += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 16))
                        else:
                            descBuy += y[i] + " "
                        if i == len(y)-1:
                            descBuy += ": `{0}`\n\n".format(x[0])

            elif x[1] == "sell":
                if x[2] == x[1]:
                    descSell += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descSell += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 2))
                        elif y[i] == "gain":
                            descSell += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 17))
                        else:
                            descSell += y[i] + " "
                        if i == len(y)-1:
                            descSell += ": `{0}`\n\n".format(x[0])

            elif x[1] == "pay" or x[1] == "give":
                if x[2] == x[1]:
                    descDon += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(0, len(y)):
                        if x[1] == "give" and y[i] == "item":
                            descDon += "{0} {1} ".format(lang_P.forge_msg(lang, "stats", None, False, 3), y[i+1])
                        elif y[i] == "nb items" or y[i] == "nb gems":
                            descDon += "{0} {1} ".format(lang_P.forge_msg(lang, "stats", None, False, 3), lang_P.forge_msg(lang, "stats", None, False, 21))
                            if y[i] == "nb items":
                                descDon += "items "
                            else:
                                descDon += "gems "
                        elif y[i] != "pay" and y[i] != "give":
                            descDon += y[i] + " "
                        if i == len(y)-1:
                            descDon += ": `{0}`\n\n".format(x[0])

            elif x[1] == "forge":
                if x[2] == x[1]:
                    descForge += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descForge += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 4))
                        elif y[i] == "nb items":
                            descForge += "{0} {1} items ".format(lang_P.forge_msg(lang, "stats", None, False, 4), lang_P.forge_msg(lang, "stats", None, False, 21))
                        else:
                            descForge += y[i] + " "
                        if i == len(y)-1:
                            descForge += ": `{0}`\n\n".format(x[0])

            elif x[1] == "bank" or x[1] == "stealing" or x[1] == "crime" or x[1] == "gamble":
                if x[2] == x[1] or x[2] == "bank saving":
                    descBank += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(0, len(y)):
                        if x[1] == "bank" and y[i] == "gain":
                            descBank += "{0} {1} ".format(lang_P.forge_msg(lang, "stats", None, False, 17), lang_P.forge_msg(lang, "stats", None, False, 22))
                        elif x[1] == "stealing" and y[i] == "gain":
                            descBank += "{0} {1} ".format(lang_P.forge_msg(lang, "stats", None, False, 17), lang_P.forge_msg(lang, "stats", None, False, 24))
                        elif x[1] == "gamble":
                            if y[i] == "win":
                                descBank += "Gamble {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 23))
                            elif y[i] == "max":
                                descBank += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 29))
                            elif y[i] == "gain" or y[i] == "perte":
                                if y[i] == "gain":
                                    descBank += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 17))
                                elif y[i] == "perte":
                                    descBank += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 18))
                                descBank += "_gamble_ "
                        elif x[1] == "crime" and y[i] == "gain":
                            descBank += "{0} _crime_ ".format(lang_P.forge_msg(lang, "stats", None, False, 17))
                        elif x[1] != "bank" and x[1] != "crime" and x[1] != "stealing":
                            descBank += y[i] + " "
                        if i == len(y)-1:
                            descBank += ": `{0}`\n\n".format(x[0])

            elif x[1] == "mine":
                if x[2] == x[1]:
                    descMine += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descMine += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 6))
                        elif y[i] == "broken":
                            descMine += "{0} ".format(lang_P.forge_msg(lang, "stats", [y[i+1]], False, 19))
                        elif y[1] != "broken":
                            descMine += y[i] + " "
                        if i == len(y)-1:
                            descMine += ": `{0}`\n\n".format(x[0])

            elif x[1] == "fish":
                if x[2] == x[1]:
                    descFish += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descFish += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 7))
                        elif y[i] == "broken":
                            descFish += "{0} ".format(lang_P.forge_msg(lang, "stats", [y[i+1]], False, 19))
                        elif y[1] != "broken":
                            descFish += y[i] + " "
                        if i == len(y)-1:
                            descFish += ": `{0}`\n\n".format(x[0])

            elif x[1] == "dig":
                if x[2] == x[1]:
                    descDig += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "item":
                            descDig += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 8))
                        elif y[i] == "broken":
                            descDig += "{0} ".format(lang_P.forge_msg(lang, "stats", [y[i+1]], False, 19))
                        elif y[1] != "broken":
                            descDig += y[i] + " "
                        if i == len(y)-1:
                            descDig += ": `{0}`\n\n".format(x[0])

            elif x[1] == "slots":
                if x[2] == x[1]:
                    descSlots += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "gain":
                            descSlots += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 17))
                        elif y[i] == "perte":
                            descSlots += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 18))
                        elif y[i] == "win":
                            descSlots += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 30))
                        elif y[i] == "lose":
                            descSlots += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 31))
                        else:
                            descSlots += y[i] + " "
                        if i == len(y)-1:
                            descSlots += ": `{0}`\n\n".format(x[0])

            elif x[1] == "boxes":
                if x[2] == x[1]:
                    descBoxes += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "gain" and y[0] == "boxes":
                            descBoxes += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 17))
                        elif y[i] == "gain" and y[0] == "lootbox":
                            descBoxes += "Lootbox {0}".format(y[1])
                        elif y[i] == "open":
                            descBoxes += "{0} ".format(lang_P.forge_msg(lang, "stats", None, False, 20))
                        elif y[0] != "lootbox":
                            descBoxes += y[i] + " "
                        if i == len(y)-1:
                            descBoxes += ": `{0}`\n\n".format(x[0])

            elif x[1] == "hothouse":
                if x[2] == x[1]:
                    descHothouse += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "harvest":
                            descHothouse += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 25), y[3])
                        elif y[i] == "plant":
                            descHothouse += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 26), y[3])
                        if i == len(y)-1:
                            descHothouse += ": `{0}`\n\n".format(x[0])

            elif x[1] == "cooking":
                if x[2] == x[1]:
                    descCooking += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "harvest":
                            descCooking += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 25), y[3])
                        elif y[i] == "plant":
                            descCooking += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 27), y[3])
                        if i == len(y)-1:
                            descCooking += ": `{0}`\n\n".format(x[0])

            elif x[1] == "ferment":
                if x[2] == x[1]:
                    descFerment += "{2} **{1}** `{0}`\n\n".format(x[0], x[2], lang_P.forge_msg(lang, "stats", None, False, 15))
                else:
                    for i in range(1, len(y)):
                        if y[i] == "harvest":
                            descFerment += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 25), y[3])
                        elif y[i] == "plant":
                            descFerment += "{1} {0} ".format(lang_P.forge_msg(lang, "stats", None, False, 28), y[3])
                        if i == len(y)-1:
                            descFerment += ": `{0}`\n\n".format(x[0])

            else:
                desc += "\n{1} `{0}`".format(x[0], x[2])

        msg = discord.Embed(title = "Statistiques de {0} | Gems Base".format(Nom), color= 13752280, description = "", timestamp=dt.datetime.now())
        msg.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
        # if descGeneral != "":
        #     msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 0), value=descGeneral)
        if descBuy != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 1), value=descBuy)
        if descSell != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 2), value=descSell)
        if descDon != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 3), value=descDon)
        if descForge != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 4), value=descForge)
        if desc != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 14), value=desc)

        await ctx.channel.send(embed = msg)
        msg = discord.Embed(title = "Statistiques de {0} | Gems Play".format(Nom), color= 13752280, description = "", timestamp=dt.datetime.now())
        msg.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
        if descBank != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 5), value=descBank)
        if descMine != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 6), value=descMine)
        if descFish != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 7), value=descFish)
        if descDig != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 8), value=descDig)
        if descSlots != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 9), value=descSlots)
        if descBoxes != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 10), value=descBoxes)
        if descHothouse != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 11), value=descHothouse)
        if descCooking != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 12), value=descCooking)
        if descFerment != "":
            msg.add_field(name=lang_P.forge_msg(lang, "stats", None, False, 13), value=descFerment)

        await ctx.channel.send(embed = msg)
    async def bank(self, ctx, ARG=None, ARG2=None):
        """**[bal/add/saving] [name/number]** | Savings account"""
        # =======================================================================
        # Initialistation des variables générales de la fonction
        # =======================================================================
        ID = ctx.author.id
        param = dict()
        param["ID"] = ID
        param["ARG"] = ARG
        param["ARG2"] = ARG2

        ge.socket.send_string(
            gg.std_send_command("bank", ID, ge.name_pl, param))
        desc = GF.msg_recv()
        lang = desc[1]
        if ARG == "bal" and ARG2 is not None:
            N = ctx.guild.get_member(ge.nom_ID(ARG2)).name
        else:
            N = ctx.author.name

        if desc[0] == "bal":
            if ARG2 != None:
                ID = ge.nom_ID(ARG2)
                nom = ctx.guild.get_member(ID)
                ARG2 = nom.name
                title = lang_P.forge_msg(lang, "bank", [N], False)
                # title = "Compte épargne de {}".format(ARG2)
            else:
                title = lang_P.forge_msg(lang, "bank", [N], False)
                # title = "Compte épargne de {}".format(ctx.author.name)
            msg = discord.Embed(title=title,
                                color=13752280,
                                description="",
                                timestamp=dt.datetime.now())
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            msg.add_field(name="Balance", value=desc[2], inline=False)
            msg.add_field(name="Commandes", value=desc[3], inline=False)
            await ctx.channel.send(embed=msg)

        elif desc[0] == "add":
            msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                       False, 4),
                                color=13752280,
                                description=desc[2],
                                timestamp=dt.datetime.now())
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)

        elif desc[0] == "saving":
            msg = discord.Embed(title=lang_P.forge_msg(lang, "titres", None,
                                                       False, 5),
                                color=13752280,
                                description=desc[2],
                                timestamp=dt.datetime.now())
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)

        else:
            await ctx.channel.send(desc[2])
Example #29
0
    async def graphbourse(self,
                          ctx,
                          item,
                          moisD=None,
                          anneeD=None,
                          moisF=None,
                          anneeF=None,
                          type=None):
        """**[item] {start month} {start year} {final month} {final year}** | Exchange History by Item"""
        ID = ctx.author.id
        now = dt.datetime.now()

        if item.lower() == "all":
            if anneeF is not None:
                temp = type
            type = moisD.lower()
            if anneeD is None:
                anneeD = str(now.year)
                moisD = str(now.month)
            else:
                moisD = anneeD
                anneeD = moisF
            if anneeF is None:
                moisF = str(now.month)
                anneeF = str(now.year)
            else:
                moisF = anneeF
                anneeF = temp
            param = dict()
            param["ID"] = ID
            param["type"] = type

            ge.socket.send_string(
                gg.std_send_command("listobjet", ID, ge.name_pl, param))
            msg = GF.msg_recv()

            if msg[0] == "NOK":
                await ctx.channel.send(msg[1])
            else:
                for one in msg[1]:
                    graph = GS.create_graphbourse(ctx, one, anneeD, moisD,
                                                  anneeF, moisF)
                    lang = graph[1]
                    if graph[0] == "404":
                        await ctx.send(
                            lang_P.forge_msg(lang, "WarningMsg", None, False,
                                             0))
                    else:
                        await ctx.send(
                            file=discord.File("cache/{}".format(graph[0])))
                        os.remove("cache/{}".format(graph[0]))
        else:
            if moisD == None:
                moisD = str(now.month)
            if anneeD == None:
                anneeD = str(now.year)
            if moisF == None:
                moisF = str(now.month)
            if anneeF == None:
                anneeF = str(now.year)
            graph = GS.create_graphbourse(ctx, item, anneeD, moisD, anneeF,
                                          moisF)
            lang = graph[1]
            if graph[0] == "404":
                await ctx.send(
                    lang_P.forge_msg(lang, "WarningMsg", None, False, 0))
            else:
                await ctx.send(file=discord.File("cache/{}".format(graph[0])))
                os.remove("cache/{}".format(graph[0]))
Example #30
0
    async def inv(self, ctx, fct=None):
        """**{pocket name}** | Allows you to see what you have in your belly!"""
        ID = ctx.author.id
        nom = ctx.author.name
        param = dict()
        param["ID"] = ID
        # param["IDGuild"] = ctx.guild.id
        if fct is not None:
            fct = fct.lower()
        param["fct"] = fct

        ge.socket.send_string(gg.std_send_command("inv", ID, ge.name_pl,
                                                  param))
        desc = GF.msg_recv()

        if desc[0] == "OK":
            lang = desc[1]
            msg_titre = lang_P.forge_msg(lang, "inv", [nom], False, 0)
            msg = discord.Embed(title=msg_titre,
                                color=6466585,
                                description=desc[2])
            if desc[3] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 0),
                              value=desc[3],
                              inline=False)
            if desc[4] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 1),
                              value=desc[4],
                              inline=False)
            if desc[5] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 2),
                              value=desc[5],
                              inline=False)
            if desc[6] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 3),
                              value=desc[6],
                              inline=False)
            if desc[7] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 4),
                              value=desc[7],
                              inline=False)
            if desc[8] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 5),
                              value=desc[8],
                              inline=False)
            if desc[9] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 6),
                              value=desc[9],
                              inline=False)
            if desc[10] != "None":
                msg.add_field(name=lang_P.forge_msg(lang, "categorie", None,
                                                    False, 7),
                              value=desc[10],
                              inline=False)
            await ctx.channel.send(embed=msg)

        elif desc[0] == "pockets":
            lang = desc[1]
            msg = discord.Embed(title=lang_P.forge_msg(lang, "inv", None,
                                                       False, 1),
                                color=6466585,
                                description=desc[2],
                                timestamp=dt.datetime.now())
            msg.set_author(name=ctx.author.name,
                           icon_url=ctx.author.avatar_url)
            await ctx.channel.send(embed=msg)

        else:
            await ctx.channel.send(desc[2])