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
Code :
- 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)
|
la DisplayValue est undefined... alors que je n'avais absolument pas ce soucis avant.
Voici le code complet :
Code :
- 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
- }
- })
- }
- }
|
Merci d'avance pour toutes aides !
A bientôt