Skip to content
This repository was archived by the owner on Nov 27, 2021. It is now read-only.

Commit 80af987

Browse files
committed
Feat: Upload de la V3
0 parents  commit 80af987

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+4266
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/node_modules
2+
config.js

commands/action.js

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
const Agence = require("../models/agence");
2+
const EmbedMessage = require("../util/EmbedMessage");
3+
const AgenceManager = require("../managers/AgenceManager");
4+
5+
module.exports = {
6+
name: "action",
7+
use: "**/action [arianeespace niveau 1/ blueorigin niveau 1/ spacex niveau 1 / arianeespace niveau 2/ blueorigin niveau 2/ spacex niveau 2(optionnel)]**",
8+
description: "Vous permet de récolter vos parts journalières ou d'acheter de nouvelles parts dans une compagnies ci-dessus.",
9+
options: [
10+
{
11+
name: "entreprise",
12+
description: "Nom de l'entreprise dans laquelle vous achetez une action",
13+
type: 3,
14+
choices: [
15+
{ name: "SpaceX niveau 1", value: "spacexniv1" },
16+
{ name: "Blue Origin niveau 1", value: "blueoriginniv1" },
17+
{ name: "Ariane Espace niveau 1", value: "arianeespaceniv1" },
18+
{ name: "SpaceX niveau 2", value: "spacexniv2" },
19+
{ name: "Blue Origin niveau 2", value: "blueoriginniv2" },
20+
{ name: "Ariane Espace niveau 2", value: "arianeespaceniv2" },
21+
],
22+
required: false
23+
}
24+
],
25+
admin: false,
26+
async execute (client, message, args) {
27+
const time = new Date().getTime()
28+
if (await AgenceManager.targetExists(message.author.id)) {
29+
let data = await AgenceManager.getOneByUserID(message.author.id)
30+
if (args.length == 0) {
31+
if (data.spacexniv1 === 0 && data.spacexniv2 === 0 && data.blueoriginniv1 === 0 && data.blueoriginniv2 === 0 && data.arianeespaceniv1 === 0 && data.arianeespaceniv2 === 0) {
32+
return new EmbedMessage(client, {
33+
title: "**Part:**",
34+
description: "tu n'a aucune part dans une entreprise.",
35+
author: message.author.username
36+
})
37+
} else {
38+
if (time - data.lastpart < 28800000) {
39+
let reainingTime = data.lastpart - time + 28800000
40+
let hours = Math.floor((reainingTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
41+
let minutes = Math.floor((reainingTime % (1000 * 60 * 60)) / (1000 * 60));
42+
let secondes = Math.floor((reainingTime % (1000 * 60)) / (1000));
43+
return new EmbedMessage(client, {
44+
title: "**Part:**",
45+
description: `Il faut attendre ${hours} heures ${minutes} minutes ${secondes} secondes avant de pouvoir executer la commande de nouveau`,
46+
author: message.author.username
47+
})
48+
} else {
49+
let argentwin = 0;
50+
let description = "";
51+
if (data.spacexniv1 === 1) {
52+
argentwin = argentwin + 2000;
53+
description = description + "\nVous venez de recevoir vos part de SpaceX niveau 1."
54+
};
55+
if (data.blueoriginniv1 === 1) {
56+
argentwin = argentwin + 750;
57+
description = description + "\nVous venez de recevoir vos part de Blue Origin niveau 1."
58+
};
59+
if (data.arianeespaceniv1 === 1) {
60+
argentwin = argentwin + 350;
61+
description = description + "\nVous venez de recevoir vos part d'Ariane Espace niveau 1."
62+
};
63+
if (data.spacexniv2 === 1) {
64+
argentwin = argentwin + 2000;
65+
description = description + "\nVous venez de recevoir vos part de SpaceX niveau 2."
66+
};
67+
if (data.blueoriginniv2 === 1) {
68+
argentwin = argentwin + 750;
69+
description = description + "\nVous venez de recevoir vos part de Blue Origin niveau 2."
70+
};
71+
if (data.arianeespaceniv2 === 1) {
72+
argentwin = argentwin + 350;
73+
description = description + "\nVous venez de recevoir vos part d'Ariane Espace niveau 2."
74+
};
75+
cashUpdated = data.cash + argentwin
76+
Agence.findOneAndUpdate({ userID: message.author.id },
77+
{ cash: cashUpdated, lastpart: time }).catch(err => { console.error(err) })
78+
return EmbedMessage.showSuccess(
79+
client,
80+
"**Part:**",
81+
description,
82+
message.author
83+
)
84+
}
85+
}
86+
} else {
87+
let entrepriseName = '';
88+
let dataToUpdate = null;
89+
let partCost = null;
90+
let error = false;
91+
switch (args[0]) {
92+
case "arianeespaceniv1":
93+
entrepriseName = "Ariane Espace Niveau 1"
94+
partCost = client.PRIX_INFOS.arianeespaceniveau1;
95+
if(data.actiondebloque >= 1){
96+
if (data.arianeespaceniv1 == 1) {
97+
return this.alreadyHavePartError(client, message, entrepriseName)
98+
} else {
99+
if (data.cash < partCost) {
100+
return this.notEnoughMoneyError(client, message)
101+
} else {
102+
dataToUpdate = { cash: data.cash - partCost, arianeespace: 1, experience: data.experience + 500 }
103+
}
104+
}
105+
}else{
106+
return this.technonotunlock(client,message, entrepriseName)
107+
}
108+
break;
109+
case "blueoriginniv1":
110+
entrepriseName = "Blue Origin Niveau 1"
111+
partCost = 10000
112+
if(data.actiondebloque >= 2){
113+
if (data.blueoriginniv1 == 1) {
114+
return this.alreadyHavePartError(client, message, entrepriseName)
115+
} else {
116+
if (data.cash < partCost) {
117+
return this.notEnoughMoneyError(client, message)
118+
} else {
119+
dataToUpdate = { cash: data.cash - partCost, blueorigin: 1, experience: data.experience + 850 }
120+
}
121+
}
122+
}else{
123+
return this.technonotunlock(client,message, entrepriseName)
124+
}
125+
break;
126+
case "spacexniv1":
127+
entrepriseName = "SpaceX Niveau 1"
128+
partCost = 20000
129+
if(data.actiondebloque >= 3){
130+
if (data.spacexniv1 == 1) {
131+
return this.alreadyHavePartError(client, message, entrepriseName)
132+
} else {
133+
if (data.cash < partCost) {
134+
return this.notEnoughMoneyError(client, message)
135+
} else {
136+
dataToUpdate = { cash: data.cash - partCost, spacex: 1, experience: data.experience + 1800 }
137+
}
138+
}
139+
}else{
140+
return this.technonotunlock(client,message, entrepriseName)
141+
}
142+
break;
143+
case "arianeespaceniv2":
144+
entrepriseName = "Ariane Espace Niveau 2"
145+
partCost = 4500
146+
if(data.actiondebloque >= 4){
147+
if (data.arianeespaceniv2 == 1) {
148+
return this.alreadyHavePartError(client, message, entrepriseName)
149+
} else {
150+
if (data.cash < partCost) {
151+
return this.notEnoughMoneyError(client, message)
152+
} else {
153+
dataToUpdate = { cash: data.cash - partCost, arianeespace: 1, experience: data.experience + 500 }
154+
}
155+
}
156+
}else{
157+
return this.technonotunlock(client,message, entrepriseName)
158+
}
159+
break;
160+
case "blueoriginniv2":
161+
entrepriseName = "Blue Origin Niveau 2"
162+
partCost = 10000
163+
if(data.actiondebloque >= 5){
164+
if (data.blueoriginniv2 == 1) {
165+
return this.alreadyHavePartError(client, message, entrepriseName)
166+
} else {
167+
if (data.cash < partCost) {
168+
return this.notEnoughMoneyError(client, message)
169+
} else {
170+
dataToUpdate = { cash: data.cash - partCost, blueorigin: 1, experience: data.experience + 850 }
171+
}
172+
}
173+
}else{
174+
return this.technonotunlock(client,message, entrepriseName)
175+
}
176+
break;
177+
case "spacexniv2":
178+
entrepriseName = "SpaceX Niveau 2"
179+
partCost = 20000
180+
if(data.actiondebloque >= 6){
181+
if (data.spacexniv2 == 1) {
182+
return this.alreadyHavePartError(client, message, entrepriseName)
183+
} else {
184+
if (data.cash < partCost) {
185+
return this.notEnoughMoneyError(client, message)
186+
} else {
187+
dataToUpdate = { cash: data.cash - partCost, spacex: 1, experience: data.experience + 1800 }
188+
}
189+
}
190+
}else{
191+
return this.technonotunlock(client,message, entrepriseName)
192+
}
193+
break;
194+
195+
}
196+
197+
if (!error) {
198+
Agence.findOneAndUpdate({ userID: message.author.id }, dataToUpdate).catch(err => { console.error(err) })
199+
200+
AgenceManager.evaluateLevel(data, client, message)
201+
202+
return EmbedMessage.showSuccess(
203+
client,
204+
"**Part:**",
205+
`Bravo tu viens d'acheter des parts dans l'entreprise **${entrepriseName}**`,
206+
message.author
207+
)
208+
}
209+
}
210+
} else {
211+
return EmbedMessage.anyAgenceError(client, message.author)
212+
}
213+
},
214+
215+
notEnoughMoneyError (client, message) {
216+
return new EmbedMessage(client, {
217+
title: "**Part:**",
218+
description: "Tu n'as pas assez d'argent pour acheter celà !",
219+
author: message.author.username
220+
})
221+
},
222+
alreadyHavePartError (client, message, entrepriseName) {
223+
return new EmbedMessage(client, {
224+
title: "**Part:**",
225+
description: `Tu as déjà acheté des parts dans l'entreprise **${entrepriseName}** !`,
226+
author: message.author.username
227+
})
228+
},
229+
technonotunlock (client, message, technologie){
230+
return new EmbedMessage(client, {
231+
title: "**Part:**",
232+
description: `Tu n'a pas débloqué la technologie nécessaire : **${technologie}**`,
233+
author: message.author.username
234+
})
235+
}
236+
}

commands/add.js

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
const Agence = require("../models/agence");
2+
const EmbedMessage = require("../util/EmbedMessage");
3+
const AgenceManager = require("../managers/AgenceManager");
4+
5+
module.exports = {
6+
name: "add",
7+
use: "/add [@joueur] [bank/cash/pdc] [nombre]",
8+
description: "Ajouter de l'argent à un joueur",
9+
admin: true,
10+
async execute (client, message, args) {
11+
if (await AgenceManager.targetExists(message.author.id)) {
12+
if (message.member.roles.cache.find(r => r.name == global.staffRole) != null) {
13+
let member = message.mentions.users.first();
14+
if (!member) return;
15+
let argument1 = args[1]
16+
let argument2 = parseInt(args[2])
17+
let data = await AgenceManager.getOneByUserID(member.id)
18+
if (!argument2) {
19+
message.channel.send({
20+
embeds: [EmbedMessage.showError(
21+
client,
22+
"**Erreur**",
23+
"Aucune somme n'a été saisie..."
24+
)]
25+
})
26+
} else {
27+
bankUpdated = data.bank + argument2
28+
29+
if (argument1 == "ergol") {
30+
let ergolUpdated = data.ergol + argument2
31+
Agence.findOneAndUpdate({ userID: member.id },
32+
{ ergol: ergolUpdated },
33+
function (err, data) {
34+
if (err) {
35+
console.error(err)
36+
} else {
37+
message.channel.send({
38+
embeds: [EmbedMessage.showSuccess(
39+
client,
40+
"**Staff:**",
41+
`Tu viens d'ajouter ${argument2} tonnes d'ergol à ${member}`,
42+
message.author
43+
)]
44+
})
45+
}
46+
}
47+
)
48+
}
49+
if (argument1 === "bank") {
50+
Agence.findOneAndUpdate({ userID: member.id },
51+
{ bank: bankUpdated },
52+
function (err, data) {
53+
if (err) {
54+
console.error(err)
55+
} else {
56+
message.channel.send({
57+
embeds: [EmbedMessage.showSuccess(
58+
client,
59+
"**Staff:**",
60+
`Tu viens d'ajouter ${argument2}$ dans la bank de ${member}`,
61+
message.author
62+
)]
63+
})
64+
}
65+
}
66+
)
67+
68+
} else {
69+
if (argument1 === "cash") {
70+
cashUpdated = data.cash + argument2
71+
Agence.findOneAndUpdate({ userID: member.id },
72+
{ cash: cashUpdated },
73+
function (err, data) {
74+
if (err) {
75+
console.error(err)
76+
} else {
77+
message.channel.send({
78+
embeds: [EmbedMessage.showSuccess(
79+
client,
80+
"**Staff:**",
81+
`Tu viens d'ajouter ${argument2}$ dans le cash de ${member}`,
82+
message.author
83+
)]
84+
})
85+
}
86+
}
87+
)
88+
} else {
89+
if (argument1 === "pds") {
90+
scienceUpdated = data.science + argument2
91+
Agence.findOneAndUpdate({ userID: member.id },
92+
{ science: scienceUpdated },
93+
function (err, data) {
94+
if (err) {
95+
console.error(err)
96+
} else {
97+
message.channel.send({
98+
embeds: [EmbedMessage.showSuccess(
99+
client,
100+
"**Staff:**",
101+
`Tu viens d'ajouter ${argument2} point de science a ${member}`,
102+
message.author
103+
)]
104+
})
105+
}
106+
}
107+
)
108+
}
109+
}
110+
}
111+
}
112+
} else {
113+
message.channel.send({
114+
embeds: [EmbedMessage.showError(
115+
client,
116+
"🛑 Erreur",
117+
"Vous n'avez pas la permission d'executer cette commande !"
118+
)]
119+
})
120+
}
121+
} else {
122+
message.channel.send({
123+
embeds: [EmbedMessage.anyAgenceError(client, message.author)]
124+
})
125+
}
126+
}
127+
}

0 commit comments

Comments
 (0)