Bonjour,
Je me suis récemment lancer à la construction d’un bot discord en python, je me suis dis que je pourrais m’améliorer au niveau de ce langage.
Cependant, je recontre un problème. En effet mon code (ci-dessous) génère une erreur au niveau de la syntaxe "invalid syntax".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | import discord import asyncio import os.path import json client = discord.Client() pseudo = input("") from riotwatcher import RiotWatcher watcher = RiotWatcher('api-key') my_region = 'euw1' me = watcher.summoner.by_name(my_region, pseudo) game = watcher.match.matchlist_by_account("euw1", me["accountId"]) print(me) def get_match(watcher, matchId): if os.path.isfile("matchs/"+str(matchId)+".json"): with open("matchs/"+str(matchId)+".json", "r") as file: data = file.read() jsonvalue = json.loads(data) else: jsonvalue = watcher.match.by_id(my_region, matchId) with open("matchs/"+str(matchId)+".json", "w") as file: file.write(json.dumps(jsonvalue)) return jsonvalue def full_history(watcher, name): guy = watcher.summoner.by_name(my_region, name) matchlist = watcher.match.matchlist_by_account(my_region, guy["accountId"]) c = 1 #Nombre de victoires wins = 0 #On parcourt la liste de matchs for match in matchlist["matches"]: print("{0} / {1}".format(c, matchlist["totalGames"])) c += 1 #On récupère les données du match m = get_match(watcher, match["gameId"]) #On détermine qui est le joueur, pour cela on parcours les joueurs for i in range(len(m["participantIdentities"])): if m["participantIdentities"][i]["player"]["accountId"] == guy["accountId"]: index = m["participantIdentities"][i]["participantId"] #Les Ids vont de 1 à 10. 1,2,3,4,5 sont la team 1, 6,7,8,9,10 sont la team 2 if m["teams"][index // 6]["win"] == "Win": #index // 6 renverra 0 pour 1à5, et 1 pour 6à10 wins += 1 #Total de games - wins = nombre de défaites defeats = matchlist["totalGames"] - wins return [wins, defeats] wins, defeats = full_history(watcher, me["name"]) ### t = str(round(wins / game["totalGames"] * 100, 2)) ### @client.event async def on_message(message): if message.content.startswith('!stats'): await client.send_message(message.channel, pseudo + " à un total de " + "{0} wins {1} looses." .format(wins, defeats) + " Son winrate est de " + t + "%")### elif message.content.startswith('!lol'): await client.send_message(message.channel, t) if message.content.lower().startswith('!stata' + pseudo): embed = discord.Embed( color=0xe67e22, description="Stats of " + pseudo ) embed.set_author( name= pseudo + " Stats", url="http://youtube.com/" ) embed.add_field( name= pseudo + " Wins: ", value="Wins : " + pseudo + " à un total de " + "{0} wins " .format(wins, defeats) + "\n", inline=True ) embed.add_field( name= pseudo + " Loses: ", value="Loses : " pseudo + " à un total de " + "{1} défaites " .format(wins, defeats) + "\n", inline=True ) embed.add_field( name= pseudo + " Winrate: ", value="Winrate :" + pseudo " possède un ratio de " + t + "%\n", inline=True ) embed.set_footer( text="Signé le bot diabolique :)" ) embed.set_thumbnail( url="https://image.noelshack.com/fichiers/2017/40/1/1506980052-deku.jpg" ) await client.send_message(message.channel, embed=embed) client.run('token') ` |
L’erreur est "invalid syntax" j’ai relu plusieurs fois le code mais sans rien trouvé :/
Est-ce la valeur pseudo que j’ai mal défini ?
Merci et bonne journée/soirée
+0
-0