Advertisement
Guest User

Untitled

a guest
Jul 26th, 2018
796
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.80 KB | None | 0 0
  1. const Discord = require("discord.js");
  2. let mysql = require('mysql');
  3. const client = new Discord.Client();
  4. const config = require("./config/config.json");
  5. const cities = require("./config/cities.json");
  6. const Fortnite = require("fortnite-api");
  7.  
  8. let fortniteAPI = new Fortnite(
  9. [
  10. //info top secrete xD
  11. ],
  12. {
  13. debug: true
  14. }
  15. );
  16.  
  17. client.on("ready", () => {
  18. console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds.`);
  19. client.user.setActivity(`Serving ${client.guilds.size} servers`);
  20. });
  21.  
  22. client.on("guildCreate", guild => {
  23. console.log(`New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`);
  24. client.user.setActivity(`Serving ${client.guilds.size} servers`);
  25.  
  26. let con = mysql.createConnection({
  27. host: "localhost",
  28. user: "root",
  29. password: "mOdT3r-dh8S(",
  30. database: "guilds"
  31. });
  32.  
  33. con.connect(function(err) {
  34. if (err) throw err;
  35. con.query(`INSERT INTO config (prefix, serverID) VALUES ('!', ${guild.id})`, (err) => {
  36. if (err) throw err;
  37. con.end();
  38. });
  39. });
  40. });
  41. client.on("guildDelete", guild => {
  42. console.log(`I have been removed from: ${guild.name} (id: ${guild.id})`);
  43. client.user.setActivity(`Serving ${client.guilds.size} servers`);
  44. let con = mysql.createConnection({
  45. host: "localhost",
  46. user: "root",
  47. password: "mOdT3r-dh8S(",
  48. database: "guilds",
  49. });
  50. con.connect(function(err) {
  51. if (err) throw err;
  52. con.query(`DELETE FROM config WHERE serverID = ${guild.id}`, function (err) {
  53. if (err) throw err;
  54. con.query(`DELETE FROM defis WHERE serverID = ${guild.id}`, function (err) {
  55. if (err) throw err;
  56. });
  57. });
  58. });
  59. });
  60.  
  61.  
  62. client.on("message", async message => {
  63. let con = mysql.createConnection({
  64. host: "localhost",
  65. user: "root",
  66. password: "mOdT3r-dh8S(",
  67. database: "guilds"
  68. });
  69.  
  70. con.connect(function(err) {
  71. if (err) throw err;
  72. con.query("SELECT * FROM `config` WHERE `serverID` = '" + client.guilds.get(message.guild.id).id + "'", (err, row) => {
  73. if(message.author.bot) return;
  74. if(message.content.indexOf(row[0].prefix) !== 0) return;
  75. const args = message.content.slice(row[0].prefix.length).trim().split(/ +/g);
  76. const command = args.shift().toLowerCase();
  77.  
  78. if(command === "info") {
  79. if (message.channel.id !== '468464421287624714') return
  80. const embed =
  81. {
  82. title: 'Fortnite Roler Statistics',
  83. fields: [{
  84. name: 'Mem Usage',
  85. value: `${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB`,
  86. inline: true
  87. }, {
  88. name: 'Users',
  89. value: `${client.users.size}`,
  90. inline: true
  91. }, {
  92. name: 'Servers',
  93. value: `${client.guilds.size}`,
  94. inline: true
  95. }, {
  96. name: 'Channels',
  97. value: `${client.channels.size}`,
  98. inline: true
  99. }, {
  100. name: 'Discord.js',
  101. value: `${Discord.version}`,
  102. }],
  103. footer: {
  104. text: "crée par Uɳιx#3142"
  105. }
  106. }
  107. message.channel.send('', { embed: embed });
  108. }
  109.  
  110. if(command === "stats") {
  111. //stats
  112. if (message.channel.id !== '389512905592274946') return;
  113. if (message.content.endsWith(row[0].prefix + "stats")) {
  114. let con = mysql.createConnection({
  115. host: "localhost",
  116. user: "root",
  117. password: "mOdT3r-dh8S(",
  118. database: "links",
  119. });
  120. let conStr = "SELECT * FROM `users` WHERE `userID` = '" + message.author.id+"'";
  121. con.query(conStr, function(error, row) {
  122. if(error) throw error;
  123. if (row && row.length) {
  124. fortniteAPI.login().then(() => {
  125. fortniteAPI
  126. .getStatsBR(row[0].username, "pc", "alltime")
  127. .then(stats => {
  128. message.channel.send({embed: {
  129. color: 3447003,
  130. title: row[0].username + "'s Stats",
  131. fields: [
  132. { name: "Solo", value: `**K/D** ${stats.group.solo["k/d"]}\n**WINS** ${stats.group.solo.wins}\n**KILLS** ${stats.group.solo.kills}\n**WIN%** ${stats.group.solo["win%"]}\n**MATCHES** ${stats.group.solo.matches}`, inline: true},
  133. { name: "Duo", value: `**K/D** ${stats.group.duo["k/d"]}\n**WINS** ${stats.group.duo.wins}\n**KILLS** ${stats.group.duo.kills}\n**WIN%** ${stats.group.duo["win%"]}\n**MATCHES** ${stats.group.duo.matches}`, inline: true},
  134. { name: "Squad", value: `**K/D** ${stats.group.squad["k/d"]}\n**WINS** ${stats.group.squad.wins}\n**KILLS** ${stats.group.squad.kills}\n**WIN%** ${stats.group.squad["win%"]}\n**MATCHES** ${stats.group.squad.matches}`, inline: true},
  135. { name: "Total", value: `**K/D** ${stats.lifetimeStats["k/d"]}\n**WINS** ${stats.lifetimeStats.wins}\n**KILLS** ${stats.lifetimeStats.kills}\n**WIN%** ${stats.lifetimeStats["win%"]}\n**MATCHES** ${stats.lifetimeStats.matches}`},
  136. ]
  137. }
  138. });
  139. })
  140. .catch(err => {
  141. console.log(err);
  142. });
  143. });
  144. }
  145. });
  146. }
  147. else {
  148. let username = args.join().replace(/\,/g, ' ');
  149. fortniteAPI.login().then(() => {
  150. fortniteAPI
  151. .getStatsBR(username, "pc", "alltime")
  152. .then(stats => {
  153. message.channel.send({embed: {
  154. color: 3447003,
  155. title: username + "'s Stats",
  156. fields: [
  157. { name: "Solo", value: `**K/D** ${stats.group.solo["k/d"]}\n**WINS** ${stats.group.solo.wins}\n**KILLS** ${stats.group.solo.kills}\n**WIN%** ${stats.group.solo["win%"]}\n**MATCHES** ${stats.group.solo.matches}`, inline: true},
  158. { name: "Duo", value: `**K/D** ${stats.group.duo["k/d"]}\n**WINS** ${stats.group.duo.wins}\n**KILLS** ${stats.group.duo.kills}\n**WIN%** ${stats.group.duo["win%"]}\n**MATCHES** ${stats.group.duo.matches}`, inline: true},
  159. { name: "Squad", value: `**K/D** ${stats.group.squad["k/d"]}\n**WINS** ${stats.group.squad.wins}\n**KILLS** ${stats.group.squad.kills}\n**WIN%** ${stats.group.squad["win%"]}\n**MATCHES** ${stats.group.squad.matches}`, inline: true},
  160. { name: "Total", value: `**K/D** ${stats.lifetimeStats["k/d"]}\n**WINS** ${stats.lifetimeStats.wins}\n**KILLS** ${stats.lifetimeStats.kills}\n**WIN%** ${stats.lifetimeStats["win%"]}\n**MATCHES** ${stats.lifetimeStats.matches}`},
  161. ]
  162. }
  163. });
  164. })
  165. .catch(err => {
  166. console.log(err);
  167. });
  168. });
  169. }
  170. }
  171.  
  172. if(command === "link") {
  173. if (message.channel.id !== '389512905592274946') return;
  174. let con = mysql.createConnection({
  175. host: "localhost",
  176. user: "root",
  177. password: "mOdT3r-dh8S(",
  178. database: "links",
  179. });
  180. let conStr = "SELECT * FROM `users` WHERE `userID` = '" + message.author.id+"'";
  181. con.query(conStr, function(error, row) {
  182. if(error) throw error;
  183. if (row && row.length) {
  184. message.channel.send("Votre discord est déja associer à un autre compte: " + row[0].username)
  185. }
  186. else
  187. {
  188.  
  189. let username = args.join().replace(/\,/g, ' ');
  190. let conStr = "SELECT * FROM `users` WHERE `username` = '" + username +"'";
  191. con.query(conStr, function(error, row) {
  192. if(error) throw error;
  193. if (row && row.length) {
  194. message.channel.send(row[0].username + " est déja associer à un autre compte discord")
  195. }
  196. else {
  197. let username = args.join().replace(/\,/g, ' ');
  198. fortniteAPI.login().then(() => {
  199. fortniteAPI
  200. .getStatsBR(username, "pc", "alltime")
  201. .then(stats => {
  202. let sql = "INSERT INTO users (userID, username) VALUES ('" + message.author.id + "', '" + username + "')";
  203. con.query(sql, function(error) {
  204. if(error) throw error;
  205. message.channel.send(username + " à bien été associer.")
  206. });
  207. })
  208. .catch(err => {
  209. message.channel.send("Ce joueur n'existe pas ou n'est pas un joueur PC");
  210. });
  211. });
  212. }
  213. });
  214. }
  215. });
  216. }
  217.  
  218.  
  219.  
  220.  
  221.  
  222. if(command === "unlink") {
  223. if (message.channel.id !== '389512905592274946') return;
  224. let con = mysql.createConnection({
  225. host: "localhost",
  226. user: "root",
  227. password: "mOdT3r-dh8S(",
  228. database: "links",
  229. });
  230. let conStr = "SELECT * FROM `users` WHERE `userID` = '" + message.author.id+"'";
  231. con.query(conStr, function(error, row) {
  232. if(error) throw error;
  233. if (row && row.length) {
  234. let sql = "DELETE FROM users WHERE userID = '" + message.author.id + "'";
  235. con.query(sql, function(error) {
  236. if(error) throw error;
  237. message.channel.send("Vous avez bien désassocié votre compte")
  238. });
  239. }
  240. else
  241. {
  242. message.channel.send("Vous n'avez aucun compte d'associer, vous pouvez faire `!link nom` pour associer un compte Fortnite à votre Discord")
  243. }
  244. });
  245. }
  246.  
  247.  
  248. if(command === "drop") {
  249. if (message.channel.id !== '468464421287624714') return;
  250. message.channel.send(message.author + ", vous et votre équipe devez descendre à " + cities[Math.floor(Math.random()*cities.length)] + ".");
  251. }
  252.  
  253. if(command === "roulette") {
  254. let con = mysql.createConnection({
  255. host: "localhost",
  256. user: "root",
  257. password: "mOdT3r-dh8S(",
  258. database: "guilds"
  259. });
  260. con.connect(function(err) {
  261. if (err) throw err;
  262. let conStr = "SELECT * from defis WHERE serverID = '" + client.guilds.get(message.guild.id).id + "' ORDER BY RAND() LIMIT 1";
  263. con.query(conStr, function (err, row) {
  264. if (row.length === 0) {
  265. message.channel.send("Ce serveur n'as pas encore de défi, pour en ajouter vous pouvez faire `!defi tuer un ennemi à la pioche`");
  266. }
  267. else {
  268. message.channel.send(message.author + ", vous et votre équipe devez descendre à " + cities[Math.floor(Math.random()*cities.length)] + ", cependant, " + row[0].defi + " (" + row[0].id + ")");
  269. }
  270. });
  271. });
  272. }
  273. if(command === "prefix") {
  274. if(message.member.roles.find("name", "Bot")){
  275. let con = mysql.createConnection({
  276. host: "localhost",
  277. user: "root",
  278. password: "mOdT3r-dh8S(",
  279. database: "guilds"
  280. });
  281. con.connect(function(err) {
  282. if (err) throw err;
  283. con.query("SELECT * from config WHERE serverID = '" + client.guilds.get(message.guild.id).id + "'", function (err, row) {
  284. if (err) throw err;
  285. let sql = "UPDATE config SET prefix = '" + args[0] +"' WHERE serverID = '" + client.guilds.get(message.guild.id).id + "'";
  286. con.query(sql, function (err, row) {
  287. message.channel.send("Votre prefix à bien été changer pour " + args[0]);
  288. });
  289. });
  290. });
  291. }
  292. else {
  293.  
  294. }
  295. }
  296. /*if(command === "setrank") {
  297. let con = mysql.createConnection({
  298. host: "localhost",
  299. user: "root",
  300. password: "mOdT3r-dh8S(",
  301. database: "links"
  302. });
  303. con.connect(function(err) {
  304. con.query("SELECT * FROM `users` WHERE `userID` = '" + message.author.id+"'", function (err, row) {
  305. if (row && row.length) {
  306. let con = mysql.createConnection({
  307. host: "localhost",
  308. user: "root",
  309. password: "mOdT3r-dh8S(",
  310. database: "guilds"
  311. });
  312. con.connect(function(err) {
  313. con.query("SELECT * FROM `roles` WHERE `serverID` = '" + client.guilds.get(message.guild.id).id +"'", function (err, row) {
  314. if (row && row.length) {
  315. }
  316. else {
  317. message.channel.send("Ce serveur n'as pas encore de rôle, pour en ajouter vous pouvez faire `!arole id kd`");
  318. }
  319. });
  320. });
  321. } else {
  322. message.channel.send("Vous n'avez aucun compte d'associer, vous pouvez faire `!link nom` pour associer un compte Fortnite à votre Discord");
  323. }
  324. });
  325. });
  326. }*/
  327. if(command === "rdefi") {
  328. if(message.member.roles.find("name", "Bot")){
  329. let con = mysql.createConnection({
  330. host: "localhost",
  331. user: "root",
  332. password: "mOdT3r-dh8S(",
  333. database: "guilds"
  334. });
  335. con.connect(function(err) {
  336. if (err) throw err;
  337. con.query("SELECT * from defis WHERE id = '" + args[0] + "'", function (err, row) {
  338. if (row.length === 0) {
  339. message.channel.send("Ce serveur n'as pas encore de défi, pour en ajouter vous pouvez faire `!defi tuer un ennemi à la pioche`");
  340. }
  341. else {
  342. if (client.guilds.get(message.guild.id).id === row[0].serverID) {
  343. con.query("DELETE from defis WHERE id = '" + args[0] + "'", function (err, row) {
  344. message.channel.send("Vous avez bien supprimer le défi: " + args[0]);
  345. });
  346. } else {
  347. message.channel.send("Ce défi ne vous appartient pas, vous pouvez faire !ldefi pour voir vos défis!");
  348. }
  349. }
  350. });
  351. });
  352. } else {
  353.  
  354. }
  355. }
  356.  
  357. if(command === "ldefi") {
  358. let con = mysql.createConnection({
  359. host: "localhost",
  360. user: "root",
  361. password: "mOdT3r-dh8S(",
  362. database: "guilds"
  363. });
  364. con.connect(function(err) {
  365. if (err) throw err;
  366. con.query("SELECT * from defis WHERE serverID = '" + client.guilds.get(message.guild.id).id + "'", function (err, row) {
  367. if (row.length === 0) {
  368. message.channel.send("Ce serveur n'as pas encore de défi, pour en ajouter vous pouvez faire `!defi tuer un ennemi à la pioche`");
  369. }
  370. else {
  371. let array = '';
  372. row.forEach(function(row) {
  373. array += `${row.id}: ${row.defi}\n`
  374. });
  375. message.channel.send({embed: {
  376. color: 3447003,
  377. title: "Liste des défis pour " + client.guilds.get(message.guild.id).id ,
  378. description: `${array}`,
  379. footer: {
  380. text: "Vous pouvez ajouter vos propre défis avec la commande !defi tuer un ennemi à la pioche"
  381. }
  382. }
  383. });
  384. }
  385. });
  386. });
  387. }
  388. if(command === "cmds") {
  389. let con = mysql.createConnection({
  390. host: "localhost",
  391. user: "root",
  392. password: "mOdT3r-dh8S(",
  393. database: "guilds"
  394. });
  395. if (message.channel.id !== '468464421287624714') return;
  396. con.connect(function(err) {
  397. con.query("SELECT * from config WHERE serverID = '" + client.guilds.get(message.guild.id).id + "'", function (err, row) {
  398. message.channel.send({embed: {
  399. color: 3447003,
  400. title: "Commandes",
  401. fields: [
  402. { name: `${row[0].prefix}stats`, value: `donne les stats d'un joueur (${row[0].prefix}stats IveMemory) et ou (seulement ${row[0].prefix}stats si vous avez link votre compte.)`},
  403. { name: `${row[0].prefix}link`, value: `associe votre compte Fortnite à votre Discord (${row[0].prefix}link IveMemory)`},
  404. { name: `${row[0].prefix}unlink`, value: `désassocie votre compte (${row[0].prefix}unlink)`},
  405. { name: `${row[0].prefix}drop`, value: `vous donne une ville aléatoire ou vous et votre équipe devez drop.`},
  406. { name: `${row[0].prefix}roulette`, value: `vous donne une ville aléatoire et un défi.`},
  407. { name: `${row[0].prefix}ldefi`, value: `montre la liste des défis possible`},
  408. { name: `${row[0].prefix}info`, value: `donne des infos supplémentaire sur le bot`},
  409. ]
  410. }
  411. });
  412. });
  413. });
  414. }
  415. if(command === "adefi") {
  416. if(message.member.roles.find("name", "Bot")){
  417. let con = mysql.createConnection({
  418. host: "localhost",
  419. user: "root",
  420. password: "mOdT3r-dh8S(",
  421. database: "guilds"
  422. });
  423. con.connect(function(err) {
  424. if (err) throw err;
  425. con.query("INSERT INTO defis (defi, serverID) VALUES ('" + args.join().replace(/\,/g, ' ') + "', '" + client.guilds.get(message.guild.id).id + "')", function (err, row) {
  426. message.channel.send("Vous avez bien ajouter le défi!");
  427. });
  428. });
  429. }
  430. else {
  431.  
  432. }
  433. }
  434. });
  435. });
  436.  
  437.  
  438. });
  439. client.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement