async def on_guild_join(guild): if guild.system_channel != None: systemchannel = guild.system_channel else: systemchannel = 0 param = dict() param["IDGuild"] = guild.id param["name"] = guild.name ge.socket.send_string(gg.std_send_command("NewServer", guild.id, ge.name_pl, param)) GF.msg_recv() await systemchannel.send('Bonjour **{0}**!'.format(guild.name))
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])
async def admin(self, ctx, fct=None, ID=None, arg2=None, arg3=None, arg4=None): if ID == None: ID = ctx.author.id else: try: ID = int(ID) except: ID = ge.nom_ID(ID) param = dict() param["ID"] = ID param["fct"] = fct param["arg2"] = arg2 param["arg3"] = arg3 param["arg4"] = arg4 if ge.permission(ctx, ge.admin): ge.socket.send_string( gg.std_send_command("admin", ID, ge.name_pl, param)) msg = GF.msg_recv() await ctx.channel.send(msg[2]) else: await ctx.channel.send( "[Admin Command] Tu n'est pas autorisé à utiliser cette commande!" )
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])
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 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])
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 begin(self, ctx): """To create your player account and get your starter kit!""" ID = ctx.author.id param = dict() param["ID"] = ID param["name"] = ctx.author.name ge.socket.send_string( gg.std_send_command("begin", ID, ge.name_pl, param)) msg = GF.msg_recv() await ctx.channel.send(msg[2])
async def connect(self, ctx, PlayerID): """**[PlayerID]** | WIP | Connecting a player account from another platform""" ID = ctx.author.id param = dict() param["ID"] = ID param["PlayerID"] = PlayerID ge.socket.send_string( gg.std_send_command("connect", ID, ge.name_pl, param)) desc = GF.msg_recv() # if desc[0] == "OK": # # A faire await ctx.channel.send(desc[2])
async def lang(self, ctx, langue=None): """**{language}** | Allows you to change the language for a player.""" ID = ctx.author.id param = dict() param["ID"] = ID param["langue"] = langue ge.socket.send_string( gg.std_send_command("lang", ID, ge.name_pl, param)) desc = GF.msg_recv() await ctx.channel.send(desc[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])
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 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 open(self, ctx, name=None): """**[name]** | Loot Box Opening""" ID = ctx.author.id param = dict() param["ID"] = ID param["name"] = name ge.socket.send_string( gg.std_send_command("open", ID, ge.name_pl, param)) msg = GF.msg_recv() if msg[0] == "OK": titre = msg[2] desc = msg[1] MsgEmbed = discord.Embed(title="Loot Box | {}".format(titre), color=13752280, description=desc) MsgEmbed.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url) await ctx.channel.send(embed=MsgEmbed) else: await ctx.channel.send(msg[1])
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 checklevel(message): ID = message.author.id nom = message.author.name ge.socket.send_string(gg.std_send_command("level", ID, ge.name_pl)) desc = GF.msg_recv() if desc[0] == "Level UP": print("Level UP >> {0}".format(nom)) title = "Level UP | Get Gems" lvl_desc = ":tada: {0} {1}".format(nom, desc[1]) msg = discord.Embed(title = title, color= 6466585, description = lvl_desc, timestamp=dt.datetime.now()) msg.set_thumbnail(url=message.author.avatar_url) msg.set_footer(text=message.author.name) await message.channel.send(embed = msg) if len(desc) > 2: if desc[0] != "Error": title = "Success" descS = "" for i in range(1, len(desc[2])): descS += "{0}\n".format(desc[2][i]) msg = discord.Embed(title = title, color= 6824352, description = descS, timestamp=dt.datetime.now()) msg.set_thumbnail(url=message.author.avatar_url) msg.set_footer(text=message.author.name) await message.channel.send(embed = msg) return False
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])
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]))
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]
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])