Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js');
- const bot = new Discord.Client();
- const fs = require('fs')
- const moment = require('moment');
- const mysql = require('mysql');
- const con = mysql.createConnection({
- host: 'localhost',
- user: 'root',
- password: "",
- database: 'j4f_tokens',
- });
- con.connect((err) => {
- if (err) throw err;
- console.log('Connected to mySQL Server.');
- console.log('DATABASE = j4f_tokens');
- });
- bot.login('MyID');
- require('events').EventEmitter.defaultMaxListeners = 150;
- let userData = JSON.parse(fs.readFileSync('Storage/userData.json', 'utf8'));
- const modRole = "administrator";
- bot.on('message', message => {
- let sender = message.author;
- let msg = message.content.toUpperCase();
- let prefix = '$';
- if (bot.user.id === message.author.id) {return}
- let userData = JSON.parse(fs.readFileSync('Storage/userData.json', 'utf8'));
- if (!userData[sender.id + message.guild.id]) userData[sender.id + message.guild.id] = {}
- if (!userData[sender.id + message.guild.id].money) userData[sender.id + message.guild.id].money = 0;
- if (!userData[sender.id + message.guild.id].lastDaily) userData[sender.id + message.guild.id].lastDaily = "Not collected";
- if (!userData[sender.id + message.guild.id].username) userData[sender.id + message.guild.id].username = message.author.username;
- if (message.content == prefix + "ping") {
- message.channel.sendMessage('Pong!');
- }
- if (message.content == prefix + "give") {
- if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.sendMessage("You need the role '" + modRole + "' to use this command!");
- const userMention = message.mentions.users.first();
- let definedUser = '';
- if (!userMention) {
- definedUser = message.author.id;
- userData[message.author.id + message.guild.id].money + 1;
- message.channel.sendMessage("You gave " + message.author.username + " 1 extra J4Token!");
- return;
- } else {
- definedUser = firstMentioned.id;
- userData[firstMentioned.id + message.guild.id].money + 1;
- message.channel.sendMessage("You gave 1 " + definedUser + " extra J4Token!");
- }
- }
- if (message.content == prefix + 'balance'){
- message.channel.sendMessage({"embed":{
- title: "J4Tokens",
- color: 0xa9ef27,
- fields: [{
- name:"Player",
- value:message.author.username,
- inline:true
- },
- {
- name:"J4Tokens",
- value:userData[sender.id + message.guild.id].money,
- inline:true
- }]
- }});
- }
- if (message.content == prefix + 'daily') {
- if (userData[sender.id + message.guild.id].lastDaily != moment().format('L')) {
- userData[sender.id + message.guild.id].lastDaily = moment().format('L');
- userData[sender.id + message.guild.id].money += 1;
- const pointsRandom = (Math.floor(Math.random() * 18) + 5);
- let fromUserPointsSQL = 'SELECT * FROM tokens WHERE name = ?';
- const name = [message.author.id];
- fromUserPointsSQL = mysql.format(fromUserPointsSQL, name);
- let setPointsSQL = `UPDATE tokens SET points = points + 1 WHERE name = ?`;
- setPointsSQL = mysql.format(setPointsSQL, name);
- con.query(fromUserPointsSQL, (err0, resultName) => {
- if (err0) throw err0;
- if (resultName.length > 0) {
- con.query(setPointsSQL, (err1) => {
- if (err1) throw err1;
- message.channel.sendMessage({embed:{
- title:"Daily Token",
- color: 0xa9ef27,
- description:"You received a shiny golden j4token. (We added it to your account!)"
- }})
- console.log(`${message.author} got 1 points!`);
- if (err2) throw err2;
- });
- } else {
- const newUser = [
- [`${message.author.id}`, `${message.author.tag}`, 1],
- ];
- con.query('INSERT INTO tokens (`name`, `username`, `points`) VALUES ?', [newUser], (err3) => {
- if (err3) throw err3;
- console.log('1 record inserted');
- message.channel.sendMessage({embed:{
- title:"Daily Token",
- color: 0xa9ef27,
- description:"You received a shiny golden j4token. (We added it to your account!)"
- }})
- });
- }
- });
- } else {
- message.channel.sendMessage({embed:{
- title:"Daily Token",
- color: 0xa9ef27,
- description:"Mmmm... Seems like you already got your daily J4Token. Check back in " + moment().endOf('day').fromNow() + '.'
- }})
- }
- }
- if(message.content == prefix + "global") {
- var globalMoney = 0;
- var globalUsers = 0;
- var globalRichest = '';
- var globalRichest$ = 0;
- for (var i in userData) {
- globalMoney += userData[i].money;
- globalUsers += 1;
- if (userData[i].money > globalRichest$) {
- globalRichest$ = userData[i].money;
- globalRichest = userData[i].username;
- }
- }
- message.channel.sendMessage({"embed":{
- title: "Global Overview.",
- color: 0xa9ef27,
- fields: [{
- name:"J4Tokens in existence:",
- value:globalMoney,
- inline:true
- }]
- }});
- }
- fs.writeFile('Storage/userData.json', JSON.stringify(userData), (err) => {
- if (err) console.error(err);
- });
- bot.on('ready', () => {
- console.log('Economy launched...');
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement