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])
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
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
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])
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)
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])
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
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
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])
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
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])
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])
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])
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])
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])
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]
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])
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]))
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])