Advertisement
Guest User

Untitled

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