Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.38 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const bot = new Discord.Client();
  3. const fs = require('fs')
  4. const moment = require('moment');
  5. const mysql = require('mysql');
  6.  
  7. const con = mysql.createConnection({
  8. host: 'localhost',
  9. user: 'root',
  10. password: "",
  11. database: 'j4f_tokens',
  12. });
  13.  
  14. con.connect((err) => {
  15. // if (err) throw err;
  16. console.log('Connected to mySQL Server.');
  17. console.log('DATABASE = j4f_tokens');
  18. });
  19.  
  20. bot.login('');
  21.  
  22. let userData = JSON.parse(fs.readFileSync('Storage/userData.json', 'utf8'));
  23.  
  24. const modRole = "administrator";
  25.  
  26.  
  27. bot.on('message', message => {
  28.  
  29. let sender = message.author;
  30. let msg = message.content.toUpperCase();
  31. let prefix = '$';
  32.  
  33. if (bot.user.id === message.author.id) {return}
  34.  
  35. let userData = JSON.parse(fs.readFileSync('Storage/userData.json', 'utf8'));
  36.  
  37. if (!userData[sender.id + message.guild.id]) userData[sender.id + message.guild.id] = {}
  38. if (!userData[sender.id + message.guild.id].money) userData[sender.id + message.guild.id].money = 0;
  39. if (!userData[sender.id + message.guild.id].lastDaily) userData[sender.id + message.guild.id].lastDaily = "Not collected";
  40. if (!userData[sender.id + message.guild.id].username) userData[sender.id + message.guild.id].username = message.author.username;
  41.  
  42. if (message.content == prefix + "ping") {
  43. message.channel.sendMessage('Pong!');
  44. }
  45.  
  46. if (message.content == prefix + "give") {
  47.  
  48. if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.sendMessage("You need the role '" + modRole + "' to use this command!");
  49.  
  50. const userMention = message.mentions.users.first();
  51.  
  52. let definedUser = '';
  53. if (!userMention) {
  54. definedUser = message.author.id;
  55.  
  56.  
  57. userData[message.author.id + message.guild.id].money + 1;
  58. message.channel.sendMessage("You gave " + message.author.username + " 1 extra J4Token!");
  59.  
  60. return;
  61. } else {
  62. definedUser = firstMentioned.id;
  63. userData[firstMentioned.id + message.guild.id].money + 1;
  64. message.channel.sendMessage("You gave 1 " + definedUser + " extra J4Token!");
  65.  
  66. }
  67. }
  68. if (message.content == prefix + 'balance') {
  69. let pointsFromTokenSQL = 'SELECT points FROM tokens WHERE name = ?';
  70. const name = [message.author.id];
  71. pointsFromTokenSQL = mysql.format(pointsFromTokenSQL, name);
  72. con.query(pointsFromTokenSQL, (err, result) => {
  73. let resultJsonObj = result;
  74. console.log(resultJsonObj);
  75. console.log(resultJsonObj('points'));
  76. const pointsReturn = resultJsonObj[0].points;
  77. console.log('anything')
  78. // const points = pointsReturn.slice(0);
  79. const embed = new Discord.MessageEmbed()
  80. .setColor(0xa9ef27)
  81. .setTitle(`**Your J4Tokens ${message.author.tag.slice(0, -5)}**`)
  82. .addField('**Tokens**', (pointsReturn))
  83.  
  84. message.channel.send({embed:{
  85. fields: [ { title: "J4F Tokens:", value: resultJsonObj[0].points } ]
  86. }
  87. });
  88. });
  89. }
  90.  
  91. if (message.content == prefix + 'daily') {
  92. if (userData[sender.id + message.guild.id].lastDaily != moment().format('L')) {
  93. userData[sender.id + message.guild.id].lastDaily = moment().format('L');
  94. userData[sender.id + message.guild.id].money += 1;
  95. const pointsRandom = (Math.floor(Math.random() * 18) + 5);
  96.  
  97. let fromUserPointsSQL = 'SELECT * FROM tokens WHERE name = ?';
  98. const name = [message.author.id];
  99. fromUserPointsSQL = mysql.format(fromUserPointsSQL, name);
  100.  
  101. let setPointsSQL = `UPDATE tokens SET points = points + 1 WHERE name = ?`;
  102. setPointsSQL = mysql.format(setPointsSQL, name);
  103.  
  104. con.query(fromUserPointsSQL, (err0, resultName) => {
  105. if (err0) throw err0;
  106. if (resultName.length > 0) {
  107. con.query(setPointsSQL, (err1) => {
  108. if (err1) throw err1;
  109. message.channel.sendMessage({embed:{
  110. title:"Daily Token",
  111. color: 0xa9ef27,
  112. description:"You received a shiny golden j4token. (We added it to your account!)"
  113. }})
  114. console.log(`${message.author} got 1 points!`);
  115. if (err2) throw err2;
  116. });
  117. } else {
  118. const newUser = [
  119. [`${message.author.id}`, `${message.author.tag}`, 1],
  120. ];
  121. con.query('INSERT INTO tokens (`name`, `username`, `points`) VALUES ?', [newUser], (err3) => {
  122. if (err3) throw err3;
  123. console.log('1 record inserted');
  124. message.channel.sendMessage({embed:{
  125. title:"Daily Token",
  126. color: 0xa9ef27,
  127. description:"You received a shiny golden j4token. (We added it to your account!)"
  128. }})
  129. });
  130. }
  131. });
  132. } else {
  133. message.channel.sendMessage({embed:{
  134. title:"Daily Token",
  135. color: 0xa9ef27,
  136. description:"Mmmm... Seems like you already got your daily J4Token. Check back in " + moment().endOf('day').fromNow() + '.'
  137. }})
  138. }
  139. }
  140.  
  141. if(message.content == prefix + "global") {
  142.  
  143. var globalMoney = 0;
  144. var globalUsers = 0;
  145. var globalRichest = '';
  146. var globalRichest$ = 0;
  147.  
  148. for (var i in userData) {
  149. globalMoney += userData[i].money;
  150. globalUsers += 1;
  151. if (userData[i].money > globalRichest$) {
  152. globalRichest$ = userData[i].money;
  153. globalRichest = userData[i].username;
  154. }
  155. }
  156. message.channel.sendMessage({"embed":{
  157. title: "Global Overview.",
  158. color: 0xa9ef27,
  159. fields: [{
  160. name:"J4Tokens in existence:",
  161. value:globalMoney,
  162. inline:true
  163. }]
  164. }});
  165.  
  166. }
  167.  
  168. fs.writeFile('Storage/userData.json', JSON.stringify(userData), (err) => {
  169. // if (err) console.error(err);
  170. });
  171.  
  172. bot.on('ready', () => {
  173. console.log('Economy launched...');
  174. });
  175.  
  176. });
  177.  
  178. ERROR
  179. /////////////////////////////
  180.  
  181. C:\Users\Admin\Desktop\Discord Bot J4F>node .
  182. undefined:1
  183.  
  184.  
  185.  
  186. SyntaxError: Unexpected end of JSON input
  187. at JSON.parse (<anonymous>)
  188. at Object.<anonymous> (C:\Users\Admin\Desktop\Discord Bot J4F\index.js:22:21)
  189. at Module._compile (module.js:643:30)
  190. at Object.Module._extensions..js (module.js:654:10)
  191. at Module.load (module.js:556:32)
  192. at tryModuleLoad (module.js:499:12)
  193. at Function.Module._load (module.js:491:3)
  194. at Function.Module.runMain (module.js:684:10)
  195. at startup (bootstrap_node.js:187:16)
  196. at bootstrap_node.js:608:3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement