Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.28 KB | None | 0 0
  1. var tmi = require('tmi.js');
  2. var mysql = require("mysql");
  3. var colors = require("colors");
  4.  
  5. var config = {
  6. host: "localhost",
  7. user: "root",
  8. password: "",
  9. database: "bot"
  10. };
  11.  
  12. var con;
  13.  
  14. function log(text, color) {
  15. var d = new Date();
  16. var h = d.getHours();
  17. var m = d.getMinutes();
  18. var ap = "AM";
  19. if (h > 12) {
  20. h -= 12;
  21. var ap = "PM";
  22. }
  23. if (m < 10) {
  24. m = "0" + m;
  25. }
  26. time = h + ":" + m + " " + ap;
  27.  
  28. if (typeof(color) == "undefined") {
  29. display = colors.grey(time) + ": " + text;
  30. console.log(display);
  31. } else {
  32. console.log(colors.grey(time) + ": " + colors[color](text));
  33. }
  34. }
  35.  
  36. function handleConnection() {
  37. con = mysql.createConnection(config);
  38.  
  39. con.connect(function(err) {
  40. if (err) {
  41. log("An error has occurred while connection: " + err, "red");
  42. setTimeout(handleConnection, 2000);
  43. } else {
  44. log("Connection successful.", "green");
  45. }
  46. });
  47.  
  48. con.on("error", function(err) {
  49. console.log("Error: " + err);
  50. if (err.code === "PROTOCOL_CONNECTION_LOST") {
  51. handleConnection();
  52. } else {
  53. throw err;
  54. }
  55. });
  56. }
  57.  
  58. handleConnection();
  59.  
  60. var options = {
  61. options: {
  62. debug: true
  63. },
  64. connection: {
  65. cluster: "aws",
  66. reconnect: true
  67. },
  68. identity: {
  69. username: "RBMBot",
  70. password: "oauth:0ahbn85l3jzor2kj95wwyamt19gop2"
  71. },
  72. channels: ["rootbeermelon"]
  73. };
  74.  
  75. var client = new tmi.client(options);
  76. client.connect();
  77.  
  78. var channel = options.channels[0];
  79.  
  80. var points;
  81. /*
  82. setInterval(function() {
  83. var edit = con.query('SELECT * FROM users',
  84. function(err, res) {
  85. if (err) log(err, "yellow");
  86. for (var i = 0; i < res.length; i++) {
  87. var edit = con.query('UPDATE users SET isActive = 0 WHERE username = ?', res[i].username,
  88. function(err, res) {
  89. if (err) log(err, "yellow");
  90. client.say(channel, "The 15-minute activity wipe has occurred, chat again to be considered.");
  91. });
  92. }
  93. });
  94.  
  95. }, 10000 * 60);
  96. */
  97.  
  98. client.on('chat', function(channel, user, message, self) {
  99.  
  100. if (!(user['display-name'] == "RBMBot" || user['display-name'] == "Nightbot")) {
  101. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  102. function(err, res) {
  103. if (res.length == 0) {
  104. var post = {username: user['display-name'], points: 1};
  105. var add = con.query('INSERT INTO users SET ?', post,
  106. function(err, res) {
  107. log("A new user has been added!", "green");
  108. });
  109. } else if (res.length == 1) {
  110. var edit = con.query('UPDATE users SET isActive = 1 WHERE username = ?', user['display-name'],
  111. function(err, res) {
  112. if (err) log(err, "yellow");
  113. });
  114. }
  115. });
  116. }
  117.  
  118. con.escape();
  119.  
  120. switch (message.toLowerCase().split(" ")[0]) {
  121. case "!points": // !points +username (+ = optional)
  122. var split = message.split(" ");
  123. if (split.length == 2) {
  124. sayPoints(split[1]);
  125. } else {
  126. sayPoints(user['display-name']);
  127. }
  128. break;
  129.  
  130. case "!editpoints": // !editpoints username add/remove/set amount
  131. if (user['display-name'] == "rootbeermelon") {
  132. var split = message.split(" ");
  133.  
  134. if (split.length == 1) {
  135. client.say(channel, "How to use the command: !editpoints username add/remove/set amount");
  136. } else {
  137.  
  138. switch (split[2]) {
  139. case "add":
  140. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [split[3], split[1]],
  141. function(err, res) {
  142. if (err) log(err, "yellow");
  143. client.say(channel, "Added " + split[3] + " points to " + split[1] + "'s balance.");
  144. });
  145. break;
  146. case "remove":
  147. var edit = con.query('UPDATE users SET points = points - ? WHERE username = ?', [split[3], split[1]],
  148. function(err, res) {
  149. if (err) log(err, "yellow");
  150. client.say(channel, "Removed " + split[3] + " points to " + split[1] + "'s balance.");
  151. });
  152. break;
  153. case "set":
  154. var edit = con.query('UPDATE users SET points = ? WHERE username = ?', [split[3], split[1]],
  155. function(err, res) {
  156. if (err) log(err, "yellow");
  157. client.say(channel, "Set " + split[1] + "'s points to " + split[3] + ".");
  158. });
  159. break;
  160. default:
  161. client.say(channel, "Not sure what you mean? Try doing just !editpoints.");
  162. break;
  163. }
  164.  
  165. }
  166. } else {
  167. client.say(channel, "Sorry, only the broadcaster can do this.");
  168. }
  169.  
  170. con.escape();
  171. break;
  172.  
  173. case "!mining":
  174. var split = message.split(" ");
  175. if (split.length == 1) {
  176. client.say(channel, "Mining is the viewers' way of gaining points to use on stream. To start mining use: !mining start. To view your stats: !mining stats. To open a mystery box: !mining box. Good luck!");
  177. } else if (split.length >= 2) {
  178. switch (split[1]) {
  179. case "start":
  180. mine(user['display-name']);
  181. break;
  182. case "stats":
  183. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  184. function(err, res) {
  185. if (err) log(err, "yellow");
  186. if (res.length == 1) {
  187. var split = res[0].miningPickaxe.split("/");
  188. var pickaxe = {name: split[0], output: split[1], delay: split[2]};
  189. client.say(channel, "[" + res[0].miningXP + " XP] " + user['display-name'] + "'s pickaxe: " + pickaxe.name + " (up to " + pickaxe.output + " points, delay of " + pickaxe.delay + "s)");
  190. }
  191. });
  192. break;
  193. case "box":
  194. if (split.length == 3) {
  195. if (split[2] == "open") {
  196. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  197. function(err, res) {
  198. if (err) log(err, "yellow");
  199. if (res.length == 1) {
  200. var points = res[0].points;
  201. if (points >= 100) {
  202. var edit = con.query('UPDATE users SET points = points - ? WHERE username = ?', [100, user['display-name']],
  203. function(err, res) {
  204. if (err) log(err, "yellow");
  205. var pickaxe = getPickaxe();
  206. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  207. function(err, res) {
  208. if (err) log(err, "yellow");
  209. if (res.length == 1) {
  210. var oldPick = res[0].miningPickaxe.split("/")[1];
  211. var newPick = pickaxe.split("/")[1];
  212. log(newPick + " > " + oldPick, "cyan");
  213. //client.say(channel, "new pick (" + newPick + ") / old pick (" + oldPick + ")");
  214. if (newPick > oldPick) {
  215. var edit = con.query('UPDATE users SET miningPickaxe = ? WHERE username = ?', [pickaxe, user['display-name']],
  216. function(err, res) {
  217. if (err) log(err, "yellow");
  218. var split = pickaxe.split("/");
  219. client.say(channel, user['display-name'] + " got a new " + split[3].toUpperCase() + " pickaxe: " + split[0] + " (up to " + split[1] + " points, delay of " + split[2] + "s)");
  220. });
  221. } else {
  222. client.say(channel, user['display-name'] + " opens a mystery box but gets a worse pickaxe. They toss out the new one.");
  223. }
  224. }
  225. });
  226.  
  227.  
  228. });
  229. } else {
  230. client.say(channel, user['display-name'] + ", sorry you don't have enough points.");
  231. }
  232.  
  233. }
  234. });
  235. }
  236. } else {
  237. client.say(channel, "Opening a mystery box will give you a random pickaxe, this costs 100 points. Doing so will destroy your previous pickaxe. To start do !mining box open.");
  238. }
  239. break;
  240. default:
  241. client.say(channel, "Hey there, use the !mining command to check out how this command works.");
  242. break;
  243. }
  244. } else {
  245. client.say(channel, "Hey there, use the !mining command to check out how this command works.");
  246. }
  247.  
  248. con.escape();
  249. break;
  250.  
  251. case "!gamble":
  252. var split = message.split(" ");
  253. if (split.length == 2) {
  254. var wager = split[1];
  255. gamble(wager, user['display-name']);
  256.  
  257. } else {
  258. client.say(channel, "You can risk your points by using !gamble. A roll above 55 is a win. If you land a 100, you will get a random multiplier. Try it out!");
  259. }
  260. break;
  261.  
  262. case "!rain": // !rain points
  263. if (user['display-name'] == "rootbeermelon") {
  264. var split = message.split(" ");
  265. if (split.length == 2) {
  266. var people = [];
  267. var edit = con.query('SELECT * FROM users',
  268. function(err, res) {
  269. var points = split[1];
  270. if (err) log(err, "yellow");
  271. while (points > 0) {
  272. for (var i = 0; i < res.length; i++) {
  273. if (Math.random() > 0.9 && res[i].isActive == 1) {
  274. points -= 1;
  275. people.push({username: res[i].username});
  276. }
  277. }
  278. }
  279. for (var i = 0; i < people.length; i++) {
  280. var edit = con.query('UPDATE users SET points = points + 1 WHERE username = ?', people[i].username,
  281. function(err, res) {
  282.  
  283. });
  284. }
  285. client.say(channel, "Rain clouds roll in and rain points down onto the viewers, check your points to see your reward!");
  286. });
  287. } else {
  288. client.say(channel, "To rain do !rain points.");
  289. }
  290. } else {
  291. client.say(channel, "Sorry, only the broadcaster can do this.");
  292. }
  293.  
  294. con.escape();
  295. break;
  296.  
  297. case "!dealoftheday":
  298. var split = message.split(" ");
  299. if (split.length == 2) {
  300. if (split[1] == "buy") {
  301. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  302. function(err, res) {
  303. if (err) log(err, "yellow");
  304. if (res[0].points >= 800) {
  305. var edit = con.query('UPDATE users SET points = points - 800 WHERE username = ?', user['display-name'],
  306. function(err, res) {
  307. if (err) log(err, "yellow");
  308. var edit = con.query('UPDATE users SET miningPickaxe = ? WHERE username = ?', ["Silver Pickaxe/9/180/dotd", user['display-name']],
  309. function(err, res) {
  310. if (err) log(err, "yellow");
  311. client.say(channel, user['display-name'] + " has bought the deal of the day pickaxe!");
  312. });
  313. });
  314. } else {
  315. client.say(channel, user['display-name'] + ", you don't have enough points.");
  316. }
  317. });
  318. }
  319. } else {
  320. client.say(channel, "Deal of the day: Silver Pickaxe (up to 9 points, delay of 180s) - Cost: 800 points - !dealoftheday buy");
  321. }
  322.  
  323. con.escape();
  324. break;
  325.  
  326. case "!leaderboard":
  327. var edit = con.query('SELECT * FROM users ORDER BY points DESC',
  328. function(err, res) {
  329. if (err) log(err, "yellow");
  330. var board = "";
  331.  
  332. if (res.length < 10) {
  333. for (var i = 0; i < res.length; i++) {
  334. board += "#" + (i + 1) + " " + res[i].username + " (" + res[i].points + " pts), ";
  335. }
  336. } else {
  337. for (var i = 0; i < 10; i++) {
  338. board += "#" + (i + 1) + " " + res[i].username + " (" + res[i].points + " pts), ";
  339. }
  340. }
  341.  
  342. client.say(channel, "Leaderboard: " + board);
  343.  
  344. });
  345.  
  346. con.escape();
  347. break;
  348.  
  349. case "!stake": // !stake join/create (username/amount)
  350. var split = message.split(" ");
  351. if (split.length == 3) {
  352. switch (split[1]) {
  353. case "join":
  354. var edit = con.query('SELECT * FROM stakes WHERE username = ?', split[2],
  355. function(err, res) {
  356. if (err) log(err, "yellow");
  357. if (res.length == 1) {
  358. var staker = res[0].username;
  359. var wager = res[0].wager;
  360. if (staker == user['display-name']) {
  361. client.say(channel, user['display-name'] + ", you can't join your own stake.");
  362. } else {
  363. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  364. function(err, res) {
  365. if (err) log(err, "yellow");
  366. if (res.length == 1) {
  367. if (res[0].points >= wager) {
  368. var edit = con.query('UPDATE users SET points = points - ? WHERE username = ?', [wager, user['display-name']],
  369. function(err, res) {
  370. if (err) log(err, "yellow");
  371. });
  372.  
  373. var stakerRoll = Math.round(Math.random() * 100);
  374. var callerRoll = Math.round(Math.random() * 100);
  375. if (stakerRoll >= callerRoll) {
  376. client.say(channel, staker + ": " + stakerRoll + " vs. " + user['display-name'] + ": " + callerRoll + " - " + staker + " wins " + (wager * 2) + " points.");
  377. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(wager * 2), staker],
  378. function(err, res) {
  379. if (err) log(err, "yellow");
  380. });
  381. } else {
  382. client.say(channel, staker + ": " + stakerRoll + " vs. " + user['display-name'] + ": " + callerRoll + " - " + user['display-name'] + " wins " + (wager * 2) + " points.");
  383. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(wager * 2), user['display-name']],
  384. function(err, res) {
  385. if (err) log(err, "yellow");
  386. });
  387. }
  388.  
  389. var edit = con.query('DELETE FROM stakes WHERE username = ?', staker,
  390. function(err, res) {
  391. if (err) log(err, "yellow");
  392. });
  393.  
  394. var edit = con.query('UPDATE users SET hasStake = 0 WHERE username = ?', staker,
  395. function(err, res) {
  396. if (err) log(err, "yellow");
  397. });
  398. } else {
  399. client.say(channel, user['display-name'] + ", you don't have enough points.");
  400. }
  401. }
  402. });
  403. }
  404. } else {
  405. client.say(channel, split[2] + " doesn't have an active stake.");
  406. }
  407. });
  408. break;
  409. case "create":
  410. var edit = con.query('SELECT * FROM users WHERE username = ?', user['display-name'],
  411. function(err, res) {
  412. if (err) log(err, "yellow");
  413. if (res.length == 1) {
  414. if (res[0].points >= split[2]) {
  415. if (res[0].hasStake == 0) {
  416. var edit = con.query('UPDATE users SET points = points - ? WHERE username = ?', [split[2], user['display-name']],
  417. function(err, res) {
  418. if (err) log(err, "yellow");
  419. var post = {username: user['display-name'], wager: split[2]};
  420. var edit = con.query('INSERT INTO stakes SET ?', post,
  421. function(err, res) {
  422. if (err) log(err, "yellow");
  423. log(user['display-name'] + " posted wager of " + split[2] + ".", "cyan");
  424. client.say(channel, user['display-name'] + " has placed opened a stake for " + split[2] + " points.");
  425. });
  426. var edit = con.query('UPDATE users SET hasStake = 1 WHERE username = ?', user['display-name'],
  427. function(err, res) {
  428. if (err) log(err, "yellow");
  429. });
  430. });
  431. } else {
  432. client.say(channel, user['display-name'] + ", you already have an active stake.");
  433. }
  434.  
  435. } else {
  436. client.say(channel, user['display-name'] + ", you do not have enough points.");
  437. }
  438. }
  439. });
  440. break;
  441. }
  442. } else if (split.length == 2) {
  443. if (split[1] == "list") {
  444. var edit = con.query('SELECT * FROM stakes',
  445. function(err, res) {
  446. if (err) log(err, "yellow");
  447.  
  448. var result = "";
  449. for (var i = 0; i < res.length; i++) {
  450. result += res[0].username + " (" + res[0].wager + " pts), ";
  451. }
  452.  
  453. if (result == "") {
  454. client.say(channel, "There are no active stakes.");
  455. } else {
  456. client.say(channel, result);
  457. }
  458. });
  459. }
  460. } else {
  461. client.say(channel, "To stake, use !stake create amount. To join a stake, use !stake join username. To view all stakes, use !stake list.");
  462. }
  463.  
  464. con.escape();
  465. break;
  466.  
  467. case "!active":
  468. var active = "Active viewers: ";
  469. var edit = con.query('SELECT * FROM users',
  470. function(err, res) {
  471. if (err) log(err, "yellow");
  472. for (var i = 0; i < res.length; i++) {
  473. if (res[i].isActive == 1) {
  474. active += res[i].username + ", ";
  475. }
  476. }
  477. client.say(channel, active);
  478. });
  479. break;
  480.  
  481. case "!melons":
  482. client.say(channel, "I currently have a growing collection of over 40,000 watermelons. If you wish to donate, ask for my location in chat. Every 20 watermelons donated will earn you 1 point.");
  483. break;
  484.  
  485. case "!coins":
  486. client.say(channel, "Want some GP for your points? You can ask to trade from 50,000 to 200,000 points for an equal amount in GP! You can only do this once per week.");
  487. break;
  488.  
  489. case "!welcome":
  490. client.say(channel, "Welcome to my channel. There isn't a clear schedule as to what I do so expect something different every once in a while. Consider dropping a follow if you enjoy the stream!");
  491. break;
  492.  
  493. case "!today":
  494. client.say(channel, "Todays drops: Long Bone (Troll)");
  495. break;
  496.  
  497. case "!goals":
  498. client.say(channel, "My current goals for the account are: all stats to level 60, base 75 combat stats, 70 slayer.");
  499. break;
  500.  
  501. case "!yesterday":
  502. client.say(channel, "Yesterdays drops: None");
  503. break;
  504. }
  505. });
  506.  
  507. function getPickaxe() { // trash, common, uncommon, rare, epic, mythical, legendary
  508. var pickaxe = {name: "", output: 0, delay: 0, rarity: "common"};
  509. var materials = ["Bronze", "Copper", "Tin", "Ghostly", "Invisible", "Runite", "Adamant", "Mithril", "Steel", "Dragon", "Mystical", "Iron", "Haunted", "Mossy", "Robotic", "Crystal", "Flame", "Ice", "Corrupted", "Blessed", "Ancient"];
  510.  
  511. pickaxe.name = materials[Math.floor(Math.random() * materials.length)] + " Pickaxe";
  512.  
  513. var rand = Math.random();
  514. if (rand >= 0 && rand < 0.5) {
  515. pickaxe.output = Math.round(Math.random() * 5) + 3;
  516. pickaxe.delay = Math.round(Math.random() * 30) + 110;
  517. pickaxe.rarity = "common";
  518. } else if (rand >= 0.5 && rand < 0.8) {
  519. pickaxe.output = Math.round(Math.random() * 8) + 3;
  520. pickaxe.delay = Math.round(Math.random() * 16) + 85;
  521. pickaxe.rarity = "uncommon";
  522. } else if (rand >= 0.8 && rand < 0.95) {
  523. pickaxe.output = Math.round(Math.random() * 11) + 3;
  524. pickaxe.delay = Math.round(Math.random() * 10) + 60;
  525. pickaxe.rarity = "rare";
  526. } else if (rand >= 0.95 && rand < 0.98) {
  527. pickaxe.output = Math.round(Math.random() * 15) + 5;
  528. pickaxe.delay = Math.round(Math.random() * 7) + 40;
  529. pickaxe.rarity = "epic";
  530. } else if (rand >= 0.98 && rand < 0.999) {
  531. pickaxe.output = Math.round(Math.random() * 23) + 5;
  532. pickaxe.delay = Math.round(Math.random() * 5) + 25;
  533. pickaxe.rarity = "mythical";
  534. } else if (rand >= 0.999 && rand < 0.9999) {
  535. pickaxe.output = Math.round(Math.random() * 30) + 7;
  536. pickaxe.delay = Math.round(Math.random() * 3) + 10;
  537. pickaxe.rarity = "legendary";
  538. } else if (rand >= 0.9999 && rand <= 1) {
  539. pickaxe.output = Math.round(Math.random() * 45) + 7;
  540. pickaxe.delay = Math.round(Math.random() * 2) + 5;
  541. pickaxe.rarity = "impossible";
  542. }
  543.  
  544. return pickaxe.name + "/" + pickaxe.output + "/" + pickaxe.delay + "/" + pickaxe.rarity;
  545. }
  546.  
  547. function mine(username) {
  548. var edit = con.query('SELECT * FROM users WHERE username = ?', username,
  549. function(err, res) {
  550. if (err) log(err, "yellow");
  551. if (res.length == 1) {
  552. if (res[0].isMining == 0) {
  553. client.say(channel, username + " sets out on a mining trip, you will return with points soon.");
  554. var split = res[0].miningPickaxe.split("/");
  555. var pickaxe = {name: split[0], output: split[1], delay: split[2]};
  556.  
  557. var edit = con.query('UPDATE users SET isMining = 1 WHERE username = ?', username,
  558. function(err, res) {
  559. if (err) log(err, "yellow");
  560. timeout = setTimeout(function() {
  561. var reward = Math.floor(Math.random() * pickaxe.output) + 1;
  562. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [reward, username],
  563. function(err, res) {
  564. if (err) log(err, "yellow");
  565. client.say(channel, username + " returns from a mining adventure with a bag filled with points. (+" + reward + " points, +" + reward + " XP)");
  566. var edit = con.query('UPDATE users SET isMining = 0 WHERE username = ?', username,
  567. function(err, res) {
  568. if (err) log(err, "yellow");
  569. var edit = con.query('UPDATE users SET miningXP = miningXP + ? WHERE username = ?', [reward, username],
  570. function(err, res) {
  571. if (err) log(err, "yellow");
  572. });
  573. });
  574.  
  575. });
  576.  
  577. var event = Math.random();
  578.  
  579.  
  580. }, pickaxe.delay * 1000);
  581. });
  582. } else {
  583. client.say(channel, "You are already on a mining trip, " + username + " please wait.");
  584. }
  585. }
  586. });
  587.  
  588. con.escape();
  589. }
  590.  
  591. function gamble(amount, username) {
  592. var check = con.query('SELECT * FROM users WHERE username LIKE ?', username,
  593. function(err, res) {
  594. if (res.length == 1) {
  595. var all = res[0].points;
  596. if (amount == "all") {
  597. var edit = con.query('UPDATE users SET points = 0 WHERE username = ?', [all, username],
  598. function(err, res) {
  599. if (err) log(err, "yellow");
  600. var roll = Math.round(Math.random() * 100);
  601.  
  602. if (roll > 55 && roll != 100) {
  603. client.say(channel, username + " rolled a " + roll + ", winning " + (all * 2) + " points.");
  604. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(all * 2), username],
  605. function(err, res) {
  606. if (err) log(err, "yellow");
  607. });
  608. } else if (roll == 100) {
  609. var multiplier = Math.round(Math.random() * 4) + 1;
  610. client.say(channel, username + " rolled a 100, multiplier win x" + multiplier + " totaling " + (all * multiplier) + " points!");
  611. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(all * multiplier), username],
  612. function(err, res) {
  613. if (err) log(err, "yellow");
  614. });
  615. } else {
  616. client.say(channel, username + " rolled a " + roll + ", losing " + all + " points.");
  617. }
  618. });
  619. } else if (res[0].points >= amount) {
  620. var edit = con.query('UPDATE users SET points = points - ? WHERE username = ?', [amount, username],
  621. function(err, res) {
  622. if (err) log(err, "yellow");
  623. var roll = Math.round(Math.random() * 100);
  624.  
  625. if (roll > 55 && roll != 100) {
  626. client.say(channel, username + " rolled a " + roll + ", winning " + (amount * 2) + " points.");
  627. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(amount * 2), username],
  628. function(err, res) {
  629. if (err) log(err, "yellow");
  630. });
  631. } else if (roll == 100) {
  632. var multiplier = Math.round(Math.random() * 4) + 1;
  633. client.say(channel, username + " rolled a 100, multiplier win x" + multiplier + " totaling " + (amount * multiplier) + " points!");
  634. var edit = con.query('UPDATE users SET points = points + ? WHERE username = ?', [(amount * multiplier), username],
  635. function(err, res) {
  636. if (err) log(err, "yellow");
  637. });
  638. } else {
  639. client.say(channel, username + " rolled a " + roll + ", losing " + amount + " points.");
  640. }
  641. });
  642. } else {
  643. client.say(channel, "You don't have enough points, try !mining.");
  644. }
  645. }
  646. });
  647.  
  648. con.escape();
  649. }
  650.  
  651. function sayPoints(username) {
  652. var check = con.query('SELECT * FROM users WHERE username = ?', username,
  653. function(err, res) {
  654. if (res.length == 1) {
  655. client.say(channel, username + "'s points: " + res[0].points);
  656. }
  657. });
  658.  
  659. con.escape();
  660. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement