Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. const io = require('socket.io')(6565);
  2. const mysql = require('mysql');
  3. const SqlString = require('sqlstring');
  4.  
  5. //const setTZ = require('set-tz');
  6.  
  7. //setTZ('CET');
  8.  
  9. var isRun = false;
  10. var state = 0;
  11.  
  12. const db = mysql.createConnection({
  13. host: '127.0.0.1',
  14. user: 'root',
  15. port: 3306,
  16. password: '6buWWMz24b7f6Ji8IF'
  17. });
  18.  
  19.  
  20.  
  21. const dbList = ['deimos', 'pandora', 'telawel', 'hutena'];
  22.  
  23. const worldsRegexp = 'deimos|pandora|telawel|hutena|tarhuna|katahha';
  24.  
  25. check_fake_world = function (string) {
  26. var regexp = new RegExp('(\\b)(' + worldsRegexp + ')(\\b)','ig');
  27.  
  28. return regexp.test(string);
  29. }
  30.  
  31.  
  32. get_user_info = function (type, server, user_id, callback) {
  33. console.log(`${type} ${server} ${user_id}`);
  34.  
  35. if(type == 'games') {
  36. db.query(`USE ${server}`, (err, res) => {
  37. if(!err) {
  38. db.query('SELECT ABS(SUM(`change`)) AS `sum`, COUNT(*) AS `ile` FROM transactions WHERE `change` < 0 AND `round_id` > 0 AND `user` = ?', [user_id], (err, res, fields) => {
  39. if(!err) {
  40. callback(res);
  41. }
  42. });
  43. }
  44.  
  45. else {
  46. console.log(err);
  47. }
  48. });
  49. }
  50.  
  51. else if(type == 'match') {
  52. db.query(`USE ${server}`, (err1, res) => {
  53. if(!err1) {
  54. db.query('SELECT COUNT(user) as ammount FROM transactions WHERE user = ? AND reason = ?', [user_id, 'Wpłata'], (err2, res2) => {
  55. if(!err2) {
  56. callback(err2, res2[0].ammount);
  57. }
  58. });
  59. }
  60.  
  61. else {
  62. console.log(err);
  63. }
  64. });
  65. }
  66. }
  67.  
  68. set_status_db = function (c) {
  69. if(c == 'online') {
  70. for(let i in dbList) {
  71. db.query(`UPDATE ${dbList[i]}.CI_Settings SET withdraw_state = 1`);
  72. db.query(`UPDATE ${dbList[i]}.CI_Settings SET deposit_state = 1`);
  73. }
  74. }
  75.  
  76. else {
  77. for(let i in dbList) {
  78. db.query(`UPDATE ${dbList[i]}.CI_Settings SET withdraw_state = 0`);
  79. db.query(`UPDATE ${dbList[i]}.CI_Settings SET deposit_state' = 0`);
  80. }
  81. }
  82. }
  83.  
  84. /*
  85. addValute = function (server, id, val) {
  86. db.query(`USE ${server}`, (err, res) => {
  87. if(!err) {
  88. db.query(`UPDATE CI_User SET coins = coins + ${val} WHERE id = ? LIMIT 1`, [id], (err, res, fields) => {
  89. if(!err) {
  90. console.log('Dodaje logi.');
  91. add_logs(server, 'wplata', val, id);
  92. }
  93. });
  94. }
  95.  
  96. else {
  97. console.log(err);
  98. }
  99. });
  100. }
  101. */
  102.  
  103. add_logs = function (server, type, ammount, user_id) {
  104. db.query(`USE ${server}`, (err, res) => {
  105. if(!err) {
  106.  
  107. if(type == 'wplata') {
  108. db.query('INSERT INTO `transactions` (`user`, `change`, `reason`) VALUES(?, ?, ?)', [user_id, ammount, 'Wpłata'], (err2, res2) => {
  109. if(!err2) {
  110. console.log(res);
  111. }
  112.  
  113. else {
  114. console.log(err2);
  115. }
  116. });
  117. }
  118.  
  119. else if(type == 'wyplata') {
  120. db.query('INSERT INTO `transactions` (`user`, `change`, `reason`) VALUES(?, -1 * ABS(?), ?)', [user_id, ammount, 'Wypłata'], (err2, res2) => {
  121. if(!err2) {
  122. console.log(res);
  123. }
  124.  
  125. else {
  126. console.log(err2);
  127. }
  128. });
  129. }
  130.  
  131. }
  132. });
  133. }
  134.  
  135. /*
  136. MinusUserValute = function (server, val, user_id) {
  137. db.query(`USE ${server}`, (err, res) => {
  138. if(!err) {
  139. db.query(`UPDATE CI_User SET coins = coins - ${val} WHERE id = ?`, [user_id], (err, res, fields) => {
  140. add_logs(server, 'wyplata', val, user_id);
  141. });
  142. }
  143.  
  144. else {
  145. console.log(err);
  146. }
  147. });
  148. } */
  149.  
  150. exchange = function (server, pin, val, id, nick, socket) {
  151. db.query(`USE ${server}`, (err, res) => {
  152. if(!err) {
  153. db.query(`SELECT id, coins FROM CI_User WHERE mypin = ? AND id = ?`, [pin, id], (err, res, fields) => {
  154. if(!err) {
  155. if(res.length > 0) {
  156. if(res[0].coins >= val) {
  157. // MinusUserValute(server, val, id);
  158. add_logs(server, 'wyplata', val, id);
  159.  
  160. socket.emit('exchange', {
  161. nick: nick,
  162. val: val
  163. });
  164.  
  165. }
  166. }
  167. }
  168. });
  169. }
  170. })
  171. }
  172.  
  173. io.sockets.on('connection', (socket) => {
  174.  
  175. socket.emit('bot status', isRun);
  176.  
  177. socket.on('add valute', (data) => {
  178.  
  179. if(typeof data.server != 'undefined' && typeof data.id != 'undefined' && data.val != 'undefined' && typeof data.val == 'number' && check_fake_world(data.server)) {
  180. db.query(`USE ${data.server}`, (err, res) => {
  181. if(!err) {
  182. if(data.val >= 1000000 && data.val <= 1000000000) {
  183. add_logs(data.server, 'wplata', data.val, data.id);
  184. }
  185.  
  186. else {
  187. console.log('Gracz chcę za mało wpłacić!');
  188. }
  189. }
  190. });
  191. }
  192. });
  193.  
  194. socket.on('exchange', (data) => {
  195. get_user_info('games', data.server, data.user_id, (res) => {
  196. if(res[0].ile >= 8) {
  197.  
  198. get_user_info('match', data.server, data.user_id, (err2, ammount) => {
  199. if(ammount >= 1) {
  200.  
  201. if(typeof data.server != 'undefined' && typeof data.val != 'undefined' && data.pin != 'undefined' && data.user_id != 'undefined' && typeof data.server != 'undefined' && check_fake_world(data.server)) {
  202. exchange(data.server, data.pin, data.val, data.user_id, data.nick, socket);
  203. }
  204. }
  205.  
  206. else {
  207. console.log('Za mało wpłat.');
  208. }
  209.  
  210. });
  211. }
  212.  
  213. else {
  214. console.log('Za mało rozegrał meczy!');
  215. }
  216. });
  217. });
  218.  
  219. socket.on('update bot state', (res) => {
  220. state = res;
  221. });
  222.  
  223. socket.on('get bot state', (res) => {
  224. socket.emit('bot state', state);
  225. });
  226.  
  227.  
  228. socket.on('set bot status', (res) => {
  229. if(res == 'online') {
  230. isRun = true;
  231. // set_status_db('online');
  232. socket.emit('message', 'Bot uruchomiony.');
  233. }
  234.  
  235. else if(res == 'offline') {
  236. isRun = false;
  237. state = 0;
  238. //set_status_db('offline');
  239. socket.emit('message', 'Bot Wyłączony.');
  240. }
  241. });
  242. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement