Bonjour à tous !
Voila j'ai crée/modifié un bot Discord pour affiché directement les stats dans le chat. Tous fonctionnes parfaitement, mais du jour au lendemain lorsque l'on tape -ftn pc lenom je bot crash en m'affichant l'error suivante :
RAS : Clé Discord OK, Clé API Fortnite traker OK
la DisplayValue est undefined... alors que je n'avais absolument pas ce soucis avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TypeError: Cannot read property 'displayValue' of undefined api-controller.js:81 at Request.request [as _callback] (c:\Users\MmePoWa\Desktop\MelloowBot Fortnite\api-controller.js:81:50)
Voici le code complet :
Merci d'avance pour toutes aides !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 const request = require('request') module.exports = { stats: function(msg, args){ let platform = args[0] if(platform) platform = platform.toLowerCase() const username = args.slice(1,args.length).join('%20') if(platform !== 'psn' && platform !== 'pc' && platform !== 'xbl' || platform === undefined){ msg.reply(` **La platforme de jeu n'est pas correcte.** __**Tape la commande comme ceci:**__ *-ftn pc lenom* *-ftn xbl lenom* *-ftn psn lenom* `) return null; } else if(username === undefined){ msg.reply(` **Le nom du joueur n'est pas correcte.** __**Tape la commande comme ceci:**__ *-ftn platform lenom* *-ftn pc lenom* `) return null; } const options = { 'uri': `https://api.fortnitetracker.com/v1/profile/${platform}/${username}`, 'headers': { 'TRN-Api-Key': process.env.FORNITE_TRACKER_KEY, 'Content-Type': 'application/json' } } request(options, (err, res, body) => { if(err){ console.error(err) msg.reply(`Un problème est survenu lors de l'obtention des statistiques pour ${username.replace('%20', ' ')} on ${platform}.`) return null } else if(res.statusCode === 200){ data = JSON.parse(body) let soloWins = 0 let soloTime = '0h 0m' let soloKd = 0 let soloKills = 0 let soloMatches = 0 let solowinRatio = 0 let solokpm = 0 let duoWins = 0 let duoTime = '0h 0m' let duoKd = 0 let duoKills = 0 let duoMatches = 0 let duowinRatio = 0 let duokpm = 0 let squadWins = 0 let squadTime = '0h 0m' let squadKd = 0 let squadKills = 0 let squadMatches = 0 let squadwinRatio = 0 let squadkpm = 0 if(data.error){ msg.reply(`${data.error}`) return null } // Solo if(data.stats.p2){ soloWins = data.stats.p2.top1.displayValue soloTime = data.stats.p2.minutesPlayed.displayValue soloKd = data.stats.p2.kd.valueDec soloKills = data.stats.p2.kills.valueInt soloMatches = data.stats.p2.matches.valueInt solowinRatio = data.stats.p2.winRatio.valueDec solokpm = data.stats.p2.kpm.valueDec } // Duos if(data.stats.p10){ duoWins = data.stats.p10.top1.displayValue duoTime = data.stats.p10.minutesPlayed.displayValue duoKd = data.stats.p10.kd.valueDec duoKills = data.stats.p10.kills.valueInt duoMatches = data.stats.p10.matches.valueInt duowinRatio = data.stats.p10.winRatio.valueDec duokpm = data.stats.p10.kpm.valueDec } // Squad Wins if(data.stats.p9){ squadWins = data.stats.p9.top1.displayValue squadTime = data.stats.p9.minutesPlayed.displayValue squadKd = data.stats.p9.kd.valueDec squadKills = data.stats.p9.kills.valueInt squadMatches = data.stats.p9.matches.valueInt squadwinRatio = data.stats.p9.winRatio.valueDec squadkpm = data.stats.p9.kpm.valueDec } const user = username.replace(/b/ig, '??').replace('%20', ' ') msg.channel.send(` *Les Stats de* __**${user}**__ *sur* __**${platform}:**__ __**Game | n° Wins | Temps de jeu | KD Ratio**__ __**Solo**__ | ${soloWins} wins | ${soloTime} | ${soloKd}**%** | ${soloKills} Kills __**Duo**__ | ${duoWins} wins | ${duoTime} | ${duoKd}**%** | ${duoKills} Kills __**Squad**__ | ${squadWins} wins| ${squadTime} | ${squadKd}**%** | ${squadKills} Kills __**Game | n° Match | Win Ratio | Kill/Min**__ __**Solo**__ | ${soloMatches} parties | ${solowinRatio}**%** wins | ${solokpm} kill/min __**Duo**__ | ${duoMatches} parties | ${duowinRatio}**%** wins | ${duokpm} kill/min __**Squad**__ | ${squadMatches} parties | ${squadwinRatio}**%** wins | ${squadkpm} kill/min *Fortnite Tracker Stats* `) } else { msg.reply(`Quelque chose s'est mal passé. Pardon :b:ud.`) return null } }) } }
A bientôt![]()
Partager